{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ainumbers.co/.well-known/mcp/server-card.schema.json",
  "title": "AINumbers MCP server card (mcp-server-card-v1)",
  "description": "Authored in-house, 2026-09-21. Field vocabulary follows the SEP-1649 'MCP Server Cards' draft (github.com/modelcontextprotocol, retrieved 2026-09-21 — no canonical schema URL exists yet; static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json 404s as of 2026-09-21) and the official date-versioned MCP server schemas (static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json, verified HTTP 200 on 2026-09-21). No bytes copied from either source. The canonical copy lives here, beside openchain-graph-v0.4.schema.json; a byte-identical served twin lives at .well-known/mcp/server-card.schema.json (drift-gated by scripts/check-server-card-schema.mjs). Validation keywords are deliberately limited to type/required/const/enum/pattern/minLength/minimum — the estate's zero-dependency validator implements exactly these. Mechanism credit: server-card discipline inspired by GREP AI (Parcha Labs — https://grep.ai) public surface, 2026-09-21; ideas only.",
  "type": "object",
  "required": ["$schema", "schema_version", "protocolVersion", "tool_count", "openapi_url", "id", "name", "description", "endpoint", "transport", "auth"],
  "properties": {
    "$schema": { "type": "string", "const": "https://ainumbers.co/.well-known/mcp/server-card.schema.json" },
    "schema_version": { "type": "string", "const": "mcp-server-card-v1" },
    "protocolVersion": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" },
    "tool_count": { "type": "integer", "minimum": 0 },
    "openapi_url": { "type": "string", "const": "https://ainumbers.co/openapi.json" },
    "id": { "type": "string", "minLength": 1 },
    "name": { "type": "string", "minLength": 1 },
    "description": { "type": "string", "minLength": 1 },
    "endpoint": { "type": "string", "pattern": "^https://mcp\\.ainumbers\\.co/mcp$" },
    "transport": { "type": "string", "enum": ["streamable-http"] },
    "auth": { "type": "string", "enum": ["none", "oauth"] },
    "publisher": { "type": "string", "minLength": 1 },
    "license": { "type": "string", "minLength": 1 },
    "suite_map": { "type": "string", "pattern": "^https://" },
    "pipeline_step": { "type": "object" }
  },
  "additionalProperties": true
}
