agent-ready-mcp 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-ready-mcp
2
2
 
3
- MCP server for [Agent Ready](https://agent-ready.dev) — scan any URL for AI agent readability against the [Vercel Agent Readability Spec](https://vercel.com/kb/guide/agent-readability-spec), the [llmstxt.org](https://llmstxt.org) standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). 60 checks with per-check fix guidance.
3
+ MCP server for [Agent Ready](https://agent-ready.dev) — scan any URL for AI agent readability against the [Vercel Agent Readability Spec](https://vercel.com/kb/guide/agent-readability-spec), the [llmstxt.org](https://llmstxt.org) standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). 68 checks across four spec families — 38 against the Vercel spec (15 site-wide + 23 per-page), 10 against llmstxt.org, and 20 against agent-protocol manifests — each with per-check fix guidance.
4
4
 
5
5
  Hosted at `https://agent-ready.dev/api/v1/mcp` (Streamable HTTP); this package is a thin stdio wrapper around the same REST endpoints, distributed via npm for local MCP clients (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf).
6
6
 
@@ -115,7 +115,7 @@ If you'd rather use the hosted MCP server directly (Streamable HTTP transport, n
115
115
 
116
116
  ## Methodology
117
117
 
118
- The 60 checks, their weights, and the score formula are documented at [agent-ready.dev/methodology](https://agent-ready.dev/methodology). Both `manifest.json` and `server.json` in this repo conform to the relevant registry schemas (Glama Marketplace v0.3 and MCP registry 2025-12-11 respectively).
118
+ The 68 checks, their weights, and the score formula are documented at [agent-ready.dev/methodology](https://agent-ready.dev/methodology). Both `manifest.json` and `server.json` in this repo conform to the relevant registry schemas (Glama Marketplace v0.3 and MCP registry 2025-12-11 respectively).
119
119
 
120
120
  ## Development
121
121
 
@@ -31181,7 +31181,7 @@ Skip checks that already pass.`
31181
31181
  // src/resource-content.ts
31182
31182
  var METHODOLOGY_MD = `# How Agent Ready scores a site
31183
31183
 
31184
- > 60 checks across four categories, mapped to the Vercel Agent Readability Spec and the llmstxt.org standard. Every check is open and reproducible.
31184
+ > 68 checks across four categories, mapped to the Vercel Agent Readability Spec and the llmstxt.org standard. Every check is open and reproducible.
31185
31185
 
31186
31186
  ## What does Agent Ready measure?
31187
31187
 
@@ -31218,7 +31218,7 @@ Full guide: <https://agent-ready.dev/methodology>
31218
31218
  `;
31219
31219
  var CHECKS_MD = `# Agent Ready check registry
31220
31220
 
31221
- > 60 checks total across four categories. IDs are stable and referenced in every scan result's \`details\` array. Each check is implemented as a single function in \`src/lib/checks/{category}/{id}-{slug}.ts\` in the agent-ready repository.
31221
+ > 68 checks total across four categories. IDs are stable and referenced in every scan result's \`details\` array. Each check is implemented as a single function in \`src/lib/checks/{category}/{id}-{slug}.ts\` in the agent-ready repository.
31222
31222
 
31223
31223
  ## Site checks (15)
31224
31224
 
@@ -31289,7 +31289,7 @@ Run when the site has an \`llms.txt\` file. Validate against the [llmstxt.org](h
31289
31289
  | L9 | Content-Type: text/plain |
31290
31290
  | L10 | llms-full.txt available |
31291
31291
 
31292
- ## Protocol checks (12)
31292
+ ## Protocol checks (20)
31293
31293
 
31294
31294
  Discover-then-validate: when the relevant well-known endpoint returns 404, the check drops rather than failing. A marketing site doesn't score itself against agent manifests it has no reason to ship.
31295
31295
 
@@ -31307,10 +31307,18 @@ Discover-then-validate: when the relevant well-known endpoint returns 404, the c
31307
31307
  | C10 | x402 Payment Required response |
31308
31308
  | C11 | x402 accepts entries |
31309
31309
  | C12 | NLWeb endpoint |
31310
+ | C13 | API Catalog (RFC 9727) |
31311
+ | C14 | Web Bot Auth directory |
31312
+ | C15 | Agent Skills Discovery |
31313
+ | C16 | Content parity (no cloaking) |
31314
+ | C17 | Agent-driven UI (A2UI) |
31315
+ | C18 | MPP Payment challenge |
31316
+ | C19 | MPP challenge params |
31317
+ | C20 | AP2 payment protocol support |
31310
31318
  `;
31311
31319
  var LLMS_TXT = `# Agent Ready
31312
31320
 
31313
- > Agent Ready is a free tool that scores any website against the Vercel Agent Readability Spec, the llmstxt.org specification, and agent-protocol specs (MCP, A2A, agents.json). It runs 60 checks and provides actionable fix guidance for every failing check.
31321
+ > Agent Ready is a free tool that scores any website against the Vercel Agent Readability Spec, the llmstxt.org specification, and agent-protocol specs (MCP, A2A, agents.json). It runs 68 checks and provides actionable fix guidance for every failing check.
31314
31322
 
31315
31323
  This resource mirrors agent-ready.dev's own /llms.txt so MCP clients can introspect the same surface that ChatGPT, Perplexity, and other AI agents see when discovering Agent Ready as a tool.
31316
31324
 
@@ -31339,64 +31347,37 @@ This resource mirrors agent-ready.dev's own /llms.txt so MCP clients can introsp
31339
31347
  `;
31340
31348
  var SPECS_MD = `# Specs Agent Ready validates against
31341
31349
 
31342
- Agent Ready's 60 checks map to the specifications below. Each entry links to the canonical document and notes the check IDs that implement it.
31350
+ Agent Ready's checks map to the specifications below. Each entry links to the canonical document (where one exists) and notes the check IDs that implement it. Entries marked \`pre-standard\` are drafts or emerging conventions; \`behavioural\` entries have no published document. Protocol (C) checks are reported but unscored.
31343
31351
 
31344
- ## Vercel Agent Readability Spec
31352
+ ## Readability
31345
31353
 
31346
- Canonical: <https://vercel.com/kb/guide/agent-readability-spec>
31354
+ - **Vercel Agent Readability Spec** \u2014 The core spec for exposing a site to AI agents \u2014 discovery files, structured data, clean HTML, and markdown mirrors. Drives most site (S) and every page (P) check. Canonical: <https://vercel.com/kb/guide/agent-readability-spec> Checks: S5\u2013S15, P1\u2013P23.
31355
+ - **llmstxt.org** \u2014 The /llms.txt curated-context file (and optional llms-full.txt companion). Structural checks carry 3\xD7 weight in the llms.txt sub-score. Canonical: <https://llmstxt.org> Checks: S1\u2013S4, L1\u2013L10.
31347
31356
 
31348
- Maintained on the Vercel Knowledge Base. Drives the S- (site, 15 checks), P- (page, 23 checks), and most C- (protocol) check series.
31357
+ ## Agent protocols
31349
31358
 
31350
- ## llmstxt.org
31359
+ - **MCP Server Cards (SEP-1649)** \u2014 The Model Context Protocol discovery card at /.well-known/mcp.json \u2014 its presence (C1) and required fields (C2). Canonical: <https://modelcontextprotocol.io> Checks: C1, C2.
31360
+ - **OAuth Protected Resource Metadata (RFC 9728)** \u2014 Protected-resource metadata an MCP server advertises so agents can locate its authorization server. Canonical: <https://datatracker.ietf.org/doc/html/rfc9728> Checks: C3.
31361
+ - **A2A Protocol \u2014 Agent Cards** \u2014 The agent card at /.well-known/agent-card.json that lets agents discover and call other agents \u2014 existence with correct Content-Type (C4) and required fields (C5). Canonical: <https://a2a-protocol.org> Checks: C4, C5.
31362
+ - **Wildcard agents.json** _(pre-standard)_ \u2014 An OpenAPI extension declaring which existing REST endpoints agents should call. Pre-standard (v0.1.0). Canonical: <https://github.com/wild-card-ai/agents-json> Checks: C6.
31363
+ - **agent-permissions.json** _(pre-standard)_ \u2014 A manifest declaring per-path agent access policies, served at /.well-known/agent-permissions.json. No canonical spec document yet \u2014 defined by the discovery path. Canonical: _none published_ Checks: C7.
31364
+ - **UCP \u2014 Unified Capability Profile** \u2014 A composite profile at /.well-known/ucp bundling OAuth authorization-server metadata with capability declarations. Canonical: <https://ucp.dev> Checks: C8.
31365
+ - **OAuth Authorization Server Metadata (RFC 8414)** \u2014 The authorization-server metadata a UCP profile references so agents can complete an OAuth flow. Gated on C8. Canonical: <https://datatracker.ietf.org/doc/html/rfc8414> Checks: C9.
31351
31366
 
31352
- Canonical: <https://llmstxt.org>
31367
+ ## Payments
31353
31368
 
31354
- The \`llms.txt\` file specification (and the optional \`llms-full.txt\` companion). Drives the L1\u2013L10 check series. Structural checks (file accessible, H1 present, valid markdown) carry 3\xD7 weight in the llms.txt sub-score; content checks 1\xD7; \`llms-full.txt\` presence 0.5\xD7.
31369
+ - **x402 \u2014 HTTP 402 Payment Required** \u2014 A behavioural payments scheme: a paid endpoint answers with HTTP 402 and a JSON body carrying an accepts array \u2014 the 402 response (C10) and valid accepts entries (C11). Canonical: <https://www.x402.org> Checks: C10, C11.
31370
+ - **MPP \u2014 Machine Payments Protocol** _(pre-standard)_ \u2014 The Stripe- and Tempo-authored "Payment" HTTP auth scheme on the IETF standards track \u2014 the WWW-Authenticate: Payment challenge (C18) and its required params (C19). Canonical: <https://paymentauth.org/> Checks: C18, C19.
31371
+ - **AP2 \u2014 Agent Payments Protocol** _(pre-standard)_ \u2014 Google's trust/authorization layer for agent-led payments, built on A2A: a participant advertises support via the AP2 extension URI in its A2A Agent Card. Detection only \u2014 mandate verifiable credentials are runtime SD-JWTs with no static artifact. Pre-standard (v0.2.0). Canonical: <https://github.com/google-agentic-commerce/AP2> Checks: C20.
31355
31372
 
31356
- ## Model Context Protocol \u2014 Server Cards (SEP-1649)
31373
+ ## Discovery & integrity
31357
31374
 
31358
- Canonical: <https://modelcontextprotocol.io>
31359
- SEP: <https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649> (ratified 2025-11-25)
31360
-
31361
- The discovery card published at \`/.well-known/mcp.json\`. Drives C1 (exists), C2 (required fields), and C3 (OAuth Protected Resource metadata per [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728)).
31362
-
31363
- ## A2A Protocol \u2014 Agent Cards
31364
-
31365
- Canonical: <https://a2a-protocol.org>
31366
- Schema: a2a.proto v1.0.0
31367
-
31368
- The agent card published at \`/.well-known/agent-card.json\`. Drives C4 (exists with correct Content-Type) and C5 (required fields).
31369
-
31370
- ## Wildcard agents.json
31371
-
31372
- Canonical: <https://github.com/wild-card-ai/agents-json>
31373
- Version: v0.1.0 (pre-standard)
31374
-
31375
- OpenAPI extension declaring which existing REST endpoints agents should call. Published at \`/agents.json\` or \`/.well-known/agents.json\`. Drives C6.
31376
-
31377
- ## agent-permissions.json
31378
-
31379
- Discovery path: \`/.well-known/agent-permissions.json\` (preferred) or \`/agent-permissions.json\`
31380
-
31381
- A manifest declaring per-path agent access policies. Drives C7.
31382
-
31383
- ## UCP \u2014 Unified Capability Profile
31384
-
31385
- Discovery path: \`/.well-known/ucp\`
31386
-
31387
- A composite profile that bundles OAuth authorization server metadata ([RFC 8414](https://datatracker.ietf.org/doc/html/rfc8414)) with capability declarations. Drives C8 (profile exists) and C9 (OAuth Authorization Server metadata, gated on C8).
31388
-
31389
- ## x402 \u2014 HTTP 402 Payment Required
31390
-
31391
- Reference: <https://www.x402.org>
31392
-
31393
- Behavioural rather than manifest-based. Agent Ready probes the scanned URL preserving its path; if the response is HTTP 402 with valid \`accepts\` entries, C10 and C11 pass. Otherwise both drop.
31394
-
31395
- ## NLWeb
31396
-
31397
- Canonical: <https://nlweb.ai/docs/specification>
31398
-
31399
- An open natural-language query protocol: a site exposes \`POST /ask\` returning Schema.org-typed JSON, and every NLWeb instance is also an MCP server. NLWeb has no discovery standard, so detection is heuristic \u2014 Agent Ready does a low-aggression GET to the conventional \`/ask\` path and correlates with the MCP server card. Drives C12 (best-effort NLWeb endpoint detection, informational).
31375
+ - **NLWeb** \u2014 An open natural-language query protocol: a site exposes POST /ask returning Schema.org-typed JSON. Detection is heuristic and informational. Canonical: <https://nlweb.ai/docs/specification> Checks: C12.
31376
+ - **API Catalog (RFC 9727)** \u2014 A /.well-known/api-catalog linkset advertising a site's APIs so agents can enumerate them from one well-known entry point. Canonical: <https://www.rfc-editor.org/info/rfc9727> Checks: C13.
31377
+ - **Web Bot Auth** _(pre-standard)_ \u2014 An HTTP message-signatures directory at /.well-known/http-message-signatures-directory letting well-behaved bots prove their identity. IETF draft. Canonical: <https://datatracker.ietf.org/doc/draft-meunier-web-bot-auth-architecture/> Checks: C14.
31378
+ - **Agent Skills Discovery** _(pre-standard)_ \u2014 A /.well-known/agent-skills/index.json manifest advertising installable agent skills. Pre-standard (Cloudflare RFC v0.2.0). Canonical: <https://github.com/cloudflare/agent-skills-discovery> Checks: C15.
31379
+ - **Content parity (anti-cloaking)** _(behavioural)_ \u2014 Not a published spec \u2014 a behavioural check comparing the AI-bot response to the baseline to detect cloaking (serving agents different content than humans). Canonical: _none published_ Checks: C16.
31380
+ - **Agent-driven UI (A2UI)** _(pre-standard)_ \u2014 MCP-Apps / OpenAI Apps SDK UI surfaces declared on an MCP Server Card, letting agents render interactive widgets inline. Emerging. Canonical: <https://modelcontextprotocol.io> Checks: C17.
31400
31381
  `;
31401
31382
 
31402
31383
  // src/resources.ts
@@ -31406,7 +31387,7 @@ function registerResources(server) {
31406
31387
  "agent-ready://methodology",
31407
31388
  {
31408
31389
  title: "Scoring methodology",
31409
- description: "How Agent Ready computes the 0\u2013100 readability score and the llms.txt sub-score. Covers the 60 checks across four categories, rating bands, weighting, and JS-rendering handling.",
31390
+ description: "How Agent Ready computes the 0\u2013100 readability score and the llms.txt sub-score. Covers the 68 checks across four categories, rating bands, weighting, and JS-rendering handling.",
31410
31391
  mimeType: "text/markdown"
31411
31392
  },
31412
31393
  async () => ({
@@ -31424,7 +31405,7 @@ function registerResources(server) {
31424
31405
  "agent-ready://checks",
31425
31406
  {
31426
31407
  title: "Check registry",
31427
- description: "Reference table of all 60 checks Agent Ready runs, grouped by category (site, page, llms.txt, protocol). Each row pairs the stable check ID (e.g. P11, S15, L9, C3) with its human-readable name. Use this to identify a check by id when interpreting scan results.",
31408
+ description: "Reference table of all 68 checks Agent Ready runs, grouped by category (site, page, llms.txt, protocol). Each row pairs the stable check ID (e.g. P11, S15, L9, C3) with its human-readable name. Use this to identify a check by id when interpreting scan results.",
31428
31409
  mimeType: "text/markdown"
31429
31410
  },
31430
31411
  async () => ({
@@ -31460,7 +31441,7 @@ function registerResources(server) {
31460
31441
  "agent-ready://specs",
31461
31442
  {
31462
31443
  title: "Specifications Agent Ready validates against",
31463
- description: "Canonical URLs and check-ID mappings for the specifications Agent Ready implements: Vercel Agent Readability Spec, llmstxt.org, MCP Server Cards (SEP-1649 / RFC 9728), A2A Agent Cards (a2a.proto v1.0.0), Wildcard agents.json, agent-permissions.json, UCP (RFC 8414), x402 Payment Required, and NLWeb.",
31444
+ description: "Canonical URLs and check-ID mappings for the specifications Agent Ready implements: Vercel Agent Readability Spec, llmstxt.org, MCP Server Cards (SEP-1649 / RFC 9728), A2A Agent Cards (a2a.proto v1.0.0), Wildcard agents.json, agent-permissions.json, UCP (RFC 8414), x402 and MPP payments, NLWeb, API Catalog (RFC 9727), Web Bot Auth, Agent Skills Discovery, content parity, and Agent-driven UI (A2UI).",
31464
31445
  mimeType: "text/markdown"
31465
31446
  },
31466
31447
  async () => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-ready-mcp",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "mcpName": "io.github.mlava/agent-ready-mcp",
5
5
  "description": "MCP server for Agent Ready — scan any URL for AI-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). 60 checks with per-check fix guidance.",
6
6
  "license": "MIT",