{
  "standard": "agent-tool-discoverability-standard/0.1",
  "spec_pins": {
    "mcp_spec": "2025-11-25",
    "registry_schema": "2025-12-11"
  },
  "basis": "spec-as-law + crypto/info-theory + direct measurement (no opinion)",
  "criteria": [
    {
      "id": "C1",
      "name": "Protocol handshake conformance",
      "from": "MCP spec 2025-11-25 — JSON-RPC 2.0 initialize MUST return protocolVersion + capabilities"
    },
    {
      "id": "C2",
      "name": "Tool listability",
      "from": "MCP spec /server/tools — tools/list MUST return result.tools[]"
    },
    {
      "id": "C3",
      "name": "Tool object validity",
      "from": "MCP spec Tool: name [A-Za-z0-9_-]{1,128} + description + inputSchema(object)"
    },
    {
      "id": "C4",
      "name": "Description sufficiency / selectability",
      "from": "Registry schema description minLength>=1; info-theory: empty/duplicate descriptions are unselectable"
    },
    {
      "id": "C5",
      "name": "Safety annotation presence",
      "from": "MCP spec ToolAnnotations (readOnlyHint/destructiveHint/idempotentHint/openWorldHint)"
    },
    {
      "id": "C6",
      "name": "Liveness & latency",
      "from": "Direct measurement: endpoint answers over the wire within a bounded latency"
    },
    {
      "id": "C7",
      "name": "Returns real content (anti-ghost)",
      "from": "Empirical (SaSame census ~80% return nothing) + info-theory: a real result carries >0 bits"
    },
    {
      "id": "C8",
      "name": "Machine-discoverable identity",
      "from": "Official MCP Registry server.json schema 2025-12-11 — name/version self-description"
    },
    {
      "id": "C9",
      "name": "Token efficiency",
      "from": "Measurement: total tools/list payload bytes (token-bloat is a known ecosystem failure)"
    },
    {
      "id": "C10",
      "name": "Honest error behavior",
      "from": "JSON-RPC 2.0: malformed/unknown method returns a structured error, not a hang/crash"
    }
  ],
  "honesty_caps": [
    "no verified real content -> grade capped at B",
    "priced/x402 endpoints -> delivery UNVERIFIED, never asserted"
  ],
  "free": "spec + verifier are free and offline-verifiable forever"
}