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.