{
  "markdown": "# Globalping MCP Server\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/jsdelivr/globalping-media/refs/heads/master/logo/full_colored_dark.svg\" alt=\"Globalping Logo\" width=\"180\"/>\n</p>\n\n<p align=\"center\">\n  <b>Enable AI models to interact with a global network measurement platform through natural language. Give network access to any LLM.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/modelcontextprotocol/modelcontextprotocol\">\n    <img src=\"https://img.shields.io/badge/MCP-compatible-brightgreen.svg\" alt=\"MCP Compatible\">\n  </a>\n</p>\n\n## What is Globalping?\n\n[Globalping](https://globalping.io) 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.\n\n## What is the Globalping MCP Server?\n\nThe Globalping MCP Server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), allowing AI models and IDE assistants to interact with Globalping's network measurement capabilities through natural language.\n\nThe server supports standard **OAuth 2.0 authentication** as well as **API token authentication** for automated workflows.\n### Key Features\n\n* 🌐 **Global Network Access**: Run measurements from thousands of probes worldwide\n* 🤖 **AI-Friendly Interface**: Any LLM will easily parse the data and run new measurements as needed\n* 📊 **Comprehensive Measurements**: Support for ping, traceroute, DNS, MTR, and HTTP tests\n* 🔍 **Smart Context Handling**: Detailed parameter descriptions and semantic tool annotations for intelligent agent routing\n* 🔄 **Comparative Analysis**: Compare network latency and routing between different targets and geographic locations\n* 🔑 **Authentication Support**: Use OAuth or an API token with your Globalping account for higher rate limits\n\n---\n\n## Installation\n\nThe primary endpoint for all modern MCP integrations is:\n\n`https://mcp.globalping.dev/mcp` Streamable HTTP\n\n### ChatGPT & Codex\n\nConnect Globalping as a remote MCP server in ChatGPT and Codex:\n\n#### ChatGPT (Web & Desktop)\n\n1. In ChatGPT, go to **Settings** → **Security and login** and enable **Developer mode** (or **Settings** → **Features** → **MCP Servers** in ChatGPT Desktop).\n2. Add a new custom connector / MCP server with the endpoint:\n```text\nhttps://mcp.globalping.dev/mcp\n```\n\n\n3. Authenticate via OAuth when prompted.\n\n#### OpenAI Codex\n\nAdd the remote server using the Codex CLI:\n\n```bash\ncodex mcp add globalping --url https://mcp.globalping.dev/mcp\n```\n\n*Or add to `~/.codex/config.toml` directly:*\n\n```toml\n[mcp_servers.globalping]\nurl = \"https://mcp.globalping.dev/mcp\"\n```\n\n### Claude (Web, Desktop)\n\nClaude supports remote Streamable HTTP MCP connectors natively without requiring local `mcp-remote` bridges:\n\n1. In Claude, navigate to **Settings** → **Connectors** (or **Organization settings** → **Connectors** for Team/Enterprise accounts).\n2. Click **+ Add custom connector**.\n3. Fill in the connector details:\n* **Name**: `Globalping`\n* **URL**: `https://mcp.globalping.dev/mcp`\n\n#### Claude Code\n\nRun the following command in your terminal:\n\n```bash\nclaude mcp add --transport http globalping https://mcp.globalping.dev/mcp\n```\n\nTo make Globalping available across all projects on your machine (global user scope) instead of just the current project directory:\n\n```bash\nclaude mcp add -s user --transport http globalping https://mcp.globalping.dev/mcp\n```\n\n*Run `claude mcp login globalping --no-browser` if working over SSH or in a headless terminal to complete the authorization URL exchange manually.*\n\n\n### Cursor\n\nAdd Globalping to Cursor in one click:\n\n[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=Globalping&config=eyJ1cmwiOiJodHRwczovL21jcC5nbG9iYWxwaW5nLmRldi9tY3AifQ%3D%3D)\n\n*Or configure manually in **Settings** → **Features** → **MCP Servers** → **Add New MCP Server**:*\n\n* **Type**: `SSE / HTTP`\n* **Name**: `globalping`\n* **URL**: `https://mcp.globalping.dev/mcp`\n\n### Gemini CLI\n\nGlobalping is indexed in the official **[Gemini CLI Extensions Gallery](https://geminicli.com/extensions/?name=jsdelivrglobalping-mcp-server)**.\n\nInstall via the Gemini extension manager:\n\n```bash\ngemini extensions install https://github.com/jsdelivr/globalping-mcp-server\n```\n\n*(Add `--auto-update` to keep the extension automatically updated).*\n\n### VS Code & GitHub Copilot\n\n* **Command Palette**: Run `MCP: Add Server` and enter `https://mcp.globalping.dev/mcp`.\n\n### Generic MCP Clients\n\nFor any client supporting the standard Streamable HTTP MCP transport, add:\n\n```json\n{\n  \"mcpServers\": {\n    \"globalping\": {\n      \"url\": \"https://mcp.globalping.dev/mcp\"\n    }\n  }\n}\n```\n\n> **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`.\n\n---\n\n## Authentication\n\nGlobalping MCP supports two authentication modes:\n\n* **OAuth 2.0**: Handled automatically in interactive clients during connection.\n* **API Token**: Useful for headless scripts, CI/CD pipelines, or programmatic API clients.\n\n### Using a Globalping API Token\n\n1. Go to [dash.globalping.io](https://dash.globalping.io) and generate an API token under **Tokens**.\n2. Pass the token via standard HTTP headers:\n\n```json\n{\n  \"mcpServers\": {\n    \"globalping\": {\n      \"url\": \"https://mcp.globalping.dev/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_GLOBALPING_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Programmatic Integration (Anthropic Messages API)\n\nTo use Globalping directly with Anthropic's Messages API (MCP Connector), pass the remote server definition in your request payload:\n\n```json\n{\n  \"model\": \"claude-3-7-sonnet-latest\",\n  \"max_tokens\": 1024,\n  \"mcp_servers\": [\n    {\n      \"type\": \"url\",\n      \"name\": \"globalping\",\n      \"url\": \"https://mcp.globalping.dev/mcp\"\n    }\n  ],\n  \"tools\": [\n    {\n      \"type\": \"mcp_toolset\",\n      \"mcp_server_name\": \"globalping\"\n    }\n  ],\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Run a traceroute to 1.1.1.1 from Frankfurt and Tokyo.\"\n    }\n  ]\n}\n```\n\n---\n\n## Available Tools\n\n| Tool | Description |\n| --- | --- |\n| `ping` | Perform ICMP/packet ping tests to a destination |\n| `traceroute` | Trace network routing hops to a target |\n| `dns` | Resolve DNS queries using specific resolvers and record types |\n| `mtr` | Run combined ping and traceroute tests (My Traceroute) |\n| `http` | Execute HTTP/HTTPS requests from probes worldwide |\n| `locations` | List available Globalping probe regions and filters |\n| `limits` | Display the current free hourly test allowance and additional credits |\n| `getMeasurement` | Retrieve results of a historical measurement by ID |\n| `compareLocations` | Helper guide to compare multi-region performance metrics |\n| `help` | Tool reference and syntax documentation |\n| `authStatus` | Check the current MCP authentication status |\n\n---\n\n## Usage Examples\n\nOnce connected, run network diagnostics using natural language:\n\n```\nPing google.com from 3 locations in Europe\n```\n\n```\nRun a traceroute to github.com from Japan and compare with traceroute from the US\n```\n\n```\nCheck the DNS resolution of example.com using Google DNS (8.8.8.8)\n```\n\n```\nIs jsdelivr.com reachable from China? Test with both ping and HTTP\n```\n\n```\nWhat's the average response time for cloudflare.com across different continents?\n```\n\n---\n\n## Location Specification\n\nLocations can be specified using the location's `magic` parameter:\n\n* **Continents**: `EU`, `NA`, `AS`, `AF`, `OC`, `SA`\n* **Country codes**: `US`, `DE`, `JP`, `PL`, `BR`\n* **Cities**: `London`, `Tokyo`, `New York`, `Warsaw`\n* **Networks & ASNs**: `Cloudflare`, `Google`, `AS13335`, `AS15169`\n* **Cloud regions**: `aws-us-east-1`, `gcp-us-central1`\n* **Combinations**: `London+UK`, `Cloudflare+US`, `AWS+Frankfurt`\n\n---\n\n## Troubleshooting and Support\n\n### The connector cannot reach the server\n\n* Use the Streamable HTTP endpoint exactly as shown: `https://mcp.globalping.dev/mcp`.\n* A `401 Unauthorized` response before completing OAuth is expected. Reconnect the integration and finish the browser authorization flow.\n* Use the legacy `/sse` endpoint only for clients that do not support Streamable HTTP.\n\n### Authentication fails or expires\n\n* Remove and reconnect the integration to start a fresh OAuth flow.\n* For API-token authentication, generate a current token in the [Globalping dashboard](https://dash.globalping.io) and send it as `Authorization: Bearer YOUR_GLOBALPING_API_TOKEN`.\n* Once connected, use the `authStatus` tool to verify that authentication is active and the `limits` tool 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.\n\n### Get help or report a problem\n\n* For usage questions and reproducible bugs, [open a GitHub issue](https://github.com/jsdelivr/globalping-mcp-server/issues).\n* For security-sensitive reports, use GitHub's private [Report a vulnerability](https://github.com/jsdelivr/globalping-mcp-server/security/advisories/new) form. Do not include credentials or sensitive data in a public issue.\n* Globalping's [Privacy Policy](https://globalping.io/terms/privacy-policy) and [Terms of Use](https://globalping.io/terms/terms-of-use) apply to this service.\n\n---\n\n## Development\n\n```\nsrc/\n├── index.ts        # Main entry point & MCP agent definition\n├── app.ts          # OAuth web routes\n├── api/            # Globalping API client\n├── auth/           # Authentication helpers\n├── config/         # Configuration & constants\n├── lib/            # Utilities\n├── mcp/            # MCP tool definitions & handlers\n├── types/          # TypeScript interfaces\n└── ui/             # OAuth HTML templates\n```\n\n### Credentials & Secrets\n\nStore OAuth credentials:\n\n```bash\nnpx wrangler secret put GLOBALPING_CLIENT_ID\n```\n\nFor OpenAI plugin-directory domain verification, store the token generated by the submission portal:\n\n```bash\nnpx wrangler secret put OPENAI_APPS_CHALLENGE\n```\n\nThe Worker serves this value as plain text from `/.well-known/openai-apps-challenge`. The route returns `404` until the secret is configured.\n\n### KV Storage Setup\n\nFor Cloudflare Workers OAuth state management:\n\n1. Create a KV namespace: `npx wrangler kv:namespace create OAUTH_KV`\n2. Configure `OAUTH_KV` inside `wrangler.jsonc`.\n",
  "bytes": 10600,
  "sha": "7728dd913940bc8822571458943acda0df97a8c4453ce1467a14283f3aa4a10c",
  "repo_slug": "jsdelivr/globalping-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_globalping_mcp_9a49a4a7/readme"
}