Agent Ready
Scan any URL for AI agent readability — Vercel Spec, llmstxt.org, and agent-protocol manifests.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"agent-ready-mcp": {
"command": "npx",
"args": [
"agent-ready-mcp"
]
}
}
}Ausführbare Pakete
0.7.7stdioRemote-Endpunkte
https://agent-ready.dev/api/v1/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢scan_site(url, pageLimit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"format": "uri",
"description": "Full URL of the site to scan, e.g. https://example.com. Must be a public http(s) address."
},
"pageLimit": {
"description": "Maximum number of pages to crawl. Defaults to your tier's per-scan page limit when omitted.",
"type": "integer",
"minimum": 1,
"maximum": 2000
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The scan id."
},
"status": {
"type": "string",
"enum": [
"running",
"completed",
"failed"
],
"description": "Scan status: running, completed, or failed."
},
"shareUrl": {
"description": "Path to the shareable report (/scan/<id>).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"rootUrl": {
"description": "The scanned site URL.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"vercelScore": {
"description": "Score against the Vercel Agent Readability Spec (0–100); null while running.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"vercelRating": {
"description": "Rating band for the Vercel score.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"llmstxtScore": {
"description": "llms.txt score (0–100).",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"accessibilityScore": {
"description": "Accessibility / layout-stability sub-score (0–100) over the homepage WCAG checks; null when none ran. Separate from the Vercel score.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"protocolResults": {
"description": "Agent-protocol checks (C-series) that ran — only for endpoints the site actually exposes.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"checkId": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"fail",
"warn",
"error"
]
},
"message": {
"type": "string"
},
"howToFix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"checkId",
"name",
"status",
"message",
"howToFix"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"accessibilityChecks": {
"description": "Accessibility / layout-stability checks (A-series) run over the homepage.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"checkId": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"fail",
"warn",
"error"
]
},
"message": {
"type": "string"
},
"howToFix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"checkId",
"name",
"status",
"message",
"howToFix"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"pagesScanned": {
"description": "Number of pages scanned.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"pagesDiscovered": {
"description": "Number of pages discovered.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"pollUrl": {
"description": "Poll URL while the scan is still running.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_scan(id)
Fetches a completed or in-progress scan by its id. Only scans owned by the authenticated API key's user are returned.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The scan id returned by scan_site (also the share token in a /scan/<id> URL)."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The scan id."
},
"status": {
"type": "string",
"enum": [
"running",
"completed",
"failed"
],
"description": "Scan status: running, completed, or failed."
},
"shareUrl": {
"description": "Path to the shareable report (/scan/<id>).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"rootUrl": {
"description": "The scanned site URL.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"vercelScore": {
"description": "Score against the Vercel Agent Readability Spec (0–100); null while running.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"vercelRating": {
"description": "Rating band for the Vercel score.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"llmstxtScore": {
"description": "llms.txt score (0–100).",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"accessibilityScore": {
"description": "Accessibility / layout-stability sub-score (0–100) over the homepage WCAG checks; null when none ran. Separate from the Vercel score.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"protocolResults": {
"description": "Agent-protocol checks (C-series) that ran — only for endpoints the site actually exposes.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"checkId": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"fail",
"warn",
"error"
]
},
"message": {
"type": "string"
},
"howToFix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"checkId",
"name",
"status",
"message",
"howToFix"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"accessibilityChecks": {
"description": "Accessibility / layout-stability checks (A-series) run over the homepage.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"checkId": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pass",
"fail",
"warn",
"error"
]
},
"message": {
"type": "string"
},
"howToFix": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"checkId",
"name",
"status",
"message",
"howToFix"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"pagesScanned": {
"description": "Number of pages scanned.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"pagesDiscovered": {
"description": "Number of pages discovered.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"pollUrl": {
"description": "Poll URL while the scan is still running.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢ask(q, itemType, mode)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "Natural-language question to search Agent Ready's docs, scoring methodology, check registry, and content library (explainers, comparisons, how-to guides, glossary)."
},
"itemType": {
"description": "Restrict results to a content type: methodology, checks, specs, llms-txt, check, page (explainers/guides/glossary), or any (default: all types).",
"type": "string",
"enum": [
"methodology",
"checks",
"specs",
"llms-txt",
"check",
"page",
"any"
]
},
"mode": {
"description": "\"list\" (default) returns matching items; \"summarize\" returns a synthesized answer.",
"type": "string",
"enum": [
"list",
"summarize"
]
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
"description": "Matching result items (Schema.org-typed)."
},
"message": {
"description": "Extractive summary when mode is 'summarize'.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis