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.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント optifeed で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, PERPLEXITY_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.2)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Rystic
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
Start, seed, clock, inspect and diff Rystic API simulators from your agent.
作者のリポジトリから書かれたとおりにコピーしたものです。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
冒頭だけを表示しています。続きはリポジトリで読めます