Enable AI models to interact with a global network measurement platform through natural language. Give network access to any LLM.
Globalping is a free, public API that provides access to a globally distributed network of probes for monitoring, debugging, and benchmarking internet infrastructure. With Globalping, you can run network tests (ping, traceroute, DNS, MTR, HTTP) from thousands of locations worldwide.
The Globalping MCP Server implements the Model Context Protocol (MCP), allowing AI models and IDE assistants to interact with Globalping's network measurement capabilities through natural language.
The server supports standard OAuth 2.0 authentication as well as API token authentication for automated workflows.
- π Global Network Access: Run measurements from thousands of probes worldwide
- π€ AI-Friendly Interface: Any LLM will easily parse the data and run new measurements as needed
- π Comprehensive Measurements: Support for ping, traceroute, DNS, MTR, and HTTP tests
- π Smart Context Handling: Detailed parameter descriptions and semantic tool annotations for intelligent agent routing
- π Comparative Analysis: Compare network latency and routing between different targets and geographic locations
- π Authentication Support: Use OAuth or an API token with your Globalping account for higher rate limits
The primary endpoint for all modern MCP integrations is:
https://mcp.globalping.dev/mcp Streamable HTTP
Connect Globalping as a remote MCP server in ChatGPT and Codex:
- In ChatGPT, go to Settings β Security and login and enable Developer mode (or Settings β Features β MCP Servers in ChatGPT Desktop).
- Add a new custom connector / MCP server with the endpoint:
https://mcp.globalping.dev/mcp
- Authenticate via OAuth when prompted.
Add the remote server using the Codex CLI:
codex mcp add globalping --url https://mcp.globalping.dev/mcpOr add to ~/.codex/config.toml directly:
[mcp_servers.globalping]
url = "https://mcp.globalping.dev/mcp"Claude supports remote Streamable HTTP MCP connectors natively without requiring local mcp-remote bridges:
- In Claude, navigate to Settings β Connectors (or Organization settings β Connectors for Team/Enterprise accounts).
- Click + Add custom connector.
- Fill in the connector details:
- Name:
Globalping - URL:
https://mcp.globalping.dev/mcp
Run the following command in your terminal:
claude mcp add --transport http globalping https://mcp.globalping.dev/mcpTo make Globalping available across all projects on your machine (global user scope) instead of just the current project directory:
claude mcp add -s user --transport http globalping https://mcp.globalping.dev/mcpRun claude mcp login globalping --no-browser if working over SSH or in a headless terminal to complete the authorization URL exchange manually.
Add Globalping to Cursor in one click:
Or configure manually in Settings β Features β MCP Servers β Add New MCP Server:
- Type:
SSE / HTTP - Name:
globalping - URL:
https://mcp.globalping.dev/mcp
Globalping is indexed in the official Gemini CLI Extensions Gallery.
Install via the Gemini extension manager:
gemini extensions install https://github.com/jsdelivr/globalping-mcp-server(Add --auto-update to keep the extension automatically updated).
- Command Palette: Run
MCP: Add Serverand enterhttps://mcp.globalping.dev/mcp.
For any client supporting the standard Streamable HTTP MCP transport, add:
{
"mcpServers": {
"globalping": {
"url": "https://mcp.globalping.dev/mcp"
}
}
}Legacy Clients (SSE / stdio fallback): If your client strictly requires SSE over a local process bridge, configure
npx mcp-remote https://mcp.globalping.dev/sse.
Globalping MCP supports two authentication modes:
- OAuth 2.0: Handled automatically in interactive clients during connection.
- API Token: Useful for headless scripts, CI/CD pipelines, or programmatic API clients.
- Go to dash.globalping.io and generate an API token under Tokens.
- Pass the token via standard HTTP headers:
{
"mcpServers": {
"globalping": {
"url": "https://mcp.globalping.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_GLOBALPING_API_TOKEN"
}
}
}
}To use Globalping directly with Anthropic's Messages API (MCP Connector), pass the remote server definition in your request payload:
{
"model": "claude-3-7-sonnet-latest",
"max_tokens": 1024,
"mcp_servers": [
{
"type": "url",
"name": "globalping",
"url": "https://mcp.globalping.dev/mcp"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "globalping"
}
],
"messages": [
{
"role": "user",
"content": "Run a traceroute to 1.1.1.1 from Frankfurt and Tokyo."
}
]
}| Tool | Description |
|---|---|
ping |
Perform ICMP/packet ping tests to a destination |
traceroute |
Trace network routing hops to a target |
dns |
Resolve DNS queries using specific resolvers and record types |
mtr |
Run combined ping and traceroute tests (My Traceroute) |
http |
Execute HTTP/HTTPS requests from probes worldwide |
locations |
List available Globalping probe regions and filters |
limits |
Display the current free hourly test allowance and additional credits |
getMeasurement |
Retrieve results of a historical measurement by ID |
compareLocations |
Helper guide to compare multi-region performance metrics |
help |
Tool reference and syntax documentation |
authStatus |
Check the current MCP authentication status |
Once connected, run network diagnostics using natural language:
Ping google.com from 3 locations in Europe
Run a traceroute to github.com from Japan and compare with traceroute from the US
Check the DNS resolution of example.com using Google DNS (8.8.8.8)
Is jsdelivr.com reachable from China? Test with both ping and HTTP
What's the average response time for cloudflare.com across different continents?
Locations can be specified using the location's magic parameter:
- Continents:
EU,NA,AS,AF,OC,SA - Country codes:
US,DE,JP,PL,BR - Cities:
London,Tokyo,New York,Warsaw - Networks & ASNs:
Cloudflare,Google,AS13335,AS15169 - Cloud regions:
aws-us-east-1,gcp-us-central1 - Combinations:
London+UK,Cloudflare+US,AWS+Frankfurt
- Use the Streamable HTTP endpoint exactly as shown:
https://mcp.globalping.dev/mcp. - A
401 Unauthorizedresponse before completing OAuth is expected. Reconnect the integration and finish the browser authorization flow. - Use the legacy
/sseendpoint only for clients that do not support Streamable HTTP.
- Remove and reconnect the integration to start a fresh OAuth flow.
- For API-token authentication, generate a current token in the Globalping dashboard and send it as
Authorization: Bearer YOUR_GLOBALPING_API_TOKEN. - Once connected, use the
authStatustool to verify that authentication is active and thelimitstool to check the free hourly test allowance and available credits. The displayed rate limit covers free tests only; authenticated users with credits can continue above it by spending one credit per additional test.
- For usage questions and reproducible bugs, open a GitHub issue.
- For security-sensitive reports, use GitHub's private Report a vulnerability form. Do not include credentials or sensitive data in a public issue.
- Globalping's Privacy Policy and Terms of Use apply to this service.
src/
βββ index.ts # Main entry point & MCP agent definition
βββ app.ts # OAuth web routes
βββ api/ # Globalping API client
βββ auth/ # Authentication helpers
βββ config/ # Configuration & constants
βββ lib/ # Utilities
βββ mcp/ # MCP tool definitions & handlers
βββ types/ # TypeScript interfaces
βββ ui/ # OAuth HTML templates
Store OAuth credentials:
npx wrangler secret put GLOBALPING_CLIENT_IDFor OpenAI plugin-directory domain verification, store the token generated by the submission portal:
npx wrangler secret put OPENAI_APPS_CHALLENGEThe Worker serves this value as plain text from /.well-known/openai-apps-challenge. The route returns 404 until the secret is configured.
For Cloudflare Workers OAuth state management:
- Create a KV namespace:
npx wrangler kv:namespace create OAUTH_KV - Configure
OAUTH_KVinsidewrangler.jsonc.