Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Free 0-100 score: can AI engines cite a site? Plus citation checks with your own API keys.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
OPENAI_API_KEY, PERPLEXITY_API_KEY, GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY, GEO_SCORE_WATCH_CONFIG「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
claude mcp add geo-score --env OPENAI_API_KEY=your-value --env PERPLEXITY_API_KEY=your-value --env GEMINI_API_KEY=your-value --env ANTHROPIC_API_KEY=your-value --env OPENROUTER_API_KEY=your-value --env GEO_SCORE_WATCH_CONFIG=your-value -- uvx geo-score mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"geo-score": {
"command": "uvx",
"args": [
"geo-score",
"mcp"
],
"env": {
"OPENAI_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value",
"GEMINI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"OPENROUTER_API_KEY": "your-value",
"GEO_SCORE_WATCH_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"geo-score": {
"type": "stdio",
"command": "uvx",
"args": [
"geo-score",
"mcp"
],
"env": {
"OPENAI_API_KEY": "your-value",
"PERPLEXITY_API_KEY": "your-value",
"GEMINI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"OPENROUTER_API_KEY": "your-value",
"GEO_SCORE_WATCH_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GEO_SCORE_WATCH_CONFIG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント jianruntech で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:OPENAI_API_KEY, PERPLEXITY_API_KEY, GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.8.3)がレジストリに届いたのは23 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv), MCPBも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Tools MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
English · 简体中文
geo-score is an open-source AI visibility (GEO) scorer for websites, by Jianrun Tech (见润科技). Formerly geo-watch: geo-watch merged into geo-score in 1.2.0 and lives on as its levels 2 and 3. Website, docs and a free online check: geo-score.dev.
One command, a 0–100 score, the three gates, the gaps worth fixing first, and why every point can be re-checked.
https://github.com/user-attachments/assets/2270314f-446a-4c2d-b27f-11e1f6d66ff8
*English · 60 seconds · Chinese version*
Can AI engines cite your site? A free 0–100 score from one command. Do they? Check through their APIs with your own keys.
geo-score scores a website from 0 to 100 on whether AI answer engines can reach it, parse it, trust it and cite it, against a published, versioned rubric that anyone can recompute. Then, with your own API keys, it asks the engines the questions your buyers ask and records whom the answers cite. The score is free and needs nothing installed; the citation results are reported beside it and never added to it.
Quick start · Screenshots · What it checks · How accurate is it? · Docs · Website · Changelog · Public leaderboard
Version: the current release is
geo-score==1.8.3on PyPI, with its tag,
wheel and checksums on GitHub Releases; what changed is in the
changelog. Every install line on this page is pinned to that release (
scripts/release.py --bump
moves them together), so the tool you run is the one these pages describe. The rubric is versioned separately, and
v1.1 is current. main can run ahead of the release: for CI and client work, use the pinned release.
Want to appear here? · Sponsorship never affects the rubric, any score, the public
leaderboard or the technical recommendations in these docs.
Click to collapse
Thanks to CCSub for sponsoring this project! CCSub is an AI API relay platform: one API key for Claude, GPT, Gemini and DeepSeek models, compatible with Claude Code, Codex, Cursor and other coding tools. Register via this link .
Sponsors have not been tested for geo-score's citation measurements (levels 2 and 3). Those need each engine's own search-enabled API, and a relay may not pass web search and citations through unchanged.
GEO means Generative Engine Optimization — getting cited by ChatGPT, Perplexity,
Google AI Overviews, Gemini and Copilot. Nothing to do with geography or maps.
An answer engine quotes passages from sources it can reach, parse and trust. The reasons a site is left out are often small and invisible from a browser: a robots.txt line that turns a retrieval crawler away, a page whose text only exists after JavaScript runs, figures with no source. geo-score finds which of these a site has and what each one is worth, then checks whether the engines cite it, in three levels:
Score (free, no key) → Ask one question (your API keys) → Watch a question set every week (your API keys).
| Level | What it answers | Needs | Command |
|---|---|---|---|
| 1 · Score | Can AI engines reach, parse, trust and cite the site? 0–100 against the open rubric | Nothing: no key, no install | geo_score.py stripe.com |
| 2 · Ask | Right now, for a question you care about, do they cite it? | An API key for any of OpenAI, Perplexity, Gemini, Anthropic, OpenRouter | geo_score.py stripe.com --ask "payments API for marketplaces" |
| 3 · Watch | How often are you cited, against which competitors and sources, week over week? | Your API keys and a fixed question list | geo_score.py watch run |
flowchart LR
S[Your site] --> L1["Level 1 · Score free, no key"] L1 --> R["0–100 readiness 5 pillars · 3 gates · biggest gaps"] Q[Questions your buyers ask] --> L2["Level 2 · Ask one question, your API keys"] Q --> L3["Level 3 · Watch a fixed question set, every week"] L2 --> C["Who the answers cite you · competitors · third-party pages"] L3 --> C R -. reported side by side, never summed .- C
Level 1 is the score. Levels 2 and 3 measure the outcome the rubric keeps out of the score on purpose (two scores, never one): they are reported next to the 100 and never summed into it. A site can score 90 and still lose every answer to a competitor with more third-party coverage, and the reverse also happens, which is why you want both.
Classic SEO asks *where do I rank*. Answer engines don't rank — they retrieve passages, decide whether a source is worth quoting, and cite it. Different question, different failure modes: a site can sit at position 3 on Google and never be quoted. Because engines retrieve passages, this rubric gives Content Citability the most weight. That is a design choice, not a measured effect: the evidence for how much passage shape matters is thin, and the evidence table says where.
Most of what the rubric checks is mechanical and cheap to fix — a robots.txt line, a JSON-LD block, a date in a template, a paragraph rewritten so it stands on its own. The hard part is knowing which of them you are missing, and what each one is worth.
Two guides start here: can ChatGPT read your website?, a check you can do by hand and then with geo-score, and how geo-score differs from a general AI SEO skill.
Every image shows real output, captured for this page.
Level 1 in a terminal. geo_score.py jianruntech.com (the maintainer's own site), run with geo-score 1.8.3 on 2026-10-17; the output with its colours, rendered to an image. Cut before the observations outside the score.
The GitHub Action's job summary for the same report: the Markdown action/summary.py writes, rendered by GitHub's Markdown API. Cut after the check table.
The public leaderboard , captured 2026-10-17. Its figures come from the 2026-10-02 run with geo-score 1.5.0.
Every site on the leaderboard , sortable, with its band, sector and three biggest gaps by check id. Same page, same capture.
| Capability | What it does | More |
|---|---|---|
| Score (level 1) | 21 tiered checks in five pillars, three gates, the biggest gaps first, and what each next tier needs. One file, standard library only, no key | What it checks |
| Ask (level 2) | Puts one question to ChatGPT, Perplexity, Gemini and Claude through their search-enabled APIs, with your keys, and reports whom each answer cites | Levels 2 and 3 |
| Watch (level 3) | A fixed question set, week over week: cited rate with a 95% interval, share of voice, the sources the engines lean on, and a diff that calls a change a change only when a paired test says so | Watch methodology |
| Reports and diffs | Text, JSON against a published schema, SARIF and JUnit; diff compares two reports check by check, and --baseline re-scores the same pages | CLI reference |
| MCP server | All three levels as tools for agents over stdio; --read-only gives a server that cannot spend | MCP server · guide/mcp.md |
| GitHub Action | Scores on every push, fails the build on a regression or a gate at zero, and writes a job summary | GitHub Action · action.yml |
| Badge | An optional SVG, or shields.io endpoint JSON, with your score and band. It never moves a score or a leaderboard place | Badge |
| Claude Code skill | The CLI, plus the three checks that need off-site search or human judgement | Claude Code skill · SKILL.md |
21 tiered checks totalling 100 points, plus 4 bonus checks worth up to +6 outside the denominator. Full specification: [rubric/v1.1.md](rubric/v1.1.md) · 简体中文
| Pillar | Pts | Asks |
|---|---|---|
| Reachable — *gates* | 15 | Can a retrieval crawler get the page at all? robots.txt, live reachability across 10 AI user-agents, server-rendered content |
| Understandable | 22 | Can it tell what the page and the company are? Organization + WebSite, llms.txt, sitemap, breadcrumbs, page-type schema |
| Content Citability | 35 | Is there anything here worth quoting? Self-contained answer passages, headings that match how people ask, sourced figures, real bylines, freshness |
| Brand Credibility | 18 | Why should an engine trust it? Knowledge-graph entity, third-party listings, sameAs that resolves, video presence |
| Answer Fit | 10 | Is the content shaped to be lifted into an answer? |
Content Citabil
冒頭だけを表示しています。続きはリポジトリで読めます