npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@probeops/mcp-server

v1.2.4

Published

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

Readme

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.

Works instantly — no API key required. Run npx @probeops/mcp-server and get 11 diagnostic tools with 10 free calls per day. Add an API key to unlock all 21 tools, 6 regions, and higher limits.

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

Quick Start

Option 1: Try It Now (No API Key)

Claude Code:

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

Codex:

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

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

{
  "mcpServers": {
    "probeops": {
      "command": "npx",
      "args": ["-y", "@probeops/mcp-server"]
    }
  }
}

That's it. You get 11 tools with 10 calls per day and 2 probe regions — no signup, no configuration.

Option 2: Full Access (Free API Key)

Sign up at probeops.com and create an API key from the dashboard. Then add it to your config:

Claude Code:

claude mcp add probeops -e PROBEOPS_API_KEY=your-key -- npx -y @probeops/mcp-server

Codex (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:

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

Demo Mode vs Full Access

| | Demo Mode (no key) | Free Tier (with key) | Professional | |--|----------------------|------------------------|-----------------| | Tools | 11 | 21 | 21 | | Calls per day | 10 | 100 | 5,000 | | Regions per call | 2 | 4 | 6 | | Geo-proxy browsing | — | 3 hours/day | 10 hours/day | | Setup time | 0 min | 2 min | 2 min |

What You Get

21 infrastructure diagnostic tools, each running from up to 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)

| Tool | What it does | Example input | |------|-------------|---------------| | ssl_check | SSL/TLS certificate validity, expiry, issuer, TLS version, SANs, cross-region consistency | { "domain": "example.com" } | | dns_lookup | DNS record lookup (A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, PTR) with multi-region propagation check | { "domain": "example.com", "record_type": "MX" } | | is_it_down | Website up/down/partial status from multiple regions | { "url": "https://example.com" } | | latency_test | HTTP latency (TTFB) from multiple regions, returns min/avg/max | { "target": "example.com" } | | traceroute | Network path tracing with per-hop latency. TCP, UDP, or ICMP | { "target": "example.com", "protocol": "tcp" } | | port_check | Port open/closed/filtered check from multiple regions | { "target": "example.com", "port": 443 } | | ping | ICMP ping with packet loss and round-trip times | { "target": "8.8.8.8" } | | whois | Domain registration info: registrar, dates, nameservers | { "domain": "example.com" } | | nmap_port_check | Check multiple ports open/closed using nmap (not a full scan) | { "target": "example.com", "ports": "80,443" } | | tcp_ping | TCP-level latency to a specific port (works when ICMP is blocked) | { "target": "example.com", "port": 443 } | | keyword_check | Check if a keyword exists on a web page from multiple regions | { "url": "https://example.com", "keyword": "pricing" } | | websocket_check | WebSocket endpoint connectivity check | { "url": "wss://example.com/ws" } | | banner_grab | Service banner/version detection on a port | { "target": "example.com", "port": 22 } | | api_health | API 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:

| Tool | Equivalent to | |------|--------------| | mx_lookup | dns_lookup with record_type: "MX" | | txt_lookup | dns_lookup with record_type: "TXT" | | ns_lookup | dns_lookup with record_type: "NS" | | cname_lookup | dns_lookup with record_type: "CNAME" | | caa_lookup | dns_lookup with record_type: "CAA" | | reverse_dns_lookup | dns_lookup with record_type: "PTR" (takes an IP address) |

Geo-Proxy Browsing

| Tool | What it does | Example input | |------|-------------|---------------| | get_geo_proxy | Get proxy credentials for a region. Use with Playwright or any HTTPS proxy client | { "region": "eu-central" } | | geo_browse | Browse a URL from a region using a real browser. Returns page content and/or screenshot | { "url": "https://example.com", "region": "ap-south" } |

Account

| Tool | What it does | |------|-------------| | account_status | Current quota usage (minute/hour/day/month), subscription tier, active proxy token |

Resources

| URI | Description | |-----|-------------| | probeops://regions | Probe regions with location, country, and node count | | probeops://proxy-regions | Geo-proxy regions with FQDNs and proxy URLs | | probeops://usage | Current API usage, remaining quota, active token status |

Global Regions

All diagnostic tools run from these 6 regions simultaneously:

| Region Code | Location | Country | |-------------|----------|---------| | us-east | Ashburn, Virginia | United States | | us-west | Boardman, Oregon | United States | | eu-central | Helsinki | Finland | | ca-central | Montreal | Canada | | ap-south | Mumbai | India | | ap-southeast | Sydney | Australia |

Geo-Proxy Token Management

The server manages proxy tokens automatically:

| Token State | Action | Quota Cost | |-------------|--------|------------| | > 5 min remaining | Reuse cached token | 0 | | 0-5 min remaining | Auto-extend +1 hour | 1 unit | | Expired or no token | Generate new token | 1 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

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | PROBEOPS_API_KEY | No | - | Your ProbeOps API key (get one free). Without it, runs in demo mode (11 tools, 10 calls/day) | | PROBEOPS_BASE_URL | No | https://probeops.com | API base URL (for staging or self-hosted instances) |

Rate Limits

| | Free | Standard | Professional | |--|----------|-------------|-----------------| | Per minute | 15 | 30 | 50 | | Per hour | 100 | 500 | 2,000 | | Per day | 100 | 1,000 | 5,000 | | Per month | 500 | 20,000 | 100,000 | | Concurrent | 3 | 5 | 10 | | Proxy hours/day | 3 | 5 | 10 | | Regions | 4 of 6 | All 6 | All 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