OONI

live SecurityReference

Internet censorship measurements from OONI's global probe network — check whether a website or app (WhatsApp, Telegram, Signal, Tor) is blocked in any country, with anomaly and confirmed-blocking counts.

4 tools
0ms auth
free tier 50 calls/day

Tools

ooni_site_reachability

Check whether a website is blocked or censored in a specific country, using OONI network measurements from volunteer probes. Returns counts of OK, anomalous, confirmed-blocked, and failed measurements

No parameters required.

Try it
ooni_blocking_trend

Daily time series of OONI censorship measurements for a website in a country — shows when blocking started, stopped, or intensified (e.g. Twitter in Iran day by day). Returns per-day OK / anomaly / co

No parameters required.

Try it
ooni_app_blocking

Check whether a messaging or circumvention app is blocked in a country using OONI app-specific tests: WhatsApp, Telegram, Signal, Facebook Messenger, or Tor. Returns measurement counts and a blocking

No parameters required.

Try it
ooni_measurements

List recent raw OONI measurements for a domain and/or country — individual probe results with timestamp, network (ASN), anomaly/confirmed flags, and a link to the full measurement on OONI Explorer. Us

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/ooni/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/ooni/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ooni_site_reachability","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("ooni_site_reachability", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("internet censorship measurements from ooni's global probe network — check whether a website or app (whatsapp, telegram, signal, tor) is blocked in any country, with anomaly and confirmed-blocking counts");