{"columns_csv": ["period", "status", "window_start_utc", "window_end_utc", "cohort", "protocol", "agents", "visits", "visits_reachable", "visits_reachable_share", "agents_reachable_95", "agents_reachable_95_share", "response_time_p50_ms", "response_time_p95_ms", "successful_handshakes"], "current": {"cells": [{"agents": 9921, "agents_reachable_on_95_percent_of_visits": {"count": 9823, "of": 9921, "share": 0.9901}, "cohort": "all", "protocol": "ALL", "response_time_ms": {"agents": 6231, "p50": 224, "p95": 1064, "successful_handshakes": 11002}, "visits": 17701, "visits_reachable": {"count": 17566, "of": 17701, "share": 0.9924}}, {"agents": 9447, "agents_reachable_on_95_percent_of_visits": {"count": 9353, "of": 9447, "share": 0.99}, "cohort": "all", "protocol": "MCP", "response_time_ms": {"agents": 5760, "p50": 232, "p95": 1085, "successful_handshakes": 9482}, "visits": 16170, "visits_reachable": {"count": 16042, "of": 16170, "share": 0.9921}}, {"agents": 474, "agents_reachable_on_95_percent_of_visits": {"count": 470, "of": 474, "share": 0.9916}, "cohort": "all", "protocol": "A2A", "response_time_ms": {"agents": 471, "p50": 158, "p95": 808, "successful_handshakes": 1520}, "visits": 1531, "visits_reachable": {"count": 1524, "of": 1531, "share": 0.9954}}, {"agents": 3528, "agents_reachable_on_95_percent_of_visits": {"count": 3505, "of": 3528, "share": 0.9935}, "cohort": "panel", "protocol": "ALL", "response_time_ms": {"agents": 2256, "p50": 222, "p95": 1085, "successful_handshakes": 7022}, "visits": 11303, "visits_reachable": {"count": 11243, "of": 11303, "share": 0.9947}}, {"agents": 3068, "agents_reachable_on_95_percent_of_visits": {"count": 3049, "of": 3068, "share": 0.9938}, "cohort": "panel", "protocol": "MCP", "response_time_ms": {"agents": 1799, "p50": 235, "p95": 1105, "successful_handshakes": 5516}, "visits": 9786, "visits_reachable": {"count": 9733, "of": 9786, "share": 0.9946}}, {"agents": 460, "agents_reachable_on_95_percent_of_visits": {"count": 456, "of": 460, "share": 0.9913}, "cohort": "panel", "protocol": "A2A", "response_time_ms": {"agents": 457, "p50": 158, "p95": 810, "successful_handshakes": 1506}, "visits": 1517, "visits_reachable": {"count": 1510, "of": 1517, "share": 0.9954}}], "citation": "GAIP Agent Reliability Index, the 30 days to 4 October 2026, gaipagents.com/state-of-agents, CC BY 4.0", "generated_at_utc": "2026-10-04T00:11:57Z", "headline": {"agents": 9921, "agents_reachable_on_95_percent_of_visits": {"count": 9823, "of": 9921, "share": 0.9901}, "cohort": "all", "protocol": "ALL", "response_time_ms": {"agents": 6231, "p50": 224, "p95": 1064, "successful_handshakes": 11002}, "visits": 17701, "visits_reachable": {"count": 17566, "of": 17701, "share": 0.9924}}, "licence": "CC BY 4.0", "method": "Built on the Observatory's cycle from the stored status observations of public MCP servers and A2A agents. A visit is an observation in which GAIP sent a request (reachable recorded as true or false); observations where GAIP sent nothing (withdrawn, opted out, robots.txt refused, not active in its source) are not visits. Reachable: the host answered with any HTTP status. A successful handshake is a reachable visit with an HTTP 2xx answer (MCP: the initialize answer; A2A: the agent card), with its response time in milliseconds. Per cell: the share of visits reachable; the share of agents with at least one visit that were reachable on at least 95% of their visits; the p50 and p95 response time of successful handshakes (nearest rank). Cells: protocol MCP, A2A or both, for all public agents GAIP watches and for the frozen reference panel AGENTS-COHORT-2026-10. A cell is shown when it has at least 5 agents (response times: 5 agents with a successful handshake) and any count under 5 is withheld. GAIP's own agents, hosts read because an outside caller asked about them, and withdrawn or unpublished agents are left out. A month runs from the Monday of its earliest ISO week to the Monday after its last (as the Agent Web Index) and is frozen once that window ends; the current block covers the last 30 days and is rebuilt hourly. GAIP keeps the newest 60 raw observations of each agent, so an agent visited more often than that in a window counts its newest 60. Facts as observed; not an assessment of any party.", "methods_file": "https://www.gaipagents.com/v1/free/observatory/methods", "minimum_cell_size": 5, "name": "GAIP Agent Reliability Index", "notice": "Aggregate facts observed by GAIP at the stated times: how often public agents answered and how fast. Not an assessment of any party; no agent or host is named.", "panel": {"cohort": "2026-10", "id": "AGENTS-COHORT-2026-10"}, "period": {"kind": "rolling_30_days", "label": "the 30 days to 4 October 2026", "rebuilt": "at most hourly", "status": "provisional", "window_utc": ["2026-09-04T00:11:57Z", "2026-10-04T00:11:57Z"]}, "schema_version": "gaip.reliability-index.v1", "served": {"age_seconds": 1236, "meaning": "STORED: built by the Observatory runtime at stored_at_utc and served from the database (figures are as of that time). stale is true when the stored copy is older than 5400 seconds (the hourly rebuild plus two Observatory cycles).", "source": "STORED", "stale": false, "stale_after_seconds": 5400, "stored_at_utc": "2026-10-04T00:11:57Z"}}, "final_months": [], "licence": "CC BY 4.0", "message": null, "method": "Built on the Observatory's cycle from the stored status observations of public MCP servers and A2A agents. A visit is an observation in which GAIP sent a request (reachable recorded as true or false); observations where GAIP sent nothing (withdrawn, opted out, robots.txt refused, not active in its source) are not visits. Reachable: the host answered with any HTTP status. A successful handshake is a reachable visit with an HTTP 2xx answer (MCP: the initialize answer; A2A: the agent card), with its response time in milliseconds. Per cell: the share of visits reachable; the share of agents with at least one visit that were reachable on at least 95% of their visits; the p50 and p95 response time of successful handshakes (nearest rank). Cells: protocol MCP, A2A or both, for all public agents GAIP watches and for the frozen reference panel AGENTS-COHORT-2026-10. A cell is shown when it has at least 5 agents (response times: 5 agents with a successful handshake) and any count under 5 is withheld. GAIP's own agents, hosts read because an outside caller asked about them, and withdrawn or unpublished agents are left out. A month runs from the Monday of its earliest ISO week to the Monday after its last (as the Agent Web Index) and is frozen once that window ends; the current block covers the last 30 days and is rebuilt hourly. GAIP keeps the newest 60 raw observations of each agent, so an agent visited more often than that in a window counts its newest 60. Facts as observed; not an assessment of any party.", "name": "GAIP Agent Reliability Index", "schema_version": "gaip.reliability-index.v1.download"}