MCPサーバー

Agent Ready

io.github.mlava/agent-ready-mcp
開発者向けツール 公開・接続可能 MCP 2025-11-25

このMCPでできること

Scans websites for AI-agent readability against Vercel, llmstxt.org, and agent-protocol checks, with remediation findings.

ask
Ask Agent Ready in natural language
Natural-language search (NLWeb /ask) over Agent Ready's own content — scoring methodology, the check registry, the specs it validates, and the content library (explainers, comparisons, how-to guides, glossary). Returns Schema.org-typed result objects. Optional itemType narrows to a corpus type; mode 'summarize' adds an extractive summary.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': "Natural-language question to search Agent Ready's docs, scoring methodology, check registry, and content library (explainers, comparisons, how-to guides, glossary)."}, 'mode': {'enum': ['list', 'summarize'], 'type': 'string', 'description': '"list" (default) returns matching items; "summarize" returns a synthesized answer.'}, 'itemType': {'enum': ['methodology', 'checks', 'specs', 'llms-txt', 'check', 'page', 'any'], 'type': 'string', 'description': 'Restrict results to a content type: methodology, checks, specs, llms-txt, check, page (explainers/guides/glossary), or any (default: all types).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Extractive summary when mode is 'summarize'."}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': {}}, 'description': 'Matching result items (Schema.org-typed).'}}, 'additionalProperties': False}
get_scan
Get a previous scan by id
Fetches a completed or in-progress scan by its id. Only scans owned by the authenticated API key's user are returned.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'The scan id returned by scan_site (also the share token in a /scan/<id> URL).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'description': 'The scan id.'}, 'status': {'enum': ['running', 'completed', 'failed'], 'type': 'string', 'description': 'Scan status: running, completed, or failed.'}, 'pollUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Poll URL while the scan is still running.'}, 'rootUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The scanned site URL.'}, 'shareUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Path to the shareable report (/scan/<id>).'}, 'vercelScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Score against the Vercel Agent Readability Spec (0–100); null while running.'}, 'llmstxtScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'llms.txt score (0–100).'}, 'pagesScanned': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of pages scanned.'}, 'vercelRating': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Rating band for the Vercel score.'}, 'pagesDiscovered': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of pages discovered.'}, 'protocolResults': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['checkId', 'name', 'status', 'message', 'howToFix'], 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['pass', 'fail', 'warn', 'error'], 'type': 'string'}, 'checkId': {'type': 'string'}, 'message': {'type': 'string'}, 'howToFix': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, {'type': 'null'}], 'description': 'Agent-protocol checks (C-series) that ran — only for endpoints the site actually exposes.'}, 'accessibilityScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Accessibility / layout-stability sub-score (0–100) over the homepage WCAG checks; null when none ran. Separate from the Vercel score.'}, 'accessibilityChecks': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['checkId', 'name', 'status', 'message', 'howToFix'], 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['pass', 'fail', 'warn', 'error'], 'type': 'string'}, 'checkId': {'type': 'string'}, 'message': {'type': 'string'}, 'howToFix': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, {'type': 'null'}], 'description': 'Accessibility / layout-stability checks (A-series) run over the homepage.'}}, 'additionalProperties': False}
scan_site
Scan a site for AI agent readability
Runs the agent-ready.dev scanner against a URL and returns structured results: Vercel score, llmstxt.org score, and per-check findings with remediation hints. Scans may take up to ~60s; for larger scans the tool returns a scan id and asks you to poll with get_scan.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 2000, 'description': 'Full URL of the site to scan, e.g. https://example.com. Must be a public http(s) address.'}, 'pageLimit': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': "Maximum number of pages to crawl. Defaults to your tier's per-scan page limit when omitted."}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'description': 'The scan id.'}, 'status': {'enum': ['running', 'completed', 'failed'], 'type': 'string', 'description': 'Scan status: running, completed, or failed.'}, 'pollUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Poll URL while the scan is still running.'}, 'rootUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The scanned site URL.'}, 'shareUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Path to the shareable report (/scan/<id>).'}, 'vercelScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Score against the Vercel Agent Readability Spec (0–100); null while running.'}, 'llmstxtScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'llms.txt score (0–100).'}, 'pagesScanned': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of pages scanned.'}, 'vercelRating': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Rating band for the Vercel score.'}, 'pagesDiscovered': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Number of pages discovered.'}, 'protocolResults': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['checkId', 'name', 'status', 'message', 'howToFix'], 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['pass', 'fail', 'warn', 'error'], 'type': 'string'}, 'checkId': {'type': 'string'}, 'message': {'type': 'string'}, 'howToFix': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, {'type': 'null'}], 'description': 'Agent-protocol checks (C-series) that ran — only for endpoints the site actually exposes.'}, 'accessibilityScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Accessibility / layout-stability sub-score (0–100) over the homepage WCAG checks; null when none ran. Separate from the Vercel score.'}, 'accessibilityChecks': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['checkId', 'name', 'status', 'message', 'howToFix'], 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['pass', 'fail', 'warn', 'error'], 'type': 'string'}, 'checkId': {'type': 'string'}, 'message': {'type': 'string'}, 'howToFix': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, {'type': 'null'}], 'description': 'Accessibility / layout-stability checks (A-series) run over the homepage.'}}, 'additionalProperties': False}
追加
ask
2026年9月17日12:45
追加
get_scan
2026年9月17日12:45
追加
scan_site
2026年9月17日12:45