MCP Hub
Back to servers

@probeops/mcp-server

MCP server for multi-region infrastructure diagnostics — SSL, DNS, ping, whois, traceroute, port check, latency, and geo-proxy browsing from 6 global regions

npm72/wk
Updated
Feb 13, 2026

Quick Install

npx -y @probeops/mcp-server

ProbeOps MCP Server

npm version License: MIT Node.js MCP

MCP server for running infrastructure diagnostics from 6 global regions. SSL checks, DNS lookups, ping, whois, port checks, traceroute, latency tests, and more — each executed simultaneously from US East, US West, EU Central, Canada, India, and Australia.

Also includes geo-proxy browsing: load any URL through a real browser from a specific region and get page content + screenshots.

Works with Claude Code, Codex, Cursor, Windsurf, Cline, and any Model Context Protocol compatible client.

Quick Start

1. Get an API Key

Sign up at probeops.com and create an API key from the dashboard. Free tier available.

2. Add to Your MCP Client

Claude Code:

claude mcp add probeops -- npx -y @probeops/mcp-server

Codex:

codex mcp add probeops -- npx -y @probeops/mcp-server

Or add to ~/.codex/config.toml:

[mcp_servers.probeops]
command = "npx"
args = ["-y", "@probeops/mcp-server"]

[mcp_servers.probeops.env]
PROBEOPS_API_KEY = "your-api-key-here"

