MCP-Server

aio-geo

io.github.DigitalCurrensy/aio-geo
Marketing & Werbung Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Audits public websites for structural AI-search readiness and generates dry-run recommendations for robots, schema, and internal anchors.

apply_fix
Apply fix
Generate a structural fix pack for a public domain. Public calls stay dry-run (no writes). Set dryRun false only with an operator key.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.'}}}
Ausgabeschema
{'type': 'object', 'required': ['ok', 'dryRun'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'files': {'type': 'array', 'items': {'type': 'object', 'properties': {'path': {'type': 'string'}, 'action': {'type': 'string'}}}, 'description': 'Proposed files in the dry-run pack'}, 'domain': {'type': 'string'}, 'dryRun': {'type': 'boolean', 'description': 'Public endpoint always true — no files are written'}}}
audit_url
Audit URL
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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.'}}}
Ausgabeschema
{'type': 'object', 'required': ['ok', 'domain', 'overallScore'], 'properties': {'ok': {'type': 'boolean', 'description': 'True when the audit completed'}, 'cli': {'type': 'string', 'description': 'Matching CLI command'}, 'domain': {'type': 'string', 'description': 'Normalized hostname'}, 'pillars': {'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}, 'score': {'type': 'number'}, 'summary': {'type': 'string'}}}, 'description': 'Per-pillar structural scores'}, 'refusal': {'type': 'string', 'description': 'Ranking-refusal copy'}, 'briefUrl': {'type': 'string', 'description': 'Shareable public brief URL'}, 'persisted': {'type': 'boolean', 'description': 'True if the scan was saved'}, 'confidence': {'type': 'number', 'description': '0-1 crawl confidence'}, 'disclaimer': {'type': 'string'}, 'isSynthetic': {'type': 'boolean', 'description': 'True only if the crawl failed closed'}, 'methodology': {'type': 'string', 'description': 'Scoring methodology id'}, 'overallScore': {'type': 'number', 'description': 'Structural readiness score 0-100. Not an LLM ranking.'}, 'recommendations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ranked structural gaps to fix'}}}
check_health
Check health
Return environment and API health. Never returns secrets. No API key required.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
Ausgabeschema
{'type': 'object', 'required': ['version', 'api_key'], 'properties': {'health': {'type': 'object', 'description': 'Ops health without secrets'}, 'api_key': {'type': 'string', 'description': 'set or unset — never the raw secret'}, 'refusal': {'type': 'string'}, 'version': {'type': 'string'}}}
get_brief
Get brief
Return an executive structural brief for a domain: score, top gaps, and a shareable brief path. Not an LLM ranking. No API key required.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.'}}}
Ausgabeschema
{'type': 'object', 'required': ['ok', 'domain', 'overallScore', 'sharePath'], 'properties': {'ok': {'type': 'boolean'}, 'domain': {'type': 'string'}, 'pillars': {'type': 'array', 'items': {'type': 'object'}}, 'refusal': {'type': 'string'}, 'sharePath': {'type': 'string', 'description': 'Relative brief path, for example /brief?domain=example.com'}, 'overallScore': {'type': 'number'}, 'recommendations': {'type': 'array', 'items': {'type': 'string'}}}}
list_fixes
List fixes
Return a dry-run structural fix pack (robots, schema, anchors) for a public domain. No files are written. No API key required.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.'}}}
Ausgabeschema
{'type': 'object', 'required': ['ok', 'dryRun'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'files': {'type': 'array', 'items': {'type': 'object', 'properties': {'path': {'type': 'string'}, 'action': {'type': 'string'}}}, 'description': 'Proposed files in the dry-run pack'}, 'domain': {'type': 'string'}, 'dryRun': {'type': 'boolean', 'description': 'Public endpoint always true — no files are written'}}}
rescore_url
Rescore URL
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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'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.'}}}
Ausgabeschema
{'type': 'object', 'required': ['ok', 'domain', 'overallScore'], 'properties': {'ok': {'type': 'boolean', 'description': 'True when the audit completed'}, 'cli': {'type': 'string', 'description': 'Matching CLI command'}, 'domain': {'type': 'string', 'description': 'Normalized hostname'}, 'pillars': {'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}, 'score': {'type': 'number'}, 'summary': {'type': 'string'}}}, 'description': 'Per-pillar structural scores'}, 'refusal': {'type': 'string', 'description': 'Ranking-refusal copy'}, 'briefUrl': {'type': 'string', 'description': 'Shareable public brief URL'}, 'persisted': {'type': 'boolean', 'description': 'True if the scan was saved'}, 'confidence': {'type': 'number', 'description': '0-1 crawl confidence'}, 'disclaimer': {'type': 'string'}, 'isSynthetic': {'type': 'boolean', 'description': 'True only if the crawl failed closed'}, 'methodology': {'type': 'string', 'description': 'Scoring methodology id'}, 'overallScore': {'type': 'number', 'description': 'Structural readiness score 0-100. Not an LLM ranking.'}, 'recommendations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ranked structural gaps to fix'}}}
Hinzugefügt
get_brief
17. September 2026 12:41
Hinzugefügt
check_health
17. September 2026 12:41
Hinzugefügt
rescore_url
17. September 2026 12:41
Hinzugefügt
apply_fix
17. September 2026 12:41
Hinzugefügt
list_fixes
17. September 2026 12:41
Hinzugefügt
audit_url
17. September 2026 12:41