{"approved_testimonials_count":32,"as_of":"2026-10-20T01:52:05.611106+00:00","data_available":true,"distinct_callers_7d":66,"distinct_ips_7d":759,"distinct_platforms":6,"figures":{"agents":{"as_of":"2026-10-20T01:52:05.611106+00:00","definition":"Distinct calling sources (agent_id = md5 of the first public client IP) making real external MCP calls in the trailing 7 days. An IP-derived proxy: several agents behind one NAT count once, one agent on rotating egress counts many times. Same count as /api/v1/ai/reach real_agents_7d.","value":66,"window":"7d"},"calls":{"as_of":"2026-10-20T01:52:05.611106+00:00","definition":"MCP tool invocations recorded in mcp_tool_calls in the last 30 days. Counts every invocation including probes; not de-duplicated by caller.","value":29628,"window":"30d"},"platforms":{"as_of":"2026-10-20T01:52:05.611106+00:00","definition":"Recognised AI vendors (Claude, ChatGPT, Gemini, ...) with at least one observed MCP tool call in the last 30 days. Crawlers, DC Hub's own self-traffic and test/probe traffic are excluded. Brand lists of supported clients are not counted.","value":6,"window":"30d"},"registries":{"as_of":"2026-10-20T01:52:05.611106+00:00","definition":"MCP registries and directories where DC Hub's listing is confirmed (curated set, each row with a crawler verification date on /api/v1/mcp/standing). DC Hub's own source repository is not counted.","value":8,"window":"current"}},"flags":{"callers_available":true,"platforms_available":true,"testimonials_available":true,"tool_calls_available":true},"note":"All counts are live reads from mcp_tool_calls, mcp_calls_identity + ai_testimonials. A value of 0 with its *_available flag false means no data / table unavailable \u2014 never a placeholder. platforms_30d counts EXTERNAL calls only; each row carries its unfiltered sibling and platforms_30d_excluded says what was removed.","ok":true,"platforms_30d":[{"active_days":25,"calls":240,"calls_including_self_traffic":240,"last_call":"2026-10-18","platform":"claude","recurring":true},{"active_days":15,"calls":184,"calls_including_self_traffic":184,"last_call":"2026-10-18","platform":"chatgpt","recurring":true},{"active_days":1,"calls":151,"calls_including_self_traffic":151,"last_call":"2026-10-01","platform":"anthropicapi","recurring":false},{"active_days":8,"calls":41,"calls_including_self_traffic":41,"last_call":"2026-10-19","platform":"cursor","recurring":true},{"active_days":2,"calls":25,"calls_including_self_traffic":25,"last_call":"2026-10-18","platform":"copilot","recurring":true},{"active_days":2,"calls":5,"calls_including_self_traffic":6,"last_call":"2026-10-08","platform":"grok","recurring":true},{"active_days":1,"calls":1,"calls_including_self_traffic":1,"last_call":"2026-10-07","platform":"mistral","recurring":false}],"platforms_30d_excluded":{"basis":"mcp_calls_identity WHERE is_public_ip AND is_real_external, minus DECLARED operator self-traffic sessions (mcp_calls_deloop.self_traffic_session_prefixes) and DECLARED operator client names (mcp_calls_deloop.self_traffic_client_names, e.g. our own Grok Bot connector). Declared, never inferred: the operator's client is byte-identical to a prospect's, and inventing a behavioural rule would delete real leads. calls_including_self_traffic is that same real-external population with our sessions added back \u2014 not an unfiltered total. A platform whose every call was ours is dropped from platforms_30d and named in platforms_removed_entirely: it is not an integrating platform, and naming it as one was the defect. Each row also carries active_days, last_call and recurring (active_days >= 2): a 30-day call COUNT cannot tell a platform that integrated from one that ran a single test, and naming both the same way was the second defect. recurring is null, not false, when active_days was not measured.","calls_removed":1,"platforms_removed_entirely":[],"self_traffic_client_names":["claude-code-mpp-check","dchub-growth-audit","hub-grok-bot","mcp-discovery-measurement"],"self_traffic_session_prefixes":["034ab906","1ec4fcee","21742a34","25d408c2","37df5d71","45e1f028","4ff11385","88e20dac","8c8e1d0d","9132f6e1","9902104e","9e6d2607","a83eda95","b20db7cf","b9677a81","c4e52fe6","df70fb8d","diag","e59b23dd","f9608636","f9c501b0","fc01ccc1"]},"source_columns":{"approved_testimonials_count":"COUNT(*) ai_testimonials WHERE approved = TRUE AND source <> 'claim_quote' (AI quotes only; human customer quotes are excluded)","distinct_callers_7d":"COUNT(DISTINCT agent_id) mcp_calls_identity (7d) WHERE is_public_ip AND is_real_external \u2014 canonical identity view; NEVER session_id (it rotates per MCP connection)","distinct_ips_7d":"COUNT(DISTINCT client_ip) mcp_calls_identity (7d) WHERE is_public_ip \u2014 all traffic incl. probes, secondary signal","distinct_platforms":"COUNT(DISTINCT recognized vendor) mcp_calls_identity (30d) WHERE is_public_ip AND is_real_external, minus declared operator self-traffic \u2014 was raw mcp_tool_calls with neither filter until 2026-09-03","tool_calls_30d":"COUNT(*) mcp_tool_calls WHERE created_at >= NOW()-30d","tool_calls_7d":"COUNT(*) mcp_tool_calls WHERE created_at >= NOW()-7d"},"tool_calls_30d":29628,"tool_calls_7d":6954}
