agent-readiness
Scores any public website on how usable it is by AI agents, with per-check evidence.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"agent-readiness": {
"url": "https://webmcp-tool.com/api/mcp"
}
}
}Remote endpoints
https://webmcp-tool.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢score_site(url)
Score a public website for agent readiness. Returns a number out of 100, a grade, the fitness and adoption sub-scores, the highest-value fixes, scan time and whether the result came from cache. Use this first when asked whether a site is agent-ready or WebMCP-ready.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) address, for example example.com"
}
},
"required": [
"url"
]
}Output Schema
{
"type": "object",
"properties": {
"host": {
"type": "string"
},
"url": {
"type": "string"
},
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"grade": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"F"
]
},
"fetchedAt": {
"type": "string",
"description": "ISO 8601"
},
"cached": {
"type": "boolean",
"description": "True when this request reused a report already in the server cache."
},
"axes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"earned": {
"type": "number"
},
"available": {
"type": "number"
},
"question": {
"type": "string"
}
},
"required": [
"id",
"name",
"earned",
"available",
"question"
]
}
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"axis": {
"type": "string"
},
"earned": {
"type": "number"
},
"available": {
"type": "number"
}
},
"required": [
"id",
"name",
"axis",
"earned",
"available"
]
}
},
"fixFirst": {
"type": "array",
"maxItems": 5,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"finding": {
"type": "string"
},
"fix": {
"type": "string"
},
"points": {
"type": "number"
}
},
"required": [
"id",
"title",
"finding",
"fix",
"points"
]
}
},
"excluded": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"id",
"title",
"reason"
]
}
},
"reportUrl": {
"type": "string",
"format": "uri"
},
"methodology": {
"type": "string",
"format": "uri"
}
},
"required": [
"host",
"url",
"score",
"grade",
"fetchedAt",
"cached",
"axes",
"pillars",
"fixFirst",
"excluded",
"reportUrl",
"methodology"
]
}🟢explain_check(checkId)
Explain one check from the Agent Readiness Score: what it asks, why an agent cares, how it is weighted, and how to fix it. Use after score_site when the user asks why a particular finding matters.
Input Schema
{
"type": "object",
"properties": {
"checkId": {
"type": "string",
"description": "Check identifier, for example content-without-javascript"
}
},
"required": [
"checkId"
]
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"pillar": {
"type": "string"
},
"points": {
"type": "number"
},
"question": {
"type": "string"
},
"why": {
"type": "string"
},
"fix": {
"type": "string"
},
"snippet": {
"type": "string"
},
"conditional": {
"type": "boolean"
},
"docs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"label",
"url"
]
}
}
},
"required": [
"id",
"title",
"points",
"question",
"why",
"fix",
"conditional"
]
}🟢list_checks
List every check in the rule set with its pillar, weight and question. Use when the user asks what is measured rather than how one site performs.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string"
},
"axis": {
"type": "string"
},
"points": {
"type": "number"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"points": {
"type": "number"
},
"question": {
"type": "string"
}
},
"required": [
"id",
"title",
"points",
"question"
]
}
}
},
"required": [
"pillar",
"axis",
"points",
"checks"
]
}
}
},
"required": [
"pillars"
]
}🟢get_badge_embed(url)
Get the HTML snippet for a site's Agent Readiness badge, so it can be placed on that site. Sites at grade C or better earn bronze, silver or gold. Use when the user has a passing score and wants to display it. Returns HTML to paste; it installs nothing and runs no script.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) address, for example example.com"
}
},
"required": [
"url"
]
}Output Schema
{
"type": "object",
"properties": {
"eligible": {
"type": "boolean"
},
"host": {
"type": "string"
},
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"grade": {
"type": "string"
},
"reason": {
"type": "string"
},
"fixFirst": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"fix": {
"type": "string"
}
},
"required": [
"title",
"fix"
]
}
},
"tier": {
"type": "string"
},
"html": {
"type": "string"
},
"note": {
"type": "string"
},
"badgePage": {
"type": "string",
"format": "uri"
},
"reportUrl": {
"type": "string",
"format": "uri"
},
"watchIt": {
"type": "string"
}
},
"required": [
"eligible",
"host",
"score",
"grade"
],
"if": {
"properties": {
"eligible": {
"const": true
}
}
},
"then": {
"required": [
"tier",
"html",
"note",
"badgePage"
]
},
"else": {
"required": [
"reason",
"fixFirst",
"reportUrl"
]
}
}🟡watch_site(url, email, sendConfirmationEmail)
Send a confirmation email for monitoring a site's Agent Readiness Score. Use only when the user explicitly asks to receive a confirmation email for monitoring at the supplied address. Set sendConfirmationEmail to true only then. Monitoring starts only after the recipient opens the link and confirms on the page; this call itself sends one email.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) address or bare host, for example example.com"
},
"email": {
"type": "string",
"description": "Address that will receive the confirmation and the alerts"
},
"sendConfirmationEmail": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly requests a monitoring confirmation email."
}
},
"required": [
"url",
"email",
"sendConfirmationEmail"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"confirmation-sent"
]
},
"email": {
"type": "string"
},
"host": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"status",
"email",
"host",
"message"
]
}Community
Evidence