Atlas / MCP servers / jsdelivr / Globalping

GlobalpingBLOCK

mcp/jsdelivr/globalping

Remote MCP server that gives LLMs access to run network commands

Verdict
BLOCK
Grade
F
Trust score
54 /100
Exposed tools
11 11r · 0w · 0d
Transport
sse · streamable-http
License
—
Stars
64
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Enable AI models to interact with a global network measurement platform through natural language. Give network access to any LLM.

What is Globalping?

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.

What is the Globalping MCP Server?

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.

Key Features

  • 🌐 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

Installation

The primary endpoint for all mod

Read from source at commit 800bd364a751OBSERVED · 2026-10-07
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add globalping-mcp-server -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "globalping-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (11)

11 read · 0 write · 0 destructive.

ToolRiskDescription
authStatusread
compareLocationsread
dnsread
getMeasurementread
helpread
httpread
limitsread
locationsread
mtrread
pingread
tracerouteread
04

Trust audit

BLOCKgrade F · trust 54/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (7 observation(s))
Shell
declared (3 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
worker-configuration.d.ts:3120
exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
worker-configuration.d.ts:3422
exec(cmd: string[], options?: ContainerExecOptions): Promise<ExecProcess>;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
worker-configuration.d.ts:12508
exec(query: string): Promise<D1ExecResult>;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/config/constants.ts:117
"http://127.0.0.1",
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/config/constants.ts:119
"https://127.0.0.1",
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/integration/agentcat-public-contract.test.ts:12
const token = "abcdefghijklmnopqrstuvwxyz123456";
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/integration/cancellation.test.ts:4
const token = "abcdefghijklmnopqrstuvwxyz123456";
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/unit/auth/token-manager.test.ts:239
const token = "abcdefghijklmnopqrstuvwxyz123456";
MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
sse,streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/unit/api/client.test.ts:12
} from "../../../src/api/client";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/unit/api/client.test.ts:13
import type { MeasurementOptions } from "../../../src/types";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/unit/auth/token-manager.test.ts:11
} from "../../../src/auth/token-manager";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/unit/auth/token-manager.test.ts:209
"../../../etc/passwd",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/unit/lib/agentcat.test.ts:2
import { redactAgentCatEvent } from "../../../src/lib";
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/unit/lib/security.test.ts:25
expect(validateOrigin("http://127.0.0.1")).toBe(true);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/unit/lib/security.test.ts:31
expect(validateOrigin("https://127.0.0.1")).toBe(true);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/unit/lib/security.test.ts:38
expect(validateOrigin("http://127.0.0.1:3000")).toBe(true);
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
worker-configuration.d.ts:298
atob(data: string): string;
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
worker-configuration.d.ts:384
declare function atob(data: string): string;
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/unit/lib/security.test.ts:146
expect(validateOrigin("https://mсp.globalping.io")).toBe(false); // Cyrillic 'с'
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/unit/lib/security.test.ts:503
expect(validateHost("mсp.globalping.io")).toBe(false); // Cyrillic 'с'
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@cloudflare/workers-oauth-provider, agentcat, agents, globalping, hono, zod, @biomejs/biome, @cloudflare/vitest-pool-workers
Why it matters. 15 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:273
* 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`.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:279
* 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
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 800bd364a751full audit observations/trust-audit/mcp-server/jsdelivr__globalping.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-07800bd364a751BLOCKF54first audit
06

Questions

What is the Globalping MCP server?

Remote MCP server that gives LLMs access to run network commands

What tools does Globalping expose?

11 in total: 11 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Globalping safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (54/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does Globalping need?

No credential environment variables were found in its source, so it appears to need none.

How does Globalping run?

It speaks sse and streamable-http, so it runs as a service you connect to over the network. It is published on npm as globalping-mcp-server at 1.1.0.

How current is this page?

The grade is for one exact copy of the source (800bd364a751), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement