Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
AI visibility checker: does AI recommend your brand? GEO/AEO, runs locally, BYO keys. CLI + MCP.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"optifeed-radar": {
"command": "npx",
"args": [
"-y",
"optifeed-radar"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add optifeed-radar --env OPENAI_API_KEY=your-value --env ANTHROPIC_API_KEY=your-value --env GOOGLE_API_KEY=your-value --env PERPLEXITY_API_KEY=your-value -- npx -y optifeed-radarFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"optifeed-radar": {
"command": "npx",
"args": [
"-y",
"optifeed-radar"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"optifeed-radar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"optifeed-radar"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GOOGLE_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account optifeed, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.2) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, FactLot
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Open-source AI visibility checker. Now on npm - run it with `npx optifeed-radar`.
Is your brand recommended when buyers ask AI? Optifeed Radar checks whether the models behind ChatGPT, Perplexity, Gemini and Claude actually recommend you, and tells you where you stand against competitors. It runs locally, uses your own API keys, and has no Optifeed-hosted backend.
It is built for two kinds of AI agents at once: it measures how AI agents see and recommend you, and it can be run by your own AI agents (CLI, JSON, and an MCP server). People also call this AI visibility, generative engine optimization (GEO), answer engine optimization (AEO), or AI-SEO.
No install needed - npx fetches and runs it. The zero-key audit runs end to end with no API keys and no AI calls:
npx optifeed-radar audit yourbrand.com
It checks AI-crawler access (robots.txt), llms.txt, schema.org structured data, meta basics, and your sitemap, then prints a 0-100 AI-readiness score.
The check pipeline runs once you set at least one engine API key. Put it in a .env file in the directory you run from, or export it:
echo "OPENAI_API_KEY=sk-..." > .env # any one engine key gets you started
npx optifeed-radar check yourbrand.com
The CLI loads .env from the directory you run it in, so there is no shell setup step. Exporting the keys works too (export OPENAI_API_KEY=...), and an exported key always wins over the same key in .env. config shows which keys were found and which file they came from, never the values.
It discovers your brand, generates a buyer-prompt pack, asks the engines, and scores recommendation, position, and share of voice into one AI Visibility Score. The score reads only the unbranded buyer questions (did the AI surface you unprompted); questions that name your brand are reported separately as reputation. All four engines are verified live against their production APIs (2026-07-20).
Working from a clone instead? Run npx tsx src/cli/index.ts so flags reach the CLI unchanged, or use the npm run dev script with -- before the arguments (npm run dev -- check yourbrand.com --report out.html).
Radar also ships as an open Agent Skill for Codex, Claude Code, Cursor, and other compatible AI agents. Install it directly from this repository:
npx skills add optifeed/optifeed-radar --skill optifeed-radar
Add -g to make it available across your projects. Then ask, for example:
Use $optifeed-radar to run the free AI-readiness audit on yourbrand.com,
explain the three highest-impact findings, and do not start a paid check.
The MCP server supplies executable tools. The Agent Skill supplies the working method around them: start with the zero-key audit, confirm scope and cost before paid engine calls, use a cap, and report sampling limits with the result. The skill can also drive the CLI when MCP is not configured.
The Claude plugin bundles the same skill and starts Radar's MCP server from the published npm package. In Claude Code, run:
/plugin marketplace add https://github.com/optifeed/optifeed-radar.git
/plugin install optifeed-radar@optifeed
Restart Claude Code or run /reload-plugins, then invoke /optifeed-radar:optifeed-radar or ask Claude to audit a domain in plain language. Node 20 or newer is required. The free audit needs no provider keys; paid visibility checks use provider keys from Claude Code's environment.
The standalone skill and Claude plugin do not create a public ChatGPT app. ChatGPT support will be marketed separately after Radar is packaged and tested against OpenAI's plugin and MCP distribution route.
Run a full visibility check from the terminal, from brand discovery and buyer prompt generation through live engine queries and scoring.
Watch the 15-second CLI demo
Optifeed Radar asks real AI engines real buyer questions and measures whether your brand gets recommended - not whether you rank in a search index, but whether the answer an AI gives a buyer names you. Grounded engines (which cite web sources) are reported separately from parametric ones (which answer from model weights alone), because they behave differently. An engine counts as grounded only for the answers where it actually searched: asking for grounded mode is a request a model can decline, so the report says when an engine searched on only some of its answers. METHODOLOGY.md has the formula.
The questions match what you sell. If you make your own products, buyers are asked what to buy and you are measured against rival makers. If you are a shop selling other companies' products, buyers are asked where to buy and you are measured against rival shops - product questions get answered with manufacturers, so scoring a shop on them reports a zero that says nothing about the shop. The tool works this out from your site and stores it as businessType in profile.json; edit it if it guessed wrong.
One level down, shopping does the same thing for individual products you name (beta). Each product gets its own 0-100 visibility score, and the report is ordered by what the engines did: any product they answered about but never recommended leads, since that is the finding worth reading, then the rest by visibility, and last anything the run could not measure at all. The order you list your products in carries no ranking meaning; it only breaks ties between identical scores. Each product is checked twice over - category buying questions that never name it, and questions that do - and when a product is absent the report leads with the rival products the engines named instead, which is the more useful half of a zero. Because every product is asked its own questions, the scores say how decisively each one wins its own shelf, not that one product beats another. You name the products; nothing is imported or crawled.
The optifeed-mcp server exposes the same capability to AI agents. It runs over stdio, and npx fetches it on demand - no clone or build needed.
Claude Desktop (claude_desktop_config.json). The fastest way to open it is Settings -> Developer -> Edit Config, which creates the file if it does not exist yet. On disk it lives at:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "optifeed-radar": { "command": "npx", "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"], "env": { "OPENAI_API_KEY": "sk-..." } } } }
Claude Desktop reads that file at startup, so quit and reopen it after editing.
Claude Code (.mcp.json in your project):
{
"mcpServers": { "optifeed-radar": { "command": "npx", "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"] } } }
Cursor (.cursor/mcp.json) and Windsurf (mcp_config.json) use the same shape:
{
"mcpServers": { "optifeed-radar": { "command": "npx", "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"] } } }
Working from a clone instead? Build first (npm install && npm run build), then run the server with node pointed at the built entrypoint - replace /path/to/optifeed-radar with your clone path:
{
"mcpServers": { "optifeed-radar": { "command": "node", "args": ["/path/to/optifeed-radar/dist/mcp/index.js"] } } }
Once it is connected, ask your AI agent in plain language. These map onto the five tools and the arguments they accept:
audit_store, no keys, no cost.generate_buyer_queries, so you can review the pack before paying for a run.check_visibility with quick and max_cost.check_visibility with engines.shopping_check. Input order is not a ranking; it only breaks ties between products with identical scores.shopping_check with a descriptor per product and max_cost. Saying what each product IS is what rescues an opaque model name: without it the questions are guessed from the store category.get_snapshot_diff, free, and it needs two saved runs before it can compare.Start with the audit prompt: it needs no keys, so it confirms the server is wired up before anything spends API credit. check_visibility runs non-interactively (no confirmation prompt over MCP), so the max_cost cap is what bounds a run your AI agent starts - it defaults to $0.50. shopping_check is bigger, so its default cap scales with the list, at $0.20 per product you name.
| Surface | Name | What it does | Cost |
|---|---|---|---|
| CLI | audit | Zero-key AI-readiness check (robots, llms.txt, schema, sitemap) | Free, no AI calls |
| CLI | check | Full pipeline: buyer prompts, engines, AI Visibility Score | BYO keys |
| CLI | shopping | Products you name: your ranking vs AI's, and the rival shelf | BYO keys |
| CLI | diff | What changed between your last two runs | Free (reads a saved snapshot) |
| CLI | sources | Domains the AI cited, and your share of voice | Free (reads a saved snapshot) |
| CLI | queries | Show or export your buyer-prompt pack | Free
Only the beginning is shown; read the rest in the repo