analyze_geo_score
Check GEO score 0–100 + breakdown for an existing domain
domain必填
io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 4, 2026
AI-crawler readiness checks and fixes: GEO score, robots.txt, schema.org, FAQ and llms.txt.
Geoscore 的本地 MCP 服务;无需登录;STDIO;5 个工具。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Can ChatGPT, Claude and Perplexity actually see your site? geoscore checks a website's readiness for AI crawlers and search — its GEO (Generative Engine Optimization) — and hands back the fixes as copy-paste assets: a robots.txt that lets the named AI crawlers in, Schema.org Organization and FAQ markup, and an llms.txt. It runs locally over stdio, needs no account and no API key.
Five tools do the work. analyze_geo_score grades an
existing domain from 0 to 100 with a per-category
breakdown. get_geo_fixes renders the repair kit for
that domain. make_site_geo_ready generates every
asset for a brand-new site in one shot from a name, a
URL and a description. suggest_monitoring_config
drafts the monitoring setup for a business — target
audiences, suggested queries, and the exact causabi.com
API calls that would apply it. get_site_report
returns a client-ready report: the full mention-rate
breakdown when you have a causabi.com share slug, or
the crawlability score on its own when you only have a
domain.
get_product_guide is
omitted. The original server ships six tools; the
sixth returns the vendor's own guide document, whose
contents are not published in any readable record,
so an honest rebuild cannot reproduce it. Only the
five tools above are built.src/geo.ts.causabi.com/report/<slug> are
public; the API path behind them
(https://causabi.com/api/v1/reports/<slug>) is this
rebuild's rendering of that behaviour.None. No environment variables, no API key. Site facts are fetched directly from the domain being checked, with a fixed 15-second per-request timeout.
analyze_geo_score — GEO score 0–100 plus a
breakdown for an existing domain. The result is a
JSON object: {domain, score, breakdown: {crawlability, robots, visibility, schema, faq, contacts, hygiene}, robots: {<crawler>: "allowed" | "blocked"}, facts: {home_status, has_llms_txt, has_json_ld}}. The eight crawlers tracked are
GPTBot, ClaudeBot, PerplexityBot, ChatGPT-User,
Claude-User, OAI-SearchBot, Google-Extended and
CCBot. If the home page cannot be fetched at all the
tool fails with site unreachable: <domain>; a
reachable page with an HTTP error status is scored,
not fatal.get_geo_fixes — the copy-paste fixes for a
domain, as a markdown document with four sections:
a robots.txt block allowing every named AI crawler
(listing any the current robots.txt blocks), an
Organization JSON-LD template filled with the site's
title when discoverable, a FAQPage JSON-LD skeleton,
and an llms.txt skeleton.make_site_geo_ready — all GEO assets for a new
site in one shot (no API key needed). Takes name,
url and description, plus optional services
(array of strings), email, and faq (array of
{question, answer}). Returns one document:
Organization JSON-LD, a FAQPage JSON-LD block when
faq is given, an llms.txt body (with a Services
list when given), and a robots.txt allowing the
named AI crawlers. Fully local — it never fetches.suggest_monitoring_config — draft a monitoring
config from business_name and
business_description, with an optional location.
Returns JSON: {business_name, location, audiences, suggested_queries, apply_calls}, where
apply_calls holds the two calls that apply the
config on causabi.com —
PUT https://causabi.com/api/v1/monitor/{site_id}/settings
and PUT https://causabi.com/api/v1/monitor/{site_id}/queries
— with the {site_id} placeholder. This tool itself
makes no API call.get_site_report — pass report_slug for the full
AI mention-rate breakdown (no API key needed), or
just domain for a crawlability-score-only summary:
the analyze_geo_score JSON plus a note field
explaining how to get the full report. One of the
two arguments is required.Each subcommand takes one JSON argument string and prints the tool's result text. Exit codes: 0 success, 1 tool error, 2 usage error.
MCP client config:
MIT — see LICENSE (Copyright (c) 2026 Rene Turcios).
来源:README.md,提交 79e037c
Check GEO score 0–100 + breakdown for an existing domain
domain必填Get copy-paste robots.txt, Schema.org, FAQ, and llms.txt fixes
domain必填Generate all GEO assets for a new site in one shot (no API key needed)
faqurl必填name必填emailservicesdescription必填Draft a monitoring config (target audiences, location, suggested queries) from a business description — returns JSON plus the API calls to apply it on causabi.com
locationbusiness_name必填business_description必填Client-ready report: pass `report_slug` for the full AI mention-rate breakdown (no API key needed), or just `domain` for a crawlability-score-only summary
domainreport_slug已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
npx @reneturcios/geoscore analyze_geo_score '{"domain":"example.com"}'npx @reneturcios/geoscore get_geo_fixes '{"domain":"example.com"}'npx @reneturcios/geoscore make_site_geo_ready '{"name":"Acme Corp","url":"https://acme.com","description":"We help small businesses grow."}'npx @reneturcios/geoscore suggest_monitoring_config '{"business_name":"Bright Smiles Dental","business_description":"A family dental clinic.","location":"Austin, TX"}'npx @reneturcios/geoscore get_site_report '{"report_slug":"abc123"}'npx @reneturcios/geoscore --versionnpx -y @reneturcios/geoscore mcp{ "mcpServers": { "geoscore": { "command": "npx", "args": ["-y", "@reneturcios/geoscore", "mcp"] } }}docker run -i ghcr.io/cloudcorprecords/geoscore # stdio MCP server (CMD defaults to "mcp")docker run --rm ghcr.io/cloudcorprecords/geoscore analyze_geo_score '{"domain":"example.com"}' # CLI via containernpm installnpm run build # tsc -> dist/ (dist/cli.js is the bin)npm test # tsx --test test/*.test.ts — fixture-based, no networknpm run dev # tsx src/cli.ts — run the CLI from source