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.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
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, AvaHR
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요