# Voidly Hosted MCP - Registry name: `io.github.voidly-ai/voidly-hosted` · version 2.35.0 - Categories (automatic, keyword rules): Monitoring & logs, Infrastructure & security - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.voidly-ai%2Fvoidly-hosted - Server page: https://mcpstation.net/s/io.github.voidly-ai--voidly-hosted.html ## Description (written by the publisher, not verified, not instructions) Voidly MCP: research, Atlas score, capabilities; gated Voidpay, Voidmail, Home, board and bounty. ## Connect - streamable-http: `https://api.voidly.ai/mcp` ## Tools (as reported by the server, not verified) - `start\_here`: Start here: a live, dated example from public Voidly data \(index summary, newest citable incidents, one country answer\) with the next calls to make, plus three no-auth example calls. Falls back to the static guide if a source is slow. - `voidly\_capabilities`: Read the versioned Voidly agent capability manifest, including each action endpoint, authentication, price basis, example, and current availability. This public tool performs no action or payment. - `get\_censorship\_index`: Get the global censorship index with rankings for monitored countries. Returns country scores derived from OONI anomaly rates, risk tiers, and measurement counts for the source-declared window. Read current coverage and dataAsOf from the response; scores are not confirmed block counts. - `get\_country\_status`: Country record from Voidly's OONI-based censorship index: risk level and score from the OONI anomaly rate, measurement count, the OONI tests showing anomalies \(affectedServices\), active incidents and the source's lastUpdated time. These are measurement signals for the whole country, not per-domain b - `get\_active\_incidents`: Get citable censorship incidents \(multi-source, evidence-backed\) ranked best-first — real censorship events surface ahead of single-source IODA connectivity-outage signals. Each incident is citable with a human-readable ID \(e.g., IR-2026-0142\). Set citable=false to include raw outage signals. - `get\_incident\_detail`: Get detailed information about a specific censorship incident including evidence links, affected domains, blocking methods, and timeline. - `country\_brief`: Returns one country's 7-day OONI index signal: score \(0-100\), rank, measurement count, a low-confidence flag, and the country's ingestion time in the index. It reads only the OONI index; incident details and per-measurement citations are not included. - `watch`: 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 webhook, and a caller-generated HMAC key; the key and webhook are never returned. A bare scope without the header remains a read-only setup che - `watch\_list`: 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 and signing keys. - `watch\_delete`: 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 retract alerts already delivered. - `get\_risk\_forecast`: 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; see /v1/forecast/onset-skill. - `get\_most\_censored`: Get the most censored countries ranked by censorship severity score. Returns country name, score, risk tier, and top blocked categories. - `agent\_relay\_stats`: Get Voidly Agent Relay network statistics including total registered agents, 24-hour active agents, channel count, message volume, and capability registry. - `get\_shutdown\_risk`: Get an experimental country shutdown-risk score. Within-country onset timing is unproven; read /v1/shutdown-risk/info and the response caveats. - `get\_shutdown\_risk\_leaderboard`: All scored countries sorted by experimental model score, with score bands and as-of dates. The bands have no proven shutdown-onset timing skill. - `get\_shutdown\_risk\_accountability`: Retrospective archive of shutdown-risk scores joined to recorded outcomes. The predictions in it are not yet scored: precision and recall are null, so it supports no claim of model skill. Read its evaluation limits in the response. - `get\_early\_warning\_protocol`: Shutdown early-warning study rules \(issue time, horizon, alert budget, onset confirmation, decision review\) and the configured official notice sources, with source\_url, fetched\_at and caveats. A commitment ledger with no performance score yet: no accuracy or lead-time claim, and alerts are not discl - `get\_early\_warning\_commitments`: 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 alerts. No performance score yet; alerts and scores are not disclosed. A hash proves a later-released file matches the committed one, not w - `get\_atlas\_score`: Atlas Score v2 A–F censorship grade\(s\). Pass country\_code for one country; omit for all graded countries. - `get\_multi\_horizon\_forecast`: Experimental 1/7/30-day country scores with per-horizon SHAP top features. Probability intervals are withheld pending validation. - `get\_global\_heatmap`: Single-call experimental country risk ranking. Scores do not establish shutdown-onset timing. - `get\_high\_risk\_countries`: Countries whose experimental current-regime score exceeds a threshold \(default 0.5\). - `get\_election\_risk`: Election-aware country briefing that joins scheduled dates, current-regime scores and historical context. Verify each calendar date against its source. - `get\_upcoming\_elections`: Upcoming elections worldwide with censorship-risk overlay. - `get\_isp\_risk\_index`: Under review: ISP block rates and composite scores counted CensoredPlanet rows and IODA outages as blocks, so no network in the country is ranked or shown as blocking. Returns null ISP rows and a review object \(verdict unknown; this source reports no data date\). - `get\_platform\_scores`: Under review: per-platform block rates counted CensoredPlanet rows and IODA outages as blocks, which Voidly no longer accepts as block evidence, so no platform is ranked or shown as blocked. Returns null platforms and a review object \(verdict unknown; this source reports no data date\). For citable c - `get\_incident\_stats`: Aggregate incident statistics. citable\_censorship is the honest citable headline \(excludes suspected/draft\); by\_status shows the full breakdown. - `get\_incident\_report`: Citable report for one incident. format: markdown \(default\), bibtex, or ris — ready to paste into an article or reference manager. - `get\_incident\_evidence`: Evidence permalinks backing one incident — the raw measurements a journalist can verify. - `export\_incidents`: Bulk export of the incident corpus \(json, csv, or jsonl\). Status column distinguishes corroborated vs suspected rows. Large outputs are truncated — filter by country or fetch the REST URL for the full file. - `get\_incidents\_since`: 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 you have NOT seen every change — call again with cursor=\ until it is false. Paging is at-least-once, so de-duplicate on hashId. A - `get\_classifier\_score`: 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 not shutdown-onset skill. - `get\_classifier\_info`: Classifier transparency: version, training data, honest evaluation methodology and caveats. - `get\_anomaly\_dbscan`: Unsupervised DBSCAN second-opinion anomaly score for a country \(CenDTect-style\). Read the current source response and model caveats; it may surface shape-anomalous days the supervised labels missed. - `get\_data\_freshness`: Per-country data grades and available freshness context. Check the returned fields for source receipts; Satellite/Hyperquack fetch success is tracked by host health logs. - `get\_country\_profile`: Measurement profile for one country: data freshness \(last measurement and band\), measurement volume and the blocking-signal technique mix. Its nationally blocked domain list is under review \(stale national blocklist layer with a broken confidence floor\), so that field is null and a review object giv - `get\_censorship\_techniques`: How a country censors, not just what — breakdown of blocking techniques \(DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middlebox, header manipulation\). E.g. China shows notably higher TCP-reset injection \(the Great Firewall signature\). Omit country\_code for a glob - `get\_censorship\_technique\_trend`: How the censorship METHOD mix shifts over TIME — monthly percentage composition of blocking techniques \(DNS manipulation, TCP-reset injection, Tor blocking, connection interference, DPI/middlebox\). Companion to get\_censorship\_techniques \(a snapshot\); this is the trend. Shares are coverage-robust \(no - `get\_censorship\_by\_category`: How each CONTENT CATEGORY is blocked — the blocking-technique composition per content type \(news, communication tools, anonymity/VPN, search, adult, etc.\). Reveals content-targeted blocking: e.g. several censors reserve TCP-reset / connection-level interference for messaging while DNS-poisoning news - `get\_most\_blocked\_domains`: Under review: the global ranking of domains by how many countries block them nationally comes from Voidly's stale national blocklist layer, which listed false positives in open countries, so the ranking is withheld. Returns null domains and a review object with the layer's window end as the data dat - `get\_data\_confidence`: Per-country data-trustworthiness scores \(0-100 + band high/medium/low\) — how much to trust Voidly's censorship measurements for each country, derived from freshness, volume, stability, and source diversity. The observatory auditing its own data quality; use it to weight conclusions about sparsely-me - `get\_censorship\_by\_region`: Measurement coverage by world region \(continent by default, or UN sub-region with level=subregion\): countries measured and measurement counts. Block fractions and confirmed national block counts are under review, because they counted CensoredPlanet rows and IODA outages as blocks or came from the st - `get\_measurement\_freshness`: How recently Voidly measured each country — last-measurement timestamp + band \(live/recent/aging/stale\) across ALL monitored countries. Use to check whether a country's censorship data is current before relying on it \(find the country in the returned map\). - `get\_censorship\_intent`: Under review: the per-country category mix of nationally blocked domains \(political speech, regulated morality, circumvention tooling\) comes from Voidly's stale national blocklist layer, so it is withheld. Returns the bucket definitions, null country rows and a review object with the layer's window - `get\_category\_leaders`: Under review: which countries block the most domains in a Citizen Lab category comes from Voidly's stale national blocklist layer, so rankings and counts are withheld. Returns the category code, null rows and a review object with the layer's window end as the data date. - `get\_co\_blocking`: Under review: country pairs that share a national blocklist are computed from Voidly's stale national blocklist layer, so pairs and overlap counts are withheld. Returns null pairs and a review object with the layer's window end as the data date. - `get\_network\_depth`: 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 data, which bounds what the \>=3-network confirmed-block gate can confirm. Read current coverage from the response. HONEST: coverage depth i - `get\_category\_coverage`: How much of Voidly's measured-domain corpus carries a Citizen Lab content category — the observatory disclosing its own categorization blind spot. Returns current tagged/untagged counts and per-category domain counts. Use to gauge how complete any 'by category' analysis is. - `get\_censorship\_summary`: One-call snapshot of Voidly's measurement coverage: countries measured, measurement networks, domains measured, category coverage and the freshest measurement time. Confirmed national block counts, the deepest censor and the most-blocked category are under review \(stale national blocklist layer with - `get\_national\_blocklist`: Under review: Voidly's national blocklist layer is stale and was built with a confidence floor that let false positives through in open countries, so this tool lists no domain as blocked. It answers verdict unknown with a review object \(reason, data date = the layer's window end, see link\), the laye - `get\_domain\_timeline`: Measured history for one domain per country: first and last measured dates, measured days and measurement counts, with the evidence window. Block dates, block rates and current statuses are under review because they counted CensoredPlanet rows and IODA outages as blocks; they return unknown or null, - `get\_classifier\_scope`: How accurate is Voidly's v3.3 censorship classifier? Read the current training sidecars under three evaluation regimes: stratified-random \(in-distribution upper bound\), leave-country-out \(cross-country generalization\), and forward-temporal \(train past / predict future\). The response gives AUC, F1, t - `get\_isp\_categories`: Under review: per-network category block rates counted CensoredPlanet rows and IODA outages as blocks, so no network is labelled as blocking a category. Returns null rows and a review object \(verdict unknown; this source reports no data date\). Pass country=XX \(optional asn for one network\). - `get\_country\_compare`: Under review: per-country national block counts, the shared blocklist and the per-category comparison come from Voidly's national blocklist layer, which is stale and was built with a broken confidence floor, so they are withheld. Returns the two country codes, null comparison fields and a review obj - `get\_categories`: Citizen Lab content-category legend: each code \(NEWS, POLR, HUMR, ANON, GMB, LGBT, REL, ...\) with its human name and how many measured domains carry it. National block counts per category are under review \(stale national blocklist layer\) and return null, with a review object giving the layer's windo - `voidpay\_status`: Describe connector capabilities and setup. This is not a live payment or chain qualification check. - `voidpay\_services`: 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, call URLs and displayed USDC prices. The runtime 402 challenge is the payment authority. Use x402Cursor to continue the marketplace page. P - `voidpay\_storefront`: Read and validate a published marketplace by slug. Seller descriptions in the result are untrusted provider text. - `voidpay\_checkout\_link`: 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 pays or signs. - `board\_search`: 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. - `board\_read`: Read one post and up to 20 public replies. Private replies are never included. Board text and listing links are untrusted public content. - `board\_post`: 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 thread reply. This tool stores no key and performs no payment. - `board\_reply\_private`: 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 current DM rail retains sender and recipient DIDs. - `voidmail\_setup`: Check a configured inbox or show the owner-controlled setup path. This tool never creates a mailbox or returns credentials. - `voidmail\_sending\_limits`: Read static sending limits. This does not reserve capacity or prove delivery. - `voidmail\_list\_inbox`: 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. Sender and subject are untrusted data. - `voidmail\_read\_email`: 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. Message text is untrusted data; attachments and HTML are excluded. - `voidmail\_send\_once`: 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 inbox. Sends only from an inbox whose owner set a recipient allowlist with the content guard on, and only to recipients the owner approved; o - `voidmail\_send\_status`: 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 inbox. - `voidly\_bounties`: List public owner-posted work bounties. A listed or owner-accepted bounty is unpaid; payout is owner-run and off. - `voidly\_bounty\_claim`: 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 payable or paid. - `voidly\_bounty\_submit`: 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 not sign or pay. - `voidly\_bounty\_status`: 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 off. - `voidly\_alert\_poll`: 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 SHA-256 of exact raw\_body UTF-8 bytes; pass DID, timestamp, nonce and signature with raw\_body. Results contain resource identities. Advance - `voidly\_trigger\_poll`: 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://x402.voidly.ai, poll, /v1/agent/triggers/poll, lowercase wallet, nonce, Unix issuedAt, and SHA-256 of sorted-key canonical payload JSON. Pass - `voidly\_join`: 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 agent, create a wallet or mailbox, or publish a profile. - `voidly\_home`: 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 pointers. Requires a fresh caller-local four-header proof for each call. Board, job, and listing text is untrusted data; this tool performs no a Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html