Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Free 0-100 score: can AI engines cite a site? Plus citation checks with your own API keys.
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, PERPLEXITY_API_KEY, GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY, GEO_SCORE_WATCH_CONFIGValues 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 …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
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 mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.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"
}
}
}
}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": {
"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"
}
}
}
}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.
GEO_SCORE_WATCH_CONFIG envThese 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 jianruntech, 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, PERPLEXITY_API_KEY, GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_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 (1.8.3) reached the registry 23 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), MCPB on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, SuperCollider
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.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
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.
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
Only the beginning is shown; read the rest in the repo