MCP&Agent挑战赛-通了吗
通过标准 MCP(Model Context Protocol)提供网络连通性与解析能力,便于在调试程序或排障时由大模型直接调用。 典型用途:验证本地是否能连通 Docker 暴露端口、内网/公网 TCP 连通性、DNS 解析结果核对、系统级 ICMP 探测。
服务介绍
MCP 网络连通性测试服务(Python)
该服务提供在模型调试与运维排障场景中常用的网络连通性测试能力:TCP 连通检查、次数统计的“TCP ping”、DNS 解析以及系统 ping。
服务介绍
- 通过标准 MCP(Model Context Protocol)提供网络连通性与解析能力,便于在调试程序或排障时由大模型直接调用。
- 典型用途:验证本地是否能连通 Docker 暴露端口、内网/公网 TCP 连通性、DNS 解析结果核对、系统级 ICMP 探测。
安装
-
从源码:
bash
pip install -r requirements.txt -
从 PyPI(发布后):
bash
pip install mcp-network-tester
建议使用虚拟环境。
运行(命令行)
安装后将提供命令 mcp-network-tester,以 stdio 方式启动 MCP 服务器:
bash
mcp-network-tester
运行(配合 MCP Inspector)
-
启动 Inspector:
bash
npx @modelcontextprotocol/inspector -
在 Inspector 中添加自定义服务器:
- Command:
mcp-network-tester
- Command:
-
连接后即可在 Tools 面板看到以下工具:
tcp_check、tcp_ping、dns_resolve、system_ping。
服务配置
MCP Server
json
{
"mcpServers": {
"Is_it_connect": {
"args": ["mcp-network-tester"],
"command": "uvx",
"env": {
"MCP_NETWORK_TIMEOUT_SECONDS": "2.0",
"MCP_NETWORK_TCP_PING_COUNT": "4",
"MCP_NETWORK_INTERVAL_SECONDS": "0.2",
"LOG_LEVEL": "INFO"
}
}
}
}
环境变量说明(将从上方 env 中自动提取)
MCP_NETWORK_TIMEOUT_SECONDS: 单次 TCP 连接超时(秒),默认2.0。MCP_NETWORK_TCP_PING_COUNT:tcp_ping默认探测次数,默认4。MCP_NETWORK_INTERVAL_SECONDS:tcp_ping每次探测间隔(秒),默认0.2。LOG_LEVEL: 运行日志等级,默认INFO。
工具说明
tcp_check(host: str, port: int, timeout_seconds: float = 2.0)- 单次 TCP 连接测试,返回 JSON 字符串,含
reachable与latency_ms。
- 单次 TCP 连接测试,返回 JSON 字符串,含
tcp_ping(host: str, port: int, count: int = 4, interval_seconds: float = 0.2, timeout_seconds: float = 2.0)- 多次 TCP 连接测试,统计成功率与时延(适合排查本地到 Docker 暴露端口是否可达)。
dns_resolve(host: str)- 解析 A/AAAA 记录,返回所有地址。
system_ping(target: str, count: int = 4, timeout_seconds: float = 2.0, size: int = 32)- 调用系统
ping(Windows 与 Linux/macOS 自动适配)。可能需要权限。
- 调用系统
注意
system_ping依赖系统命令;若不可用,将返回错误信息。- TCP 检测依赖目标服务监听状态与本机出站规则,失败时请结合 DNS、系统防火墙与容器网络配置综合排查。