Search / site.aeogeo/aeogeo
aeogeo
R0· no sign-inDeterministic AEO/GEO checks and a source-cited rulebook for AI search, for your agent.
v1.0.1 · active · repository · website · descriptor JSON · versions
Search / site.aeogeo/aeogeo
R0· no sign-inDeterministic AEO/GEO checks and a source-cited rulebook for AI search, for your agent.
v1.0.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"aeogeo": {
"type": "http",
"url": "https://mcp.aeogeo.site",
"headers": {
"Authorization": "Bearer ${AEOGEO_TOKEN}"
}
}
}
}claude mcp add --transport http aeogeo https://mcp.aeogeo.site --header "Authorization: Bearer ${AEOGEO_TOKEN}"[mcp_servers.aeogeo]
url = "https://mcp.aeogeo.site"
bearer_token_env_var = "AEOGEO_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aeogeo": {
"type": "remote",
"url": "https://mcp.aeogeo.site",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:AEOGEO_TOKEN}"
}
}
}
}{
"mcpServers": {
"aeogeo": {
"type": "http",
"url": "https://mcp.aeogeo.site",
"headers": {
"Authorization": "Bearer ${AEOGEO_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=aeogeo&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmFlb2dlby5zaXRlIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7QUVPR0VPX1RPS0VOfSJ9fQ%3D%3D"
}{
"servers": {
"aeogeo": {
"type": "http",
"url": "https://mcp.aeogeo.site",
"headers": {
"Authorization": "Bearer ${AEOGEO_TOKEN}"
}
}
}
}{
"mcpServers": {
"aeogeo": {
"httpUrl": "https://mcp.aeogeo.site",
"headers": {
"Authorization": "Bearer ${AEOGEO_TOKEN}"
}
}
}
}extensions:
"aeogeo":
enabled: true
name: "aeogeo"
type: streamable_http
uri: "https://mcp.aeogeo.site"
headers:
"Authorization": "Bearer ${AEOGEO_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${AEOGEO_TOKEN}. The registry never accepts secret values.
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prmauth.as_metadataauth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changesstability.rug_pullstability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableexport_reportchangedtitle, annotationsget_hook_snippetchangedtitle, annotationsfetch_sample_ruleschangedtitle, annotationslist_categorieschangedtitle, annotationsscan_urlchangedtitle, description, annotationsRun this on your own domain first: run the AI-search hygiene checks on a public URL. A grade is not a citation and does not measure AI mentions. Free callers get per-group grades plus every failed fundamental (readiness levels L0-L3) with how to fix it; Pro/Team callers also get rule IDs, severity and evidence for every check, plus a work list. Do the highest weight first. propose is always true: draft the change, a person applies it. Free results may be cached for up to an hour; keyed scans always fetch the page fresh. Batched callers pass detail=failures to drop passing checks. A page whose robots.txt disallows it for aeogeo-scanner is not fetched (blocked_url). A scan is step 1 of an audit, not the audit. Before you report on a page: (1) fetch the rules behind every failed check and every judge: agent check with fetch_rules or search_rules; (2) read the page's actual copy and judge it yourself against those rules (claims supported, sources real, answers the query, fits the page genre, false positives); (3) report engine defects, agent semantic findings and evidence confidence separately. Say plainly if you skipped the semantic pass. Use when: The page is already public and you want the bytes a crawler receives. Avoid when: The draft is only local. Use lint_html for HTML, lint_text for markdown, or audit_schema for JSON-LD. content_type is an argument on those tools and on scan_url, not a separate tool. Do not claim: A grade or a pass is not a citation. The check says the page matches the rulebook. Verify: Deploy the edit, then call scan_url again. A keyed scan fetches fresh. judge: engine — trust the pass/fail from the deterministic check (access, rendering, and mechanical structure). judge: agent — your agent re-reads the rule text and decides; the label comes from the deterministic judgeForCheck mapping, not an LLM on our side.
Run the AI-search hygiene checks on a public URL. A grade is not a citation and does not measure AI mentions. Free callers get per-group grades plus every failed fundamental (readiness levels L0-L3) with how to fix it; Pro/Team callers also get rule IDs, severity and evidence for every check, plus a work list ordered by weight. propose is always true: each fix is a proposal for a person to apply. Free results may be cached for up to an hour; keyed scans always fetch the page fresh. Batched callers pass detail=failures to drop passing checks. A page whose robots.txt disallows it for aeogeo-scanner is not fetched (blocked_url). The checks cover technical readiness only; each result says what a full audit adds in semantic_review (guidance.semantic_review on keyed page scans). Use when: The page is already public and you want the bytes a crawler receives. Avoid when: The draft is only local. Use lint_html for HTML, lint_text for markdown, or audit_schema for JSON-LD. content_type is an argument on those tools and on scan_url, not a separate tool. Do not claim: A grade or a pass is not a citation. The check says the page matches the rulebook. Verify: Deploy the edit, then call scan_url again. A keyed scan fetches fresh. judge: engine — trust the pass/fail from the deterministic check (access, rendering, and mechanical structure). judge: agent — your agent re-reads the rule text and decides; the label comes from the deterministic judgeForCheck mapping, not an LLM on our side.
plan_auditchangedtitle, description, annotationsStart here for any audit or research task. Give your goal, the target and your limits; get back an ordered list of aeogeo tool calls with the quota each costs, which steps are semantic (judge: agent), what was deferred to fit your budget, your tier's daily limits, and the semantic-review rubric for the page type. Deterministic: no inference, no fetch, same input gives the same plan. The semantic review and report steps are never dropped to fit a budget. Use when: You are about to audit a page, a draft or a site, or answer a research question, and want the right calls for your goal, effort and remaining quota. Avoid when: You already know the single tool you need, such as scan_url on one URL. Do not claim: A plan is not a finding. Nothing was scanned or evaluated. Verify: Run the steps in order; the semantic review step is yours to do.
Plan an audit or a research task. Give your goal, the target and your limits; get back an ordered list of aeogeo tool calls with the quota each costs, which steps are semantic (judge: agent), what was deferred to fit your budget, your tier's daily limits, and the semantic-review rubric for the page type. Deterministic: no inference, no fetch, same input gives the same plan. The semantic review and report steps are never dropped to fit a budget. Use when: You are about to audit a page, a draft or a site, or answer a research question, and want the right calls for your goal, effort and remaining quota. Avoid when: You already know the single tool you need, such as scan_url on one URL. Do not claim: A plan is not a finding. Nothing was scanned or evaluated. Verify: Run the steps in order; the semantic review step is yours to do.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-93% +updated-4d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.aeogeo.site streamable-http | none | yes | 93% | 574 ms | 2025-11-25 | 2026-11-14 |
https://mcp.aeogeo.site/mcp streamable-http | oauth2 AS: https://mcp.aeogeo.site | yes | 93% | 547 ms | – | 2026-11-14 |
export_report | Create a private, shareable static report link for 1-2 public URLs. The report is rendered from the same scan output as scan_url — free callers get the aggregate report, Pro/Team callers get the detailed one — and the link works in any browser without an API key. Compare mode puts two URLs side by side; keyed reports add a per-rule delta. Use when: You want a link to paste into Slack, docs, email, or a pull request so a person (or link-preview bot) can read the scan without the API key. Avoid when: You need the raw scan result right now. Use scan_url and keep the JSON in context. Do not claim: A report is a snapshot of one scan — not a citation and not a live measurement. Verify: Open the returned https://aeogeo.site/r/<id> URL, or append ?format=md or ?format=json for other export formats. expires_at says when the link stops working. |
fetch_sample_rulesread-only | Fetch a stable teaser sample of up to 20 public rules (no evidence or remediation). Optionally filter by category. Use when: You have no API key and need to see what a public rule looks like. Avoid when: You have a key and need the full rule. Use fetch_rules or search_rules. Do not claim: A teaser has no remediation. It is not enough to apply the rule. Verify: This is a read. Nothing on the page changes until you edit and scan or lint. |
get_hook_snippetread-only | Return a ready-to-paste snippet that hooks this rulebook into your agent: AGENTS.md instructions, Cursor rules, or a Claude Code skill. Use when: You are onboarding a repo and need the install text for that client. Avoid when: The snippet is already installed and you are checking a page. Do not claim: Installing the snippet does not scan the site. Verify: Call tools/list. A free snippet names only free tools; a keyed snippet names the lint chain. |
list_categoriesread-only | List the rulebook categories with the number of active rules in each. Use when: You need a category name before reading rules. Avoid when: You are grading a page. Use scan_url or a lint tool. Do not claim: A category count is not a coverage score for any site. Verify: Pass a name from this list to fetch_sample_rules, or to fetch_rules when you have a key. |
plan_auditread-only | Plan an audit or a research task. Give your goal, the target and your limits; get back an ordered list of aeogeo tool calls with the quota each costs, which steps are semantic (judge: agent), what was deferred to fit your budget, your tier's daily limits, and the semantic-review rubric for the page type. Deterministic: no inference, no fetch, same input gives the same plan. The semantic review and report steps are never dropped to fit a budget. Use when: You are about to audit a page, a draft or a site, or answer a research question, and want the right calls for your goal, effort and remaining quota. Avoid when: You already know the single tool you need, such as scan_url on one URL. Do not claim: A plan is not a finding. Nothing was scanned or evaluated. Verify: Run the steps in order; the semantic review step is yours to do. |
scan_urlread-only | Run the AI-search hygiene checks on a public URL. A grade is not a citation and does not measure AI mentions. Free callers get per-group grades plus every failed fundamental (readiness levels L0-L3) with how to fix it; Pro/Team callers also get rule IDs, severity and evidence for every check, plus a work list ordered by weight. propose is always true: each fix is a proposal for a person to apply. Free results may be cached for up to an hour; keyed scans always fetch the page fresh. Batched callers pass detail=failures to drop passing checks. A page whose robots.txt disallows it for aeogeo-scanner is not fetched (blocked_url). The checks cover technical readiness only; each result says what a full audit adds in semantic_review (guidance.semantic_review on keyed page scans). Use when: The page is already public and you want the bytes a crawler receives. Avoid when: The draft is only local. Use lint_html for HTML, lint_text for markdown, or audit_schema for JSON-LD. content_type is an argument on those tools and on scan_url, not a separate tool. Do not claim: A grade or a pass is not a citation. The check says the page matches the rulebook. Verify: Deploy the edit, then call scan_url again. A keyed scan fetches fresh. judge: engine — trust the pass/fail from the deterministic check (access, rendering, and mechanical structure). judge: agent — your agent re-reads the rule text and decides; the label comes from the deterministic judgeForCheck mapping, not an LLM on our side. |
Schemas: list_tools.
{
"name": "site.aeogeo/aeogeo",
"title": "aeogeo",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.aeogeo.site",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "Optional. Bearer <aeogeo Pro key> unlocks the keyed tools; the free tools need no key."
}
]
},
{
"url": "https://mcp.aeogeo.site/mcp",
"type": "streamable-http"
}
],
"version": "1.0.1",
"repository": {
"url": "https://github.com/aeogeosite/aeogeo",
"source": "github"
},
"websiteUrl": "https://aeogeo.site/docs/mcp/",
"description": "Deterministic AEO/GEO checks and a source-cited rulebook for AI search, for your agent."
}