Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
AI visibility checker: does AI recommend your brand? GEO/AEO, runs locally, BYO keys. CLI + MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 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"
}
}
}
}在终端中运行这条命令
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-radar运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 optifeed 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.2)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Reelsaw
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
只显示了开头部分;其余内容请在仓库中阅读