关于 mcp-netassist
mcp-netassist 为使用 MCP 客户端的 Agent 提供网络与代理诊断工具,可检查连通性、DNS、代理、hosts 条目和软件源访问,并通过完整预检给出具体建议;所有检查均为只读。
主要功能
- 01检查 GitHub 与 npm 源
- 02代理配置及端口探测
- 03比较多个解析器的 DNS
- 04主机、TCP 与 HTTPS 诊断
- 05提供修复建议的预检报告
- 06只读检查且不缓存状态
适用场景
- 01诊断 MCP 客户端无法连接 GitHub 的原因
- 02检查本地代理端口与配置
- 03排查 DNS 不一致或过期解析
- 04开发前执行网络预检
MCP 相关
它是 MCP 服务,向 MCP 客户端和 Agent 提供网络与代理诊断工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
mcp-netassist
让 Agent 在任何 MCP 客户端中自行运行网络和代理诊断——包括 Claude Code、Cursor、Claude Desktop 或 DSH。
适用场景
- MCP 客户端无法访问 GitHub 或 npm,你想让 Agent 查明原因
- 你想在每个编辑器中使用相同的诊断工具,而不是为每个宿主单独安装一个插件
- 你受够了 Agent 对网络问题的种种猜测
评分徽章说明了一切:此服务已在 Glama 上架,由维护者认领,工具定义评级为 A。需要 Windows——请参阅下方的平台说明。
兼容任何 MCP 客户端——Claude Code、Claude Desktop、Cursor、Reasonix、CodeWhale、DeepSeek Harness。让 Agent 使用它,然后询问“GitHub 现在能访问吗?”“为什么代理无法正常工作?”“我应该改什么?”——不用再靠猜。
专为中国网络环境打造:GitHub 时常不稳定、代理配置不完整、hosts 文件与代理冲突,以及 TUN 模式悄悄覆盖系统代理。
目前仅支持 Windows:诊断会调用 PowerShell。协议层具有可移植性;下一步显然是添加 POSIX 后端。
反馈
安装量可以从下载次数看出来,但它是否有帮助则无从得知。如果你使用了它,请用一句话描述实际任务,这比点个星更有价值——尤其是它没能正常工作时,因为这种情况往往无人报告:
- 你当时想做什么
- 它是否做到了
- 缺少什么或哪里不对
在 issue 中告诉我——如果已经有问题,就直接提交普通的 bug 报告。
平台
**Windows、Linux 和 macOS。**诊断会使用平台自身的机制:
| Windows | Linux / macOS | |
|---|---|---|
| DNS / TCP / HTTPS | PowerShell(System.Net) | Node dns、net、https |
| 代理配置 | 注册表中的 ProxyEnable / ProxyServer | HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY |
| hosts 文件 | %WINDIR%\System32\drivers\etc\hosts | /etc/hosts |
| TUN 适配器 | Get-NetAdapter | 可用时使用 ip link / ifconfig |
措辞也会根据平台调整:Windows 之外没有系统级代理开关,因此报告会说“代理环境变量”,而不会凭空捏造不存在的设置。
设置 MCP_NETASSIST_PLATFORM=posix 或 win32 可强制选择一个分支——测试套件会用它在同一台机器上测试两种实现。
工具
| 工具 | 回答的问题 |
|---|---|
net_github_status | 现在能访问 github.com 吗?检查 DNS、TCP 443、HTTPS 状态和延迟 |
net_proxy_status | 系统正在使用什么代理?检查注册表设置和环境变量,包括已禁用但仍留存的值 |
net_proxy_probe | 哪些本地代理端口处于活动状态?(默认值:10808、10809、7890、7897、8888、1080) |
net_diag | 检查任意主机的完整链路:DNS → TCP → HTTP 状态 |
net_hosts_check | hosts 文件中固定了哪些 GitHub 条目? |
net_dns_compare | 向 AliDNS、DNSPod、Cloudflare 和 Google 询问同一个问题并进行比较——系统解析器返回的是过期结果吗? |
net_registry_check | npm 配置使用的 npm 注册表能实际访问吗?同时检查该注册表和官方注册表。 |
net_doctor | 完整预检——代理、端口、TUN、GitHub、hosts、DNS 服务器一致性和 npm 注册表——并提供具体的修改建议 |
net_doctor 是此服务的核心。其他工具会告诉你哪里出了问题;它会告诉你该怎么做:
✔ System proxy: 127.0.0.1:10808
✔ Proxy port 10808 responding
✔ GitHub reachable (HTTP 200, 312 ms)
⚠ TUN-style adapter detected: clash
Under TUN mode the system proxy setting is usually ignored — the two can fight each other.
✔ hosts file clean (no GitHub entries)
Suggested fix:
- Under TUN mode, clear the Windows system proxy (or exclude github.com) so traffic is not double-handled.
设置
Claude Desktop / Cursor / 任意采用 JSON 配置的客户端:
{
"mcpServers": {
"netassist": {
"command": "npx",
"args": ["-y", "github:Edge-Echo/mcp-netassist"]
}
}
}
仓库中包含构建好的 lib/,因此 GitHub 方式无需构建步骤。
通过 npm 安装:
{
"mcpServers": {
"netassist": {
"command": "npx",
"args": ["-y", "mcp-netassist"]
}
}
}
Claude Code:
claude mcp add netassist -- npx -y github:Edge-Echo/mcp-netassist
DeepSeek Harness(诊断功能与原生插件相同,另将 net_doctor 作为 Agent 工具):
dsh plugin --profile web add dsh-netassist
通过检出仓库使用:
{
"mcpServers": {
"netassist": { "command": "node", "args": ["/path/to/mcp-netassist/lib/server.js"] }
}
}
在容器中使用:
docker build -t mcp-netassist .
docker run -i --rm mcp-netassist
目录列表也会使用此镜像进行内省检查。在 Linux 容器中,服务会正常启动并响应
initialize/tools/list;但工具本身需要 Windows PowerShell,缺少时会说明这一点。
设计说明
- 只读。 没有工具会写入配置、更改代理或编辑 hosts 文件。它只报告并提供建议;由你决定。
- 防注入。 每项用户输入都会通过 Base64 跨越 PowerShell 边界,绝不会作为插值文本传递。
- 无隐藏状态。 每次调用都会运行自己的检查;调用之间不会缓存任何内容,因此结果始终是最新的。
- 两个依赖项(
@modelcontextprotocol/sdk、zod),不含原生模块。
相关项目
属于 dsh-toolkit 系列 —— 同样的诊断功能也作为 DeepSeek Harness 插件(dsh-netassist)提供,并将 net_doctor 添加为 Agent 工具。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。