{
  "openapi": "3.0.3",
  "info": {
    "title": "Pingroll MCP server uptime board",
    "version": "1.0.0",
    "description": "Free, key-less JSON of every public remote server in the official MCP Registry that answered the last daily handshake probe (initialize, then tools/list; no tool is ever called). Rows are positional arrays; `cols` names the columns. Full daily history is in the free dataset CyberMax-tools/pingroll-mcp-server-uptime on Hugging Face.",
    "contact": {"name": "CyberMax", "url": "https://cybermaxtools.com"}
  },
  "servers": [{"url": "https://cybermax-tools-mcp-server-uptime.static.hf.space"}],
  "paths": {
    "/board.json": {
      "get": {
        "operationId": "getBoard",
        "summary": "Servers that answered the last probe",
        "description": "Returns the probe time, the column names and one row per server that was up (status 1) or up but needing a key (status 2).",
        "responses": {
          "200": {
            "description": "The board",
            "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Board"}, "example": {"probed_at": "2026-10-24T03:00:00Z", "cols": ["name", "title", "description", "host", "status(1=up,2=auth)", "latency_ms", "tool_count", "protocol", "repo", "transport", "tools_valid"], "rows": [["io.example/weather", "Weather", "Forecasts by city", "mcp.example.com", 1, 212, 4, "2025-06-18", "https://example.com/weather", "streamable-http", 1]]}}}
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Board": {
        "type": "object",
        "required": ["probed_at", "cols", "rows"],
        "properties": {
          "probed_at": {"type": "string", "format": "date-time"},
          "cols": {"type": "array", "items": {"type": "string"}},
          "rows": {"type": "array", "items": {"type": "array", "items": {}}, "description": "name, title, description, host, status (1 up, 2 needs key), latency_ms, tool_count, protocol, repo, transport, tools_valid (1/0)"}
        }
      }
    }
  }
}
