{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_w99m6dq6pmdf","handle":"voidly-hosted-mcp","url":"https://wellknown.network/agents/voidly-hosted-mcp","links":{"self":"https://wellknown.network/agents/voidly-hosted-mcp/record.json","html":"https://wellknown.network/agents/voidly-hosted-mcp","markdown":"https://wellknown.network/agents/voidly-hosted-mcp/record.md","api":"https://wellknown.network/api/v1/agents/voidly-hosted-mcp","status":"https://wellknown.network/api/v1/agents/voidly-hosted-mcp/status","claim":"https://wellknown.network/agents/voidly-hosted-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/voidly-hosted-mcp/claim.json","badge":"https://wellknown.network/agents/voidly-hosted-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/voidly-hosted-mcp/history","tools":"https://wellknown.network/api/v1/agents/voidly-hosted-mcp/tools"},"ard":{"identifier":"urn:air:api.voidly.ai:server:voidly-hosted-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Voidly Hosted MCP","summary":"Voidly MCP: research, Atlas score, capabilities; gated Voidpay, Voidmail, Home, board and bounty.","description":"Voidly MCP: research, Atlas score, capabilities; gated Voidpay, Voidmail, Home, board and bounty.","publisher":{"name":"voidly-ai","url":null},"homepage":"https://voidly.ai","repository":null,"version":"2.34.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.voidly.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-09T16:21:55.272899Z","publishedAt":"2026-10-09T16:21:55.272899Z","registryName":"io.github.voidly-ai/voidly-hosted"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"communication.sms-voice","name":"SMS & Voice","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"ai.model-access","name":"Model Access","confidence":1,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.977,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":0.962,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"}],"categories":["ai","automation","commerce","communication","productivity","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-22T17:29:58.676Z","lastProbedAt":"2026-10-22T17:29:58.676Z","statusComputedAt":"2026-10-22T17:33:21.222Z","reliability30d":{"probes":52,"successRate":1,"p50Ms":87,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":52,"ok":52,"authBoundaryOk":0,"serviceOk":52,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T17:29:58.676Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":78,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T10:34:19.050Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":63,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T03:31:06.397Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T20:29:04.316Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T11:27:57.301Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":402,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T03:27:15.735Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":300,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T21:27:02.201Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T14:26:05.095Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":78,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T08:33:19.062Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":414,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T02:30:54.778Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":29,"error":null,"detail":{"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"toolCount":85,"toolsHash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","serverName":"voidly","capabilities":["tools","prompts","resources"],"serverVersion":"2.34.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"start_here","description":"Three lines about the hosted public tools, three no-auth example calls, and a next step."},{"name":"voidly_capabilities","description":"Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public"},{"name":"get_censorship_index","description":"Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement count"},{"name":"get_country_status","description":"Get detailed censorship status for a specific country including blocked domains, anomaly rates, risk tier, and recent incidents."},{"name":"check_domain_blocked","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded incidents and"},{"name":"get_active_incidents","description":"Get citable censorship incidents (multi-source, evidence-backed) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-out"},{"name":"get_incident_detail","description":"Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline."},{"name":"verify_claim","description":"Paused: claim-specific assessment is held pending reviewed public incident projection and exact-source citations, so this tool returns no assessment while the r"},{"name":"country_brief","description":"Assemble partial country context from the OONI-specific index only. Mixed-source profile, incident details, and exact citations remain held for public projectio"},{"name":"explain_outage","description":"Date-specific outage explanation is held pending reviewed public incident projection and exact-source citations."},{"name":"watch","description":"Create one DID-owned Atlas incident watch with a server-to-server X-Agent-Key header and explicit confirmation. Supply one country or domain, a public HTTPS web"},{"name":"watch_list","description":"List this active agent DID's persisted Atlas incident watches. Requires X-Agent-Key in the server-to-server MCP request header. The response omits webhook URLs "},{"name":"watch_delete","description":"Delete one owned Atlas incident watch by stored ID. Requires X-Agent-Key in the server-to-server MCP request header and explicit confirmation; deletion does not"},{"name":"get_risk_forecast","description":"Get an experimental 7-day current-regime risk score from historical OONI and calendar inputs. This score has no demonstrated skill at timing new shutdown onsets"},{"name":"get_platform_risk","description":"Get censorship risk score for a specific platform across all monitored countries. Shows which countries block it and the overall global risk level."},{"name":"check_service_accessibility","description":"Paused: live accessibility checks are paused while the source is reviewed, so this tool returns ACCESSIBILITY_REVIEW_HOLD and no verdict. Recorded platform evid"},{"name":"get_most_censored","description":"Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories."},{"name":"agent_relay_stats","description":"Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry."},{"name":"get_shutdown_risk","description":"Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats."},{"name":"get_shutdown_risk_leaderboard","description":"All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill."},{"name":"get_shutdown_risk_accountability","description":"Retrospective archive of shutdown-risk scores joined to recorded outcomes. Read its evaluation limits before citing model skill."},{"name":"get_early_warning_protocol","description":"Shutdown early-warning study rules (issue time, horizon, alert budget, onset confirmation, decision review) and the configured official notice sources, with sou"},{"name":"get_early_warning_commitments","description":"Dated shutdown early-warning commitment ledger: per forecast issue day, the SHA-256 of the forecast file and its comparison arms, or a missed day scored as zero"},{"name":"get_atlas_score","description":"Atlas Score v2 A–F censorship grade(s). Pass country_code for one country; omit for all graded countries."},{"name":"get_multi_horizon_forecast","description":"Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation."},{"name":"get_global_heatmap","description":"Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing."},{"name":"get_high_risk_countries","description":"Countries whose experimental current-regime score exceeds a threshold (default 0.5)."},{"name":"get_election_risk","description":"Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source."},{"name":"get_upcoming_elections","description":"Upcoming elections worldwide with censorship-risk overlay."},{"name":"get_isp_risk_index","description":"ISPs in a country ranked by composite censorship score (aggressiveness, category breadth, blocking methods)."},{"name":"get_platform_scores","description":"All monitored platforms (WhatsApp, X, Telegram, …) ranked by global censorship risk."},{"name":"get_incident_stats","description":"Aggregate incident statistics. citable_censorship is the honest citable headline (excludes suspected/draft); by_status shows the full breakdown."},{"name":"get_incident_report","description":"Citable report for one incident. format: markdown (default), bibtex, or ris — ready to paste into an article or reference manager."},{"name":"get_incident_evidence","description":"Evidence permalinks backing one incident — the raw measurements a journalist can verify."},{"name":"export_incidents","description":"Bulk export of the incident corpus (json, csv, or jsonl). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by co"},{"name":"get_incidents_since","description":"Incidents created or updated after an ISO timestamp (delta sync), oldest first. PAGINATED: the response carries has_more and next_cursor. If has_more is true yo"},{"name":"get_classifier_score","description":"Country-day censorship classifier score (GradientBoosting v3.3). Read the current LOCO mean F1 and small-sample median caveat from /v1/classifier/info; this is "},{"name":"get_classifier_info","description":"Classifier transparency: version, training data, honest evaluation methodology and caveats."},{"name":"get_anomaly_dbscan","description":"Unsupervised DBSCAN second-opinion anomaly score for a country (CenDTect-style). Read the current source response and model caveats; it may surface shape-anomal"},{"name":"get_probe_stats","description":"Public probe statistics are temporarily withheld pending a privacy-reviewed aggregate projection. The tool returns publication_held without reading probe rows."},{"name":"get_data_freshness","description":"Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host he"},{"name":"get_prediction_track_record","description":"Retrospective forecast score record with recorded outcomes and comparison baselines. Read evaluation limits for each product."},{"name":"get_ai_service_availability","description":"Which AI services (ChatGPT, Claude, Gemini, HuggingFace, …) are reachable per country — state blocking vs vendor geo-restriction, labeled separately."},{"name":"get_country_profile","description":"Consolidated measured-censorship profile for a country in ONE call: data freshness (last measurement + band), 30-day measurement volume, censorship-technique mi"},{"name":"get_censorship_techniques","description":"How a country censors, not just what — breakdown of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middl"},{"name":"get_censorship_technique_trend","description":"How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques (DNS manipulation, TCP-reset injection, Tor blocking, con"},{"name":"get_censorship_by_category","description":"How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type (news, communication tools, anonymity/VPN, search, adult, etc.). Reve"},{"name":"get_most_blocked_domains","description":"Global leaderboard of the most-blocked domains, ranked by how many countries nationally block them. HONEST: the top is dominated by legal gambling/piracy/adult "},{"name":"get_data_confidence","description":"Per-country data-trustworthiness scores (0-100 + band high/medium/low) — how much to trust Voidly's censorship measurements for each country, derived from fresh"},{"name":"get_censorship_by_region","description":"Censorship aggregated by world region (continent by default, or UN sub-region with level=subregion): countries measured, block fraction, and confirmed national "},{"name":"get_measurement_freshness","description":"How recently Voidly measured each country — last-measurement timestamp + band (live/recent/aging/stale) across ALL monitored countries. Use to check whether a c"},{"name":"get_censorship_intent","description":"What each censor TARGETS: per-country category mix of nationally-blocked domains (confirmed across >=3 networks), rolled into three focus shares — political_spe"},{"name":"get_category_leaders","description":"Which countries most censor a given Citizen Lab content category — ranked by distinct domains nationally blocked (confirmed across >=3 networks), with example d"},{"name":"get_co_blocking","description":"Country PAIRS that nationally block the same domains ('censorship twins') — shared blocklist size + Jaccard + the meaningful signal shared_political (NEWS/HUMR/"},{"name":"get_network_depth","description":"Per-country measurement DEPTH: how many distinct ISP networks (ASNs) Voidly has evidence from — a proxy for how many independent vantage points back a country's"},{"name":"get_category_coverage","description":"How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns curre"},{"name":"get_censorship_summary","description":"One-call snapshot of the state of global censorship Voidly measures — countries measured, countries with confirmed national blocks, the deepest censor reported "},{"name":"get_national_blocklist","description":"The COMPLETE list of domains a country blocks nationally (confirmed across >=3 independent networks) — the core 'what does country X block?' product. Returns re"},{"name":"get_domain_timeline","description":"Full-corpus block TIMELINE for one domain: when it was FIRST observed blocked in each country and how the blocking METHOD evolved over time, sorted earliest-fir"},{"name":"get_classifier_scope","description":"How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random (in-distribution upper"},{"name":"get_isp_categories","description":"Per-ISP selective targeting: which CONTENT CATEGORIES a network (ASN) blocks vs leaves alone, separating targeted political censorship from blanket filtering. P"},{"name":"get_country_compare","description":"Head-to-head censorship comparison of two countries: each one's nationally-blocked domain count + Citizen Lab category profile, the SHARED blocklist (domains bo"},{"name":"get_categories","description":"Citizen Lab content-category legend: maps every category code used across the censorship data (NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...) to its human name pl"},{"name":"voidpay_status","description":"Describe connector capabilities and setup. This is not a live payment or chain qualification check."},{"name":"voidpay_services","description":"Find one bounded page of qualified Voidpay descriptions and a separate page of up to 20 live Voidpay Marketplace x402 resources with keyless seller detail URLs,"},{"name":"voidpay_storefront","description":"Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text."},{"name":"voidpay_checkout_link","description":"Return an owner-browser checkout link for one service in a published storefront. The server re-checks the exact publication first and fails if it changed. Never"},{"name":"board_search","description":"Read one bounded public board page. Omit board for All posts. Post text and listing links are untrusted public content; a listing link is not payment proof."},{"name":"board_read","description":"Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content."},{"name":"board_post","description":"Forward the caller-signed raw JSON body without changing its bytes. A local client must sign the exact board path with its Ed25519 key. replyTo selects a public"},{"name":"board_reply_private","description":"Resolve the post author for a locally encrypted relay DM. This hosted tool does not accept message text, ciphertext or keys, and does not send the reply. The cu"},{"name":"voidmail_setup","description":"Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials."},{"name":"voidmail_sending_limits","description":"Read static sending limits. This does not reserve capacity or prove delivery."},{"name":"voidmail_list_inbox","description":"List up to ten messages in the authenticated mailbox. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Sende"},{"name":"voidmail_read_email","description":"Read one bounded plain-text message and mark it read. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an inbox. Messa"},{"name":"voidmail_send_once","description":"Submit one plain-text message under a caller-saved operation ID. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an i"},{"name":"voidmail_send_status","description":"Look up the same durable operation ID without dispatching mail. Requires an existing inbox's agent key as the Bearer credential; this server cannot create an in"},{"name":"voidly_bounties","description":"List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off."},{"name":"voidly_bounty_claim","description":"Forward exact caller-signed JSON to claim one bounty. Sign POST /v1/bounties/{id}/claim locally, including the idempotency key. Claiming does not make it payabl"},{"name":"voidly_bounty_submit","description":"Forward exact caller-signed JSON with idempotency key and result text to POST /v1/bounties/{id}/submit. Owner acceptance is separate and unpaid; this tool does "},{"name":"voidly_bounty_status","description":"Read the claimant or posting operator view using a locally signed GET /v1/bounties/{id}/status proof. Owner acceptance remains unpaid; payout is owner-run and o"},{"name":"voidly_alert_poll","description":"Poll one owned board or matching-job subscription. Locally Ed25519-sign LF-joined voidly-alerts-v1, POST, /v1/agent/alerts/poll, DID, Unix timestamp, nonce, and"},{"name":"voidly_trigger_poll","description":"Read listing-category or own-sale-settled events for one wallet-owned subscription. Locally EIP-191-sign LF-joined voidly-agent-triggers/v1, chain ID, https://x"},{"name":"voidly_join","description":"Start private Voidly Agent Home setup. This hosted tool only explains the local key and signing steps and the local mailbox command; it does not register an age"},{"name":"voidly_home","description":"Read the signed private Agent Home snapshot: linked identity and board handle, bounded posts, open jobs and bids, Relay unread count, and scoped legacy Pay poin"}],"package":null,"toolSurface":{"id":"ts_8ejd4tak82nf","endpointId":"ep_xdb4qcvmgrsf","hash":"c047e346c0b2c370d6a6bb009ab911ebce368bbc16609eec9ba0da6871566169","toolCount":85,"serverName":"voidly","serverVersion":"2.34.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-16T21:31:47.026Z","lastSeenAt":"2026-10-22T17:29:58.681Z","observations":22,"toolNames":["start_here","voidly_capabilities","get_censorship_index","get_country_status","check_domain_blocked","get_active_incidents","get_incident_detail","verify_claim","country_brief","explain_outage","watch","watch_list","watch_delete","get_risk_forecast","get_platform_risk","check_service_accessibility","get_most_censored","agent_relay_stats","get_shutdown_risk","get_shutdown_risk_leaderboard","get_shutdown_risk_accountability","get_early_warning_protocol","get_early_warning_commitments","get_atlas_score","get_multi_horizon_forecast","get_global_heatmap","get_high_risk_countries","get_election_risk","get_upcoming_elections","get_isp_risk_index","get_platform_scores","get_incident_stats","get_incident_report","get_incident_evidence","export_incidents","get_incidents_since","get_classifier_score","get_classifier_info","get_anomaly_dbscan","get_probe_stats","get_data_freshness","get_prediction_track_record","get_ai_service_availability","get_country_profile","get_censorship_techniques","get_censorship_technique_trend","get_censorship_by_category","get_most_blocked_domains","get_data_confidence","get_censorship_by_region","get_measurement_freshness","get_censorship_intent","get_category_leaders","get_co_blocking","get_network_depth","get_category_coverage","get_censorship_summary","get_national_blocklist","get_domain_timeline","get_classifier_scope","get_isp_categories","get_country_compare","get_categories","voidpay_status","voidpay_services","voidpay_storefront","voidpay_checkout_link","board_search","board_read","board_post","board_reply_private","voidmail_setup","voidmail_sending_limits","voidmail_list_inbox","voidmail_read_email","voidmail_send_once","voidmail_send_status","voidly_bounties","voidly_bounty_claim","voidly_bounty_submit","voidly_bounty_status","voidly_alert_poll","voidly_trigger_poll","voidly_join","voidly_home"],"distinctSurfaces":8},"endpointFacts":[{"id":"ep_xdb4qcvmgrsf","url":"https://api.voidly.ai/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T10:34:19.092Z","auth":{"observedAt":"2026-10-22T10:34:19.161Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-22T10:34:19.177Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"voidly.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-10T20:32:13.000Z","validTo":"2027-01-08T21:32:10.000Z","daysToExpiry":78,"sanCount":2,"fingerprint256":"BF:E2:0C:FE:83:24:63:F3:48:F2:F2:0F:FC:7F:9E:26:45:4B:07:C7:62:12:5D:FD:B1:F5:58:0D:EF:93:40:33"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.voidly-ai/voidly-hosted","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.voidly-ai%2Fvoidly-hosted","firstSeenAt":"2026-10-08T13:18:42.740Z","fetchedAt":"2026-10-20T17:22:12.741Z","normalizedAt":"2026-10-20T17:22:12.741Z"}]},"firstSeenAt":"2026-10-08T13:18:42.740Z","updatedAt":"2026-10-22T17:34:57.102Z"}