{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-globalping","slug":"globalping","name":"Globalping","type":"mcp","url":"https://github.com/jsdelivr/globalping-mcp-server","page_url":"https://unfragile.ai/globalping","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-globalping__cap_0","uri":"capability://tool.use.integration.mcp.protocol.endpoint.routing.with.dual.transport.support","name":"mcp protocol endpoint routing with dual transport support","description":"Implements Model Context Protocol (MCP) as a Cloudflare Worker with dual transport endpoints (/mcp for JSON-RPC and /sse for Server-Sent Events), both routing to the same GlobalpingMCP Durable Object agent. Uses Hono HTTP routing framework to demultiplex requests and maintain stateful agent instances across edge locations, enabling AI clients (Claude, Cursor, Gemini) to invoke network diagnostic tools through standardized MCP interface without transport-specific logic.","intents":["I want to expose network diagnostic capabilities to Claude Desktop and other MCP-compatible AI clients","I need both JSON-RPC and SSE transports for different client compatibility requirements","I want to maintain stateful tool execution context across multiple requests from the same user session"],"best_for":["AI application developers integrating network diagnostics into Claude, Cursor, or Gemini","teams building MCP servers on Cloudflare Workers infrastructure","developers needing multi-transport protocol support without duplicating business logic"],"limitations":["Durable Objects have a 30-second execution timeout per request, limiting long-running network measurements","SSE transport has higher latency than JSON-RPC due to event streaming overhead","Requires Cloudflare Workers account with Durable Objects enabled (paid tier)"],"requires":["Cloudflare Workers account with Durable Objects binding","Node.js compatibility mode enabled in wrangler.jsonc","@modelcontextprotocol/sdk package","Hono framework for HTTP routing"],"input_types":["JSON-RPC requests (method, params, id)","MCP protocol messages (initialize, call_tool, list_tools)"],"output_types":["JSON-RPC responses with tool results","Server-Sent Events stream with incremental results"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_1","uri":"capability://tool.use.integration.global.network.measurement.tool.invocation.with.location.aware.probe.routing","name":"global network measurement tool invocation with location-aware probe routing","description":"Registers five network diagnostic tools (ping, traceroute, mtr, http, dns) as MCP-compliant callables that translate natural language parameters into Globalping API requests routed to thousands of worldwide probe locations. Uses the Globalping npm client library to abstract API complexity, supporting location specification by continent, country, city, and network ASN, with automatic probe selection and measurement lifecycle management including polling for asynchronous results.","intents":["I want to run ping/traceroute/DNS queries from specific geographic regions without managing probe infrastructure","I need to diagnose network issues from the perspective of users in different countries","I want Claude to automatically select appropriate probes based on natural language location hints like 'from Europe' or 'from Tokyo'"],"best_for":["DevOps engineers debugging global CDN performance issues","SREs investigating regional network problems through AI agents","application developers building multi-region monitoring into AI workflows"],"limitations":["Measurement results are asynchronous; tool must poll Globalping API until status transitions to 'finished', adding 2-10 second latency","Probe availability varies by location; some regions have limited coverage","MTR measurements can take 30+ seconds; may exceed Durable Object 30-second timeout","No built-in result caching across different tool invocations"],"requires":["Globalping API access (free tier available)","globalping npm package installed","Valid authentication token (OAuth or API key)","Network connectivity from Cloudflare edge locations"],"input_types":["Natural language parameters: target (IP/domain), location (continent/country/city/ASN), protocol options"],"output_types":["Structured measurement results: latency, hops, DNS records, HTTP status, packet loss","Raw probe response data with timestamps"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_2","uri":"capability://safety.moderation.oauth.2.0.with.pkce.authentication.and.dual.token.management","name":"oauth 2.0 with pkce authentication and dual token management","description":"Implements PKCE-compliant OAuth 2.0 flow using @cloudflare/workers-oauth-provider, supporting both OAuth tokens and API key authentication with separate token management pipelines. OAuth state is stored in Cloudflare KV with TTL-based expiration, and tokens are persisted in Durable Object state for session continuity. Handles authorization code exchange, token refresh, and fallback to API key authentication for non-interactive scenarios, enabling both user-initiated and programmatic access patterns.","intents":["I want users to authenticate with Globalping through OAuth without sharing API keys","I need to support both interactive (Claude Desktop) and non-interactive (API key) authentication","I want to securely store and refresh tokens without exposing them to the client"],"best_for":["teams deploying Globalping MCP to multiple users with centralized auth","enterprises requiring OAuth compliance for audit trails","developers building both interactive and programmatic access patterns"],"limitations":["KV storage has eventual consistency; race conditions possible during concurrent auth requests","OAuth state tokens expire after TTL (default unclear from docs); expired states cause auth failures","No built-in token revocation; revoked tokens remain valid until expiration","PKCE implementation requires client-side code_verifier generation; not suitable for pure server-to-server flows"],"requires":["Cloudflare KV namespace binding (OAUTH_KV)","Globalping OAuth application credentials (client_id, client_secret)","@cloudflare/workers-oauth-provider package","Durable Object state persistence"],"input_types":["OAuth authorization code (from /authorize redirect)","API key string (for fallback auth)","PKCE code_verifier (from client)"],"output_types":["OAuth access token and refresh token","Session state persisted in Durable Object","Authenticated API requests to Globalping"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_3","uri":"capability://memory.knowledge.stateful.mcp.agent.persistence.with.durable.objects.and.sqlite.storage","name":"stateful mcp agent persistence with durable objects and sqlite storage","description":"Maintains per-user MCP agent state using Cloudflare Durable Objects with embedded SQLite storage, enabling session continuity across multiple tool invocations and request batches. Each user gets a unique Durable Object instance that persists tool execution history, measurement results, and authentication context, with automatic state serialization and recovery on edge location failover. Implements the GlobalpingMCP class as a stateful agent that accumulates context across calls without requiring external databases.","intents":["I want Claude to remember previous network measurements and refer back to them in subsequent queries","I need to maintain user session state across multiple MCP requests without external storage","I want measurement results cached locally to avoid redundant API calls within a session"],"best_for":["multi-turn diagnostic workflows where context accumulation matters","teams avoiding external database dependencies for MCP state","applications requiring sub-100ms state access for agent decision-making"],"limitations":["Durable Objects are billed per-instance; high user concurrency increases costs","SQLite storage is limited to Durable Object memory; no explicit size limits documented","State is not replicated across regions; failover may lose recent writes","No built-in state versioning or migration tools for schema changes"],"requires":["Cloudflare Durable Objects binding in wrangler.jsonc","SQLite support in Cloudflare Workers (via Node.js compatibility mode)","Durable Object class implementing MCP Server interface","User identifier for routing to correct Durable Object instance"],"input_types":["MCP protocol messages (initialize, call_tool, list_tools)","User session identifier"],"output_types":["Persisted agent state (tool history, results, context)","MCP responses with accumulated context"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_4","uri":"capability://planning.reasoning.natural.language.to.network.diagnostic.command.translation.with.parameter.extraction","name":"natural language to network diagnostic command translation with parameter extraction","description":"Parses natural language tool invocations from Claude into structured Globalping API parameters by extracting target (IP/domain), location hints (continent/country/city), and protocol options through MCP tool schema validation. Maps user intent like 'ping google.com from Europe' to Globalping API calls with location filters, automatically selecting appropriate probe regions and measurement parameters without requiring users to understand API details or probe infrastructure.","intents":["I want to say 'ping example.com from Tokyo' and have it automatically route to Japanese probes","I need Claude to infer measurement type (ping vs traceroute) from context without explicit specification","I want location names (country/city) converted to Globalping location filters automatically"],"best_for":["non-technical users querying network diagnostics through natural language","AI agents building diagnostic workflows without explicit API knowledge","teams reducing cognitive load by abstracting probe selection logic"],"limitations":["Ambiguous location names (e.g., 'Springfield') may select wrong probe region","Natural language parsing is rule-based, not ML-driven; complex queries may fail","No support for custom probe selection criteria beyond location/ASN","Parameter extraction errors silently default to global probe selection"],"requires":["MCP tool schema definitions with parameter descriptions","Location name mapping to Globalping location filters","Claude or compatible LLM to perform initial intent parsing"],"input_types":["Natural language strings: 'ping example.com from Germany', 'traceroute 8.8.8.8 from Asia'"],"output_types":["Structured Globalping API parameters: target, location, measurementType, options"],"categories":["planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_5","uri":"capability://automation.workflow.cloudflare.workers.edge.native.deployment.with.global.request.routing","name":"cloudflare workers edge-native deployment with global request routing","description":"Deploys the MCP server as a Cloudflare Worker application configured via wrangler.jsonc, enabling automatic global request routing to the nearest edge location with sub-100ms latency. Uses Cloudflare's global CDN to serve MCP endpoints from 300+ data centers, with automatic failover and load balancing. Integrates Durable Objects for stateful agent persistence and KV for session storage, all within Cloudflare's managed infrastructure without requiring separate server provisioning.","intents":["I want to deploy an MCP server globally without managing servers or containers","I need sub-100ms latency for MCP requests regardless of user location","I want automatic scaling and failover without DevOps overhead"],"best_for":["teams avoiding infrastructure management for MCP servers","applications requiring global low-latency access","startups with limited DevOps resources"],"limitations":["Cloudflare Workers have 30-second CPU timeout per request; long-running diagnostics may fail","Memory is limited to ~128MB per Worker instance","Durable Objects are billed per-instance; high concurrency increases costs significantly","Vendor lock-in to Cloudflare ecosystem; migration to other platforms requires rewriting"],"requires":["Cloudflare account with Workers and Durable Objects enabled (paid tier)","wrangler CLI for deployment","Node.js compatibility mode enabled in wrangler.jsonc","Cloudflare API token for deployment automation"],"input_types":["MCP protocol requests (HTTP POST/GET)"],"output_types":["MCP protocol responses (HTTP 200 with JSON/SSE)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_6","uri":"capability://tool.use.integration.multi.client.mcp.integration.with.claude.desktop.cursor.and.gemini.support","name":"multi-client mcp integration with claude desktop, cursor, and gemini support","description":"Provides standardized MCP server endpoints compatible with Claude Desktop, Cursor IDE, and Gemini extensions through single codebase. Clients connect via JSON-RPC or SSE transports to invoke network diagnostic tools, with each client maintaining independent sessions through Durable Object routing. Configuration guides included for integrating into each client's MCP server list without client-specific code branches.","intents":["I want to use the same network diagnostics in Claude Desktop and Cursor without duplicating the server","I need to support multiple AI clients with a single MCP deployment","I want to add network diagnostics to Gemini without rebuilding the server"],"best_for":["teams using multiple AI clients (Claude + Cursor + Gemini)","developers building client-agnostic MCP servers","enterprises standardizing on MCP for tool integration"],"limitations":["Each client has different configuration requirements; setup is not fully automated","Gemini extension support is newer; may have compatibility issues","No built-in client detection or feature negotiation; all clients get identical capabilities","Client-specific bugs or limitations are not abstracted away"],"requires":["Claude Desktop 0.1.0+ or Cursor 0.40.0+ or Gemini extension","MCP server URL (Cloudflare Workers endpoint)","Authentication credentials (OAuth token or API key)","Client-specific configuration (JSON in config files)"],"input_types":["MCP protocol requests from any compatible client"],"output_types":["MCP protocol responses compatible with all clients"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_7","uri":"capability://automation.workflow.asynchronous.measurement.result.polling.with.timeout.handling","name":"asynchronous measurement result polling with timeout handling","description":"Implements polling loops within MCP tool handlers to wait for Globalping API measurements to complete, checking status at regular intervals until 'finished' state is reached or timeout expires. Abstracts the async Globalping API into synchronous MCP tool responses by blocking the Durable Object execution context, with configurable timeout thresholds to prevent exceeding Cloudflare's 30-second Worker timeout. Returns partial results or error states if measurements don't complete within timeout window.","intents":["I want Claude to wait for network measurements to complete without exposing async complexity","I need to handle slow measurements (traceroute, MTR) that take 10+ seconds","I want graceful timeout handling when measurements exceed expected duration"],"best_for":["developers hiding async APIs behind synchronous MCP interfaces","applications requiring predictable response times despite variable backend latency","teams avoiding callback-based or promise-based MCP patterns"],"limitations":["Polling adds 1-10 second latency per measurement; not suitable for real-time diagnostics","Timeout handling is binary: either complete or fail; no partial result streaming","Polling interval is fixed; no exponential backoff or adaptive timing","Blocks Durable Object execution; concurrent measurements consume timeout budget"],"requires":["Globalping API measurement ID tracking","Configurable timeout threshold (must be < 30 seconds)","Polling interval configuration (typically 1-2 seconds)"],"input_types":["Globalping measurement ID from initial API call"],"output_types":["Completed measurement results or timeout error"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-globalping__cap_8","uri":"capability://data.processing.analysis.location.aware.probe.selection.with.continent.country.city.and.asn.filtering","name":"location-aware probe selection with continent, country, city, and asn filtering","description":"Translates user location hints into Globalping API location filters supporting multiple granularity levels: continent (e.g., 'Europe'), country (e.g., 'Germany'), city (e.g., 'Berlin'), and network ASN. Maintains mapping tables between human-readable location names and Globalping location identifiers, with fallback to global probe selection if location is ambiguous or unavailable. Enables natural language queries like 'from Tokyo' or 'from Verizon network' without requiring users to know probe IDs.","intents":["I want to run diagnostics from specific geographic regions without knowing probe IDs","I need to test from a particular ISP or network (ASN-based selection)","I want Claude to automatically select appropriate probes based on location context"],"best_for":["DevOps engineers testing regional CDN performance","network engineers diagnosing ISP-specific issues","developers building location-aware diagnostic workflows"],"limitations":["Location name mapping is static; new cities/regions require code updates","Ambiguous names (e.g., 'Springfield' in multiple states) default to first match","ASN filtering requires knowledge of ISP ASN numbers; not user-friendly","Probe availability varies by location; requested location may have no probes"],"requires":["Location name to Globalping location ID mapping table","Globalping API location filter support","Natural language location parsing (handled by Claude)"],"input_types":["Location strings: continent, country, city, or ASN"],"output_types":["Globalping location filter parameters"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":26,"verified":false,"data_access_risk":"high","permissions":["Cloudflare Workers account with Durable Objects binding","Node.js compatibility mode enabled in wrangler.jsonc","@modelcontextprotocol/sdk package","Hono framework for HTTP routing","Globalping API access (free tier available)","globalping npm package installed","Valid authentication token (OAuth or API key)","Network connectivity from Cloudflare edge locations","Cloudflare KV namespace binding (OAUTH_KV)","Globalping OAuth application credentials (client_id, client_secret)"],"failure_modes":["Durable Objects have a 30-second execution timeout per request, limiting long-running network measurements","SSE transport has higher latency than JSON-RPC due to event streaming overhead","Requires Cloudflare Workers account with Durable Objects enabled (paid tier)","Measurement results are asynchronous; tool must poll Globalping API until status transitions to 'finished', adding 2-10 second latency","Probe availability varies by location; some regions have limited coverage","MTR measurements can take 30+ seconds; may exceed Durable Object 30-second timeout","No built-in result caching across different tool invocations","KV storage has eventual consistency; race conditions possible during concurrent auth requests","OAuth state tokens expire after TTL (default unclear from docs); expired states cause auth failures","No built-in token revocation; revoked tokens remain valid until expiration","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.28,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:03.040Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=globalping","compare_url":"https://unfragile.ai/compare?artifact=globalping"}},"signature":"Oa/tAiOSeWgkng3WuZvE6ZX+bNm6vj8yMp2C5Bw5rU9ANaEOTE4jmd2g2HdFWzNKHbkltR0/0PjhGy/ZnkBtCA==","signedAt":"2026-06-20T18:26:04.551Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/globalping","artifact":"https://unfragile.ai/globalping","verify":"https://unfragile.ai/api/v1/verify?slug=globalping","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}