agent-readiness

Scores any public website on how usable it is by AI agents, with per-check evidence.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
86%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,425Tokens (tool definitions)
~2.5 KBTypical response size
Moderate attention impact (1.11% of 128k context)

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-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools