README
🚀 ProbeOps MCP 服务器
ProbeOps MCP 服务器可从全球 6 个地区运行基础设施诊断。支持 SSL 检查、DNS 查找、ping 测试、whois 查询、端口检查、路由跟踪、延迟测试等功能,且各项检查会同时在美国东部、美国西部、欧盟中部、加拿大、印度和澳大利亚这 6 个地区执行。
立即使用,无需 API 密钥。运行 npx @probeops/mcp-server 即可获得 11 种诊断工具,每天有 10 次免费调用机会。添加 API 密钥可解锁全部 21 种工具、6 个地区以及更高的调用限制。
该服务器可与 Claude Code、Codex、Cursor、Windsurf、Cline 以及任何 模型上下文协议 兼容的客户端配合使用。
🚀 快速开始
选项 1:立即试用(无需 API 密钥)
Claude Code:
claude mcp add probeops -- npx -y @probeops/mcp-server
Codex:
codex mcp add probeops -- npx -y @probeops/mcp-server
Cursor / Windsurf / Cline(添加到 .mcp.json 或客户端的 MCP 配置中):
{
"mcpServers": {
"probeops": {
"command": "npx",
"args": ["-y", "@probeops/mcp-server"]
}
}
}
完成以上操作后,你将获得 11 种工具,每天有 10 次调用机会,可使用 2 个探测地区,无需注册和额外配置。
选项 2:获得完整访问权限(免费 API 密钥)
在 probeops.com 上注册并从仪表板创建 API 密钥,然后将其添加到配置中:
Claude Code:
claude mcp add probeops -e PROBEOPS_API_KEY=your-key -- npx -y @probeops/mcp-server
Codex(添加到 ~/.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"
}
}
}
}
✨ 主要特性
演示模式与完整访问权限对比
| | 演示模式(无密钥) | 免费套餐(有密钥) | 专业套餐 | |--|----------------------|------------------------|-----------------| | 工具数量 | 11 | 21 | 21 | | 每日调用次数 | 10 | 100 | 5,000 | | 每次调用的地区数量 | 2 | 4 | 6 | | 地理代理浏览时长 | — | 每天 3 小时 | 每天 10 小时 | | 设置时间 | 0 分钟 | 2 分钟 | 2 分钟 |
可获得的功能
提供 21 种基础设施诊断工具,每种工具可同时从最多 6 个地区运行。此外,还支持地理代理浏览和账户管理。
每次调用诊断工具都会返回每个地区的结果以及显示剩余使用量的配额页脚。
诊断工具(14 种)
| 工具 | 功能 | 示例输入 |
|------|-------------|---------------|
| ssl_check | 检查 SSL/TLS 证书的有效性、过期时间、颁发者、TLS 版本、SANs 以及跨地区一致性 | { "domain": "example.com" } |
| dns_lookup | 进行 DNS 记录查找(A、AAAA、CNAME、MX、TXT、NS、SOA、CAA、PTR),并检查多地区传播情况 | { "domain": "example.com", "record_type": "MX" } |
| is_it_down | 从多个地区检查网站的状态(正常、宕机、部分可用) | { "url": "https://example.com" } |
| latency_test | 从多个地区进行 HTTP 延迟测试(TTFB),返回最小/平均/最大延迟 | { "target": "example.com" } |
| traceroute | 进行网络路径跟踪,并显示每一跳的延迟。支持 TCP、UDP 或 ICMP 协议 | { "target": "example.com", "protocol": "tcp" } |
| port_check | 从多个地区检查端口的开放/关闭/过滤状态 | { "target": "example.com", "port": 443 } |
| ping | 进行 ICMP ping 测试,显示丢包率和往返时间 | { "target": "8.8.8.8" } |
| whois | 获取域名注册信息,包括注册商、日期、域名服务器 | { "domain": "example.com" } |
| nmap_port_check | 使用 nmap 检查多个端口的开放/关闭状态(非完整扫描) | { "target": "example.com", "ports": "80,443" } |
| tcp_ping | 检查到特定端口的 TCP 级延迟(在 ICMP 被阻止时可用) | { "target": "example.com", "port": 443 } |
| keyword_check | 从多个地区检查网页上是否存在特定关键词 | { "url": "https://example.com", "keyword": "pricing" } |
| websocket_check | 检查 WebSocket 端点的连接性 | { "url": "wss://example.com/ws" } |
| banner_grab | 检测端口上的服务横幅/版本信息 | { "target": "example.com", "port": 22 } |
| api_health | 检查 API 端点的健康状态(HTTP 状态、响应时间、可用性) | { "url": "https://api.example.com/health" } |
DNS 快捷方式
这些工具会使用预设的 record_type 调用 dns_lookup,无需手动输入记录类型名称:
| 工具 | 等效于 |
|------|--------------|
| mx_lookup | dns_lookup 并设置 record_type: "MX" |
| txt_lookup | dns_lookup 并设置 record_type: "TXT" |
| ns_lookup | dns_lookup 并设置 record_type: "NS" |
| cname_lookup | dns_lookup 并设置 record_type: "CNAME" |
| caa_lookup | dns_lookup 并设置 record_type: "CAA" |
| reverse_dns_lookup | dns_lookup 并设置 record_type: "PTR"(输入 IP 地址) |
地理代理浏览
| 工具 | 功能 | 示例输入 |
|------|-------------|---------------|
| get_geo_proxy | 获取某个地区的代理凭证,可与 Playwright 或任何 HTTPS 代理客户端配合使用 | { "region": "eu-central" } |
| geo_browse | 使用真实浏览器从某个地区浏览 URL,返回页面内容和/或截图 | { "url": "https://example.com", "region": "ap-south" } |
账户管理
| 工具 | 功能 |
|------|-------------|
| account_status | 查看当前配额使用情况(分钟/小时/天/月)、订阅套餐以及活动代理令牌 |
资源信息
| URI | 描述 |
|-----|-------------|
| probeops://regions | 探测地区信息,包括位置、国家和节点数量 |
| probeops://proxy-regions | 地理代理地区信息,包括 FQDN 和代理 URL |
| probeops://usage | 当前 API 使用情况、剩余配额和活动令牌状态 |
全球地区
所有诊断工具会同时从以下 6 个地区运行:
| 地区代码 | 位置 | 国家 |
|-------------|----------|---------|
| us-east | 弗吉尼亚州阿什本 | 美国 |
| us-west | 俄勒冈州博德曼 | 美国 |
| eu-central | 赫尔辛基 | 芬兰 |
| ca-central | 蒙特利尔 | 加拿大 |
| ap-south | 孟买 | 印度 |
| ap-southeast | 悉尼 | 澳大利亚 |
地理代理令牌管理
服务器会自动管理代理令牌:
| 令牌状态 | 操作 | 配额消耗 | |-------------|--------|------------| | 剩余时间 > 5 分钟 | 重用缓存的令牌 | 0 | | 剩余时间 0 - 5 分钟 | 自动延长 1 小时 | 1 单位 | | 已过期或无令牌 | 生成新令牌 | 1 单位 |
- 单个令牌可在所有 6 个地区使用,切换地区不会消耗配额。
- 每日配额为每天地理代理浏览的总时长。
- 配额在 UTC 时间午夜重置。
💻 使用示例
SSL 检查
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)
📚 详细文档
环境变量
| 变量 | 是否必需 | 默认值 | 描述 |
|----------|----------|---------|-------------|
| PROBEOPS_API_KEY | 否 | - | 你的 ProbeOps API 密钥(免费获取)。若无此密钥,将以演示模式运行(11 种工具,每天 10 次调用) |
| PROBEOPS_BASE_URL | 否 | https://probeops.com | API 基础 URL(用于测试环境或自托管实例) |
速率限制
| | 免费套餐 | 标准套餐 | 专业套餐 | |--|----------|-------------|-----------------| | 每分钟 | 15 | 30 | 50 | | 每小时 | 100 | 500 | 2,000 | | 每天 | 100 | 1,000 | 5,000 | | 每月 | 500 | 20,000 | 100,000 | | 并发调用数 | 3 | 5 | 10 | | 每日代理时长 | 3 小时 | 5 小时 | 10 小时 | | 可用地区 | 6 个中的 4 个 | 全部 6 个 | 全部 6 个 |
免费套餐无需信用卡。可随时使用 account_status 检查使用情况。
当前详细信息请参考 probeops.com/pricing。
开发步骤
克隆代码库:
git clone https://github.com/kumarprobeops/probeops-mcp-server.git
cd probeops-mcp-server
npm install
npm run build
本地测试:
PROBEOPS_API_KEY=your-key node dist/index.js
系统要求
- Node.js >= 18.0.0
- Playwright(可选) - 仅在使用
geo_browse功能获取截图时需要
若未安装 Playwright,npx playwright install chromiumgeo_browse将退回到 HTTP 获取模式(仅返回原始 HTML,无截图)。
常见问题解答
问:这与在本地运行 curl 或 dig 有何不同?
每次检查都会同时从全球 6 个地区运行。你可以从全球真实用户的角度查看 DNS 传播、延迟和可用性,而不仅仅是本地网络的情况。
问:除了 Node.js 之外,我还需要安装其他东西吗?
不需要。npx -y @probeops/mcp-server 会处理一切。Playwright 是可选的(仅用于 geo_browse 截图功能)。
问:我可以在 CI/CD 管道中使用这个吗?
可以。将 PROBEOPS_API_KEY 设置为环境变量,并从任何 MCP 兼容的工具中调用 MCP 服务器。
问:API 密钥是否安全传输?
是的。所有通信都使用 HTTPS。密钥通过 X-API-Key 头传输,不会出现在 URL 或日志中。
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE。
Scan to join WeChat group