agent-ready-mcp 0.7.0 → 0.7.2
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/dist/mcp-server.mjs +24 -8
- package/package.json +1 -1
package/dist/mcp-server.mjs
CHANGED
|
@@ -31298,7 +31298,11 @@ The llmstxt.org spec treats some properties as foundational and others as option
|
|
|
31298
31298
|
|
|
31299
31299
|
## How are JavaScript-rendered pages handled?
|
|
31300
31300
|
|
|
31301
|
-
P23 detects pages where the static HTML response lacks data that only appears after client-side rendering \u2014 missing H1, empty body text, JSON-LD that injects after hydration. When P23 fires, the runner marks dependent checks (
|
|
31301
|
+
P23 detects pages where the static HTML response lacks data that only appears after client-side rendering \u2014 missing H1, empty body text, JSON-LD that injects after hydration. When P23 fires, the runner marks the dependent per-page checks (P12, P13, P14, P21) as \`unreliable\` and the scorer excludes them from both numerator and denominator. Without this, a single SPA architecture choice would compound into a multi-check score drop.
|
|
31302
|
+
|
|
31303
|
+
**Only what exists is scored.** Most A-checks are conditional \u2014 "if the page has images, they need alt text" \u2014 so on a page with no images, no tables and no media there is nothing to grade. Those results are marked \`notApplicable\` and excluded from both numerator and denominator. Scoring them as passes rewarded a site for what it lacked. Checks that state a prohibition (no positive tabindex, no timed meta refresh) or a document-level requirement (a title, a language, a main landmark) always count \u2014 for those, absence is a real verdict.
|
|
31304
|
+
|
|
31305
|
+
The same gate applies to the accessibility sub-score. Most A-series checks count elements and treat "found none" as a pass; on a client-rendered page the static DOM is a skeleton, so "found none" means "could not look". When P23 fails those checks are marked \`unreliable\` and dropped from the score; if every one is, the score is \`null\` rather than 0. The checks that read \`<head>\` or \`<html>\` (A9 viewport, A10 title, A13 lang, A17 meta refresh) stay trustworthy, because a JS-only shell still serves them.
|
|
31302
31306
|
|
|
31303
31307
|
## Where is the source for each check?
|
|
31304
31308
|
|
|
@@ -31407,7 +31411,7 @@ Discover-then-validate: when the relevant well-known endpoint returns 404, the c
|
|
|
31407
31411
|
| C20 | AP2 payment protocol support |
|
|
31408
31412
|
| C21 | ACP profile (/.well-known/acp.json) |
|
|
31409
31413
|
|
|
31410
|
-
## Accessibility checks (
|
|
31414
|
+
## Accessibility checks (23)
|
|
31411
31415
|
|
|
31412
31416
|
Run over the homepage DOM (v1). WCAG-grounded accessibility-tree signals \u2014 image text alternatives, form labels, control names \u2014 plus a static layout-stability (CLS) proxy. Scored into a separate \`accessibilityScore\`, a distinct suite from the 69 checks above: accessibility is WCAG, not the Vercel Agent Readability Spec, so it never moves the Vercel score.
|
|
31413
31417
|
|
|
@@ -31422,10 +31426,23 @@ Run over the homepage DOM (v1). WCAG-grounded accessibility-tree signals \u2014
|
|
|
31422
31426
|
| A7 | Heading hierarchy is well-formed |
|
|
31423
31427
|
| A8 | No positive tabindex |
|
|
31424
31428
|
| A9 | Pinch-zoom is not disabled |
|
|
31425
|
-
|
|
31429
|
+
| A10 | Page has a title |
|
|
31430
|
+
| A11 | Accessible name contains the visible label |
|
|
31431
|
+
| A12 | Content is reachable past the chrome |
|
|
31432
|
+
| A13 | Language tag is valid |
|
|
31433
|
+
| A14 | Hidden elements are not focusable |
|
|
31434
|
+
| A15 | Interactive controls are not nested |
|
|
31435
|
+
| A16 | Headings are not empty |
|
|
31436
|
+
| A17 | No timed meta refresh |
|
|
31437
|
+
| A18 | Autocomplete tokens are valid |
|
|
31438
|
+
| A19 | Tables declare their headers |
|
|
31439
|
+
| A20 | SVG images have a text alternative |
|
|
31440
|
+
| A21 | Media declares a captions track |
|
|
31441
|
+
| A22 | List structure is well-formed |
|
|
31442
|
+
| A23 | ARIA roles and attributes are valid |`;
|
|
31426
31443
|
var LLMS_TXT = `# Agent Ready
|
|
31427
31444
|
|
|
31428
|
-
> 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 69 checks \u2014 plus a separate accessibility sub-score from
|
|
31445
|
+
> 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 69 checks \u2014 plus a separate accessibility sub-score from 23 WCAG 2.2 / layout-stability checks \u2014 and provides actionable fix guidance for every failing check.
|
|
31429
31446
|
|
|
31430
31447
|
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.
|
|
31431
31448
|
|
|
@@ -31463,7 +31480,7 @@ Agent Ready's checks map to the specifications below. Each entry links to the ca
|
|
|
31463
31480
|
|
|
31464
31481
|
## Agent protocols
|
|
31465
31482
|
|
|
31466
|
-
- **MCP Server Cards (SEP-
|
|
31483
|
+
- **MCP Server Cards (SEP-2127)** \u2014 The Model Context Protocol discovery card at /.well-known/mcp.json \u2014 its presence (C1) and required fields (C2). SEP-2127 (a server.json subset) superseded the earlier SEP-1649 proposal. Canonical: <https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127> Checks: C1, C2.
|
|
31467
31484
|
- **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.
|
|
31468
31485
|
- **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/v1.0.0/specification> Checks: C4, C5.
|
|
31469
31486
|
- **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.
|
|
@@ -31489,8 +31506,7 @@ Agent Ready's checks map to the specifications below. Each entry links to the ca
|
|
|
31489
31506
|
|
|
31490
31507
|
## Accessibility
|
|
31491
31508
|
|
|
31492
|
-
- **WCAG 2.2 + layout stability** \u2014 The accessibility tree \u2014 image text alternatives, form labels, control names, resolved ARIA references, named iframes, a
|
|
31493
|
-
`;
|
|
31509
|
+
- **WCAG 2.2 + layout stability** \u2014 The accessibility tree \u2014 image text alternatives, form labels, control names, resolved ARIA references, named iframes, a page title, a valid language tag, a main landmark, accessible names that match their visible text, valid ARIA, well-formed lists and tables, and autofill tokens an agent can act on \u2014 is what assistive tech and AI agents parse to act on a page; explicit media dimensions and enabled zoom keep it stable and usable (with a static CLS proxy). Scored as a separate accessibilityScore, not part of the Vercel score. Canonical: <https://www.w3.org/TR/WCAG22/> Checks: A1\u2013A23.`;
|
|
31494
31510
|
|
|
31495
31511
|
// src/resources.ts
|
|
31496
31512
|
function registerResources(server) {
|
|
@@ -31844,7 +31860,7 @@ var validateStructuredDataInputShape = {
|
|
|
31844
31860
|
// src/server.ts
|
|
31845
31861
|
var SERVER_INFO = {
|
|
31846
31862
|
name: "agent-ready",
|
|
31847
|
-
version: "0.7.
|
|
31863
|
+
version: "0.7.2"
|
|
31848
31864
|
};
|
|
31849
31865
|
function createMcpServer(config2) {
|
|
31850
31866
|
const server = new McpServer(SERVER_INFO);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-ready-mcp",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
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). 69 checks with per-check fix guidance.",
|
|
6
6
|
"license": "MIT",
|