{"ok":true,"protocolVersion":"2025-06-18","serverInfo":{"name":"@aio-geo/mcp-server","title":"AIO.GEO MCP Server","version":"0.3.5"},"description":"AIO.GEO structural AI Search Readiness tools. Public audit needs no key. We do not sell LLM rankings.","authentication":{"required":false,"schemes":[]},"configSchema":{"type":"object","required":[],"properties":{"AIO_API_KEY":{"type":"string","title":"AIO.GEO API key","description":"Optional operator key (ag_live_...). Public tools work without it.","x-from":{"header":"x-aio-api-key"}}}},"transport":{"type":"streamable-http","url":"https://www.aiogeoprotocol.com/mcp"},"tools":[{"name":"audit_url","title":"Audit URL","description":"Run a structural AI Search Readiness audit for a public URL or domain. Returns pillar scores, recommendations, a brief link, and a CLI command. Not an LLM ranking. No API key required.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public domain or https URL to inspect (for example example.com or https://example.com). Localhost and private IPs are blocked."},"domain":{"type":"string","description":"Alias of url. Use either url or domain, not both."}}},"outputSchema":{"type":"object","required":["ok","domain","overallScore"],"properties":{"ok":{"type":"boolean","description":"True when the audit completed"},"domain":{"type":"string","description":"Normalized hostname"},"overallScore":{"type":"number","description":"Structural readiness score 0-100. Not an LLM ranking."},"methodology":{"type":"string","description":"Scoring methodology id"},"pillars":{"type":"array","description":"Per-pillar structural scores","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"score":{"type":"number"},"summary":{"type":"string"}}}},"recommendations":{"type":"array","items":{"type":"string"},"description":"Ranked structural gaps to fix"},"confidence":{"type":"number","description":"0-1 crawl confidence"},"isSynthetic":{"type":"boolean","description":"True only if the crawl failed closed"},"persisted":{"type":"boolean","description":"True if the scan was saved"},"briefUrl":{"type":"string","description":"Shareable public brief URL"},"cli":{"type":"string","description":"Matching CLI command"},"refusal":{"type":"string","description":"Ranking-refusal copy"},"disclaimer":{"type":"string"}}},"annotations":{"title":"Audit URL","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"list_fixes","title":"List fixes","description":"Return a dry-run structural fix pack (robots, schema, anchors) for a public domain. No files are written. No API key required.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public domain or https URL to inspect (for example example.com or https://example.com). Localhost and private IPs are blocked."},"domain":{"type":"string","description":"Alias of url. Use either url or domain, not both."}}},"outputSchema":{"type":"object","required":["ok","dryRun"],"properties":{"ok":{"type":"boolean"},"dryRun":{"type":"boolean","description":"Public endpoint always true — no files are written"},"domain":{"type":"string"},"files":{"type":"array","description":"Proposed files in the dry-run pack","items":{"type":"object","properties":{"path":{"type":"string"},"action":{"type":"string"}}}},"error":{"type":"string"}}},"annotations":{"title":"List fixes","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"apply_fix","title":"Apply fix","description":"Generate a structural fix pack for a public domain. Public calls stay dry-run (no writes). Set dryRun false only with an operator key.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public domain or https URL to inspect (for example example.com or https://example.com). Localhost and private IPs are blocked."},"domain":{"type":"string","description":"Alias of url. Use either url or domain, not both."},"dryRun":{"type":"boolean","default":true,"description":"When true (default) only preview the pack. Writes stay off on the public endpoint."}}},"outputSchema":{"type":"object","required":["ok","dryRun"],"properties":{"ok":{"type":"boolean"},"dryRun":{"type":"boolean","description":"Public endpoint always true — no files are written"},"domain":{"type":"string"},"files":{"type":"array","description":"Proposed files in the dry-run pack","items":{"type":"object","properties":{"path":{"type":"string"},"action":{"type":"string"}}}},"error":{"type":"string"}}},"annotations":{"title":"Apply fix","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"rescore_url","title":"Rescore URL","description":"Run a fresh public structural audit (rescore) for a URL or domain. Same engine as audit_url. Not an LLM ranking. No API key required.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public domain or https URL to inspect (for example example.com or https://example.com). Localhost and private IPs are blocked."},"domain":{"type":"string","description":"Alias of url. Use either url or domain, not both."}}},"outputSchema":{"type":"object","required":["ok","domain","overallScore"],"properties":{"ok":{"type":"boolean","description":"True when the audit completed"},"domain":{"type":"string","description":"Normalized hostname"},"overallScore":{"type":"number","description":"Structural readiness score 0-100. Not an LLM ranking."},"methodology":{"type":"string","description":"Scoring methodology id"},"pillars":{"type":"array","description":"Per-pillar structural scores","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"score":{"type":"number"},"summary":{"type":"string"}}}},"recommendations":{"type":"array","items":{"type":"string"},"description":"Ranked structural gaps to fix"},"confidence":{"type":"number","description":"0-1 crawl confidence"},"isSynthetic":{"type":"boolean","description":"True only if the crawl failed closed"},"persisted":{"type":"boolean","description":"True if the scan was saved"},"briefUrl":{"type":"string","description":"Shareable public brief URL"},"cli":{"type":"string","description":"Matching CLI command"},"refusal":{"type":"string","description":"Ranking-refusal copy"},"disclaimer":{"type":"string"}}},"annotations":{"title":"Rescore URL","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"check_health","title":"Check health","description":"Return environment and API health. Never returns secrets. No API key required.","inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","required":["version","api_key"],"properties":{"version":{"type":"string"},"api_key":{"type":"string","description":"set or unset — never the raw secret"},"health":{"type":"object","description":"Ops health without secrets"},"refusal":{"type":"string"}}},"annotations":{"title":"Check health","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"get_brief","title":"Get brief","description":"Return an executive structural brief for a domain: score, top gaps, and a shareable brief path. Not an LLM ranking. No API key required.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public domain or https URL to inspect (for example example.com or https://example.com). Localhost and private IPs are blocked."},"domain":{"type":"string","description":"Alias of url. Use either url or domain, not both."}}},"outputSchema":{"type":"object","required":["ok","domain","overallScore","sharePath"],"properties":{"ok":{"type":"boolean"},"domain":{"type":"string"},"overallScore":{"type":"number"},"pillars":{"type":"array","items":{"type":"object"}},"recommendations":{"type":"array","items":{"type":"string"}},"sharePath":{"type":"string","description":"Relative brief path, for example /brief?domain=example.com"},"refusal":{"type":"string"}}},"annotations":{"title":"Get brief","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}]}