Cursor / Windsurf / Cline (add to .mcp.json or your client's MCP config):

{
  "mcpServers": {
    "probeops": {
      "command": "npx",
      "args": ["-y", "@probeops/mcp-server"],
      "env": {
        "PROBEOPS_API_KEY": "your-api-key-here"
      }
    }
  }
}

What You Get

14 infrastructure diagnostic tools, each running from 6 regions simultaneously. Plus geo-proxy browsing and account management.

Every diagnostic tool call returns per-region results and a quota footer showing remaining usage.

Diagnostic Tools (14)

ToolWhat it doesExample input
ssl_checkSSL/TLS certificate validity, expiry, issuer, TLS version, SANs, cross-region consistency{ "domain": "example.com" }
dns_lookupDNS record lookup (A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, PTR) with multi-region propagation check{ "domain": "example.com", "record_type": "MX" }
is_it_downWebsite up/down/partial status from multiple regions{ "url": "https://example.com" }
latency_testHTTP latency (TTFB) from multiple regions, returns min/avg/max{ "target": "example.com" }
tracerouteNetwork path tracing with per-hop latency. TCP, UDP, or ICMP{ "target": "example.com", "protocol": "tcp" }
port_checkPort open/closed/filtered check from multiple regions{ "target": "example.com", "port": 443 }
pingICMP ping with packet loss and round-trip times{ "target": "8.8.8.8" }
whoisDomain registration info: registrar, dates, nameservers{ "domain": "example.com" }
nmap_port_checkCheck multiple ports open/closed using nmap (not a full scan){ "target": "example.com", "ports": "80,443" }
tcp_pingTCP-level latency to a specific port (works when ICMP is blocked){ "target": "example.com", "port": 443 }
keyword_checkCheck if a keyword exists on a web page from multiple regions{ "url": "https://example.com", "keyword": "pricing" }
websocket_checkWebSocket endpoint connectivity check{ "url": "wss://example.com/ws" }
banner_grabService banner/version detection on a port{ "target": "example.com", "port": 22 }
api_healthAPI endpoint health check (HTTP status, response time, availability){ "url": "https://api.example.com/health" }

DNS Shortcuts

These call dns_lookup with a preset record_type so you don't have to remember record type names:

ToolEquivalent to
mx_lookupdns_lookup with record_type: "MX"
txt_lookupdns_lookup with record_type: "TXT"
ns_lookupdns_lookup with record_type: "NS"
cname_lookupdns_lookup with record_type: "CNAME"
caa_lookupdns_lookup with record_type: "CAA"
reverse_dns_lookupdns_lookup with record_type: "PTR" (takes an IP address)

Geo-Proxy Browsing

ToolWhat it doesExample input
get_geo_proxyGet proxy credentials for a region. Use with Playwright or any HTTPS proxy client{ "region": "eu-central" }
geo_browseBrowse a URL from a region using a real browser. Returns page content and/or screenshot{ "url": "https://example.com", "region": "ap-south" }

Account

ToolWhat it does
account_statusCurrent quota usage (minute/hour/day/month), subscription tier, active proxy token

Resources

URIDescription
probeops://regionsProbe regions with location, country, and node count
probeops://proxy-regionsGeo-proxy regions with FQDNs and proxy URLs
probeops://usageCurrent API usage, remaining quota, active token status

Global Regions

All diagnostic tools run from these 6 regions simultaneously:

Region CodeLocationCountry
us-eastAshburn, VirginiaUnited States
us-westBoardman, OregonUnited States
eu-centralHelsinkiFinland
ca-centralMontrealCanada
ap-southMumbaiIndia
ap-southeastSydneyAustralia

Geo-Proxy Token Management

The server manages proxy tokens automatically:

Token StateActionQuota Cost
> 5 min remainingReuse cached token0
0-5 min remainingAuto-extend +1 hour1 unit
Expired or no tokenGenerate new token1 unit
  • A single token works across all 6 regions. Switching regions does not consume quota.
  • Daily quota = total hours of proxy browsing per day.
  • Quota resets at midnight UTC.

Output Examples

SSL Check

ssl_check({ domain: "github.com" })

SSL Certificate Report for github.com
  Status: VALID
  Subject: github.com
  Issuer: DigiCert (DigiCert Inc)
  Expires in: 245 days
  TLS: TLSv1.3 (TLS_AES_256_GCM_SHA384)

  Region Results:
  | Region | Location | Status | Time |
  |--------|----------|--------|------|
  | us-east | Ashburn | OK | 45ms |
  | eu-central | Helsinki | OK | 38ms |
  | ap-south | Mumbai | OK | 112ms |
  | us-west | Boardman | OK | 52ms |
  | ca-central | Montreal | OK | 41ms |
  | ap-southeast | Sydney | OK | 98ms |

  Completed in 125ms
---
Diagnostics: 97 of 100 remaining today (Free)

Ping

ping({ target: "1.1.1.1" })

Ping: 1.1.1.1

  ap-south (Mumbai):
    PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
    64 bytes from 1.1.1.1: icmp_seq=1 ttl=56 time=1.35 ms
    3 packets transmitted, 3 received, 0% packet loss
    rtt min/avg/max/mdev = 1.353/1.398/1.474/0.054 ms
    Response time: 2147ms

  eu-central (Helsinki):
    PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
    64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=21.2 ms
    3 packets transmitted, 3 received, 0% packet loss
    rtt min/avg/max/mdev = 20.651/20.941/21.217/0.231 ms
    Response time: 2031ms
  ...

  Completed in 2332ms
---
Diagnostics: 96 of 100 remaining today (Free)

Whois

whois({ domain: "example.com" })

Whois: example.com

  us-east (Ashburn):
    Domain Name: EXAMPLE.COM
    Registry Domain ID: 2336799_DOMAIN_COM-VRSN
    Registrar: RESERVED-Internet Assigned Numbers Authority
    Creation Date: 1995-08-14T04:00:00Z
    Registry Expiry Date: 2025-08-13T04:00:00Z
    Name Server: A.IANA-SERVERS.NET
    Name Server: B.IANA-SERVERS.NET
    DNSSEC: signedDelegation
    Response time: 734ms
  ...

  Completed in 852ms
---
Diagnostics: 95 of 100 remaining today (Free)

Environment Variables

VariableRequiredDefaultDescription
PROBEOPS_API_KEYYes-Your ProbeOps API key (get one free)
PROBEOPS_BASE_URLNohttps://probeops.comAPI base URL (for staging or self-hosted instances)

Rate Limits

FreeStandardProfessional
Per minute153050
Per hour1005002,000
Per day1001,0005,000
Per month50020,000100,000
Concurrent3510
Proxy hours/day3510
Regions4 of 6All 6All 6

Free tier requires no credit card. Check usage anytime with account_status.

See probeops.com/pricing for current details.

Development

git clone https://github.com/kumarprobeops/probeops-mcp-server.git
cd probeops-mcp-server
npm install
npm run build

Test locally:

PROBEOPS_API_KEY=your-key node dist/index.js

Requirements

  • Node.js >= 18.0.0
  • Playwright (optional) - only needed for geo_browse screenshots
    npx playwright install chromium
    
    Without Playwright, geo_browse falls back to HTTP fetch (raw HTML, no screenshots).

FAQ

Q: How is this different from running curl or dig locally? Every check runs from 6 global regions simultaneously. You see DNS propagation, latency, and availability from the perspective of real users worldwide, not your local network.

Q: Do I need to install anything besides Node.js? No. npx -y @probeops/mcp-server handles everything. Playwright is optional (only for geo_browse screenshots).

Q: Can I use this in CI/CD pipelines? Yes. Set PROBEOPS_API_KEY as an environment variable and call the MCP server from any MCP-compatible tool.

Q: Is the API key sent securely? Yes. All communication uses HTTPS. The key is sent via the X-API-Key header, never in URLs or logs.

License

MIT - see LICENSE

Links

Reviews

No reviews yet

Sign in to write a review