MCP Server

Not signed up yet? Get started for as little as $5/month

Bitping runs an MCP (Model Context Protocol) server alongside the REST API — the same node network and job-dispatch capabilities, exposed as tools an MCP-compatible client (Claude, Cursor, or your own agent) can call directly, without you hand-rolling HTTP requests.

Endpoint

https://bitping.com/mcp

This is a streamable HTTP MCP endpoint — point any MCP client that supports remote/HTTP servers at this URL.

Authentication

Read-only network tools (nodes_*, jobs_public_*) need no authentication at all. Point a client at the endpoint and they work immediately, same as the equivalent public REST routes.

Job-dispatch tools (jobs_perform_*) and my_api_usage need a credential, and there are two ways to get one.

Sign in from the client (recommended). Bitping is an OAuth 2.1 authorization server, so a client that supports remote MCP auth can fetch its own key: it sends you to a Bitping consent page in your browser, you approve, and the client stores the credential itself. You never see or paste a key. What it receives is an ordinary API key — it appears in your dashboard key list under MCP: <client name> and you can revoke it there at any time.

Or bring your own API key, sent as an x-api-key header, for clients that don’t do OAuth. Create one from your developer dashboard.

Either way an active subscription is required for the job-dispatch tools, exactly as it is for POST /jobs/customer/* on the REST API.

Account management, API keys, payouts, and billing are not exposed over MCP — those stay REST/dashboard-only, since they’re either destructive (deleting an account) or tied to a browser session an MCP client won’t hold.

Connecting a client

Claude Code

claude mcp add bitping --transport http https://bitping.com/mcp

Add --scope user to make it available in every project rather than just the current one.

The read-only tools work straight away. For job dispatch, run /mcp, select bitping, and choose Authenticate — your browser opens the Bitping consent page, and approving hands the credential back to Claude Code.

Claude Desktop / claude.ai

Go to Settings → Connectors → Add → Add custom connector, and paste in:

https://bitping.com/mcp

Sign in when prompted and the job-dispatch tools become available alongside the read-only ones.

Using an API key instead

For clients without OAuth support, most accept a URL plus custom headers:

{
  "mcpServers": {
    "bitping": {
      "type": "http",
      "url": "https://bitping.com/mcp",
      "headers": {
        "x-api-key": "${BITPING_API_KEY}"
      }
    }
  }
}

Your key is a credential — treat it like any other secret. Many clients, Claude Code included, expand ${VAR} inside headers and url, which keeps the key out of anything you commit or share. Prefer that over pasting it inline; passing it on the command line also puts it in your shell history.

If your client only supports local (stdio) servers, use an HTTP-proxy bridge such as mcp-remote pointed at the same URL:

{
  "mcpServers": {
    "bitping": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://bitping.com/mcp",
        "--header",
        "x-api-key:${BITPING_API_KEY}"
      ],
      "env": {
        "BITPING_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

(Keep the header argument free of spaces around the colon — Claude Desktop has a known bug mangling spaces inside args, so the actual key goes in the env block instead.)

Available tools

Network data (no auth required)

Tool Description
nodes_search Search the node network by continent, country, city, ISP name, or operating system
nodes_asns Per-ASN breakdown of connected nodes in a country (node counts, bandwidth stats)
nodes_locations Connected-node coordinates grouped by country
nodes_avg_locations Node-count-weighted average coordinates per country + city
nodes_count Connected node counts by country, plus the network-wide total
jobs_public_total Total completed measurement jobs across the network (lifetime)
jobs_public_usage Network-wide API usage (calls + bandwidth) for the last week
jobs_public_speed Current network job throughput (jobs/sec)

Job dispatch (requires sign-in or an API key)

These mirror the Customer Jobs API one-for-one — same node-selection filters (countryCode, ispRegex, asn, mobile/proxy/residential, bandwidth) and the same per-probe configuration object, just called as MCP tools instead of POST requests.

Tool REST equivalent
jobs_perform_dns POST /jobs/customer/dns
jobs_perform_http POST /jobs/customer/http/{method}
jobs_perform_icmp POST /jobs/customer/ping/icmp
jobs_perform_hls POST /jobs/customer/hls
jobs_perform_traceroute POST /jobs/customer/traceroute
my_api_usage Your own daily API usage (calls + bandwidth) for the current billing period

See the Bitping Developer API page for the full field-by-field reference on hostnames, node-selection filters, and each probe’s configuration object and response shape — every tool above takes and returns the same shapes.

Example: ask an agent to run a measurement

Once connected, you can ask your MCP client directly, e.g.:

“Use Bitping to run a traceroute to 1.1.1.1 from a residential node in Australia.”

The agent calls jobs_perform_traceroute with {"hostnames": ["1.1.1.1"], "countryCode": "AU", "residential": "REQUIRED"} and gets back the same hop-by-hop result the REST endpoint would return.