关于 NetOps Field Notes
NetOps Field Notes 是面向网络工程师和编码 Agent 的只读 MCP 服务,用于分析配置、认证日志和拟议变更。它以确定性检查覆盖合规性、证书、拓扑和变更风险,不会应用设备变更。
主要功能
- 01配置差异与风险评级
- 02CIS/PCI 合规检查
- 03802.1X 故障诊断
- 04证书提取与检查
- 05设备信息与拓扑推断
- 06防火墙及变更预检
适用场景
- 01比较网络设备配置快照
- 02排查 802.1X 认证失败
- 03查找配置中即将过期的证书
- 04部署前评估防火墙修改
MCP 相关
它向 MCP 客户端提供只读网络运维工具。输入以文本传入,不会向设备写入变更。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/labaccessnow/netops-field-notes-mcp:0.1.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/labaccessnow/netops-field-notes-mcp:0.1.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
netops-field-notes-mcp
把我手动检查网络设备的工作变成编码 Agent 可调用的工具:比较两个配置快照之间的变化并评估其影响,检查配置是否符合 CIS/PCI 基本要求,诊断端口为何无法通过 802.1X,找出配置中隐藏的证书及其到期时间,识别设备及其相邻设备,了解 OPNsense 规则变更的实际效果,并判断拟议变更是否可以安全推送。
只读。结果确定——不调用模型,因此两位工程师会得到相同的答案。无需账户,不收集遥测,也不会读取磁盘上的任何内容:配置和日志均以文本形式传入。
安装
固定版本。
Claude Code
claude mcp add netops-field-notes -- uvx --from "git+https://github.com/labaccessnow/[email protected]" netops-field-notes-mcp
Claude Desktop、Cursor 或任何使用 JSON 配置的客户端
{
"mcpServers": {
"netops-field-notes": {
"command": "uvx",
"args": ["--from", "git+https://github.com/labaccessnow/[email protected]", "netops-field-notes-mcp"]
}
}
}
Docker
{
"mcpServers": {
"netops-field-notes": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/labaccessnow/netops-field-notes-mcp:0.1.0"]
}
}
}
使用 uvx 需要 Python 3.10 或更高版本(可通过 uv 安装)。也已收录在官方 MCP 注册表中,名称为 io.github.labaccessnow/netops-field-notes-mcp。
工具
| 工具 | 可解答的问题 |
|---|---|
explain_config_diff | 两个快照之间有哪些变化?按章节分组、评估风险,并用通俗语言说明——支持 EdgeOS、RouterOS、OPNsense、EdgeSwitch、Cisco IOS 风格配置 |
check_config_compliance | 此配置是否通过十项 CIS/PCI 检查?每项未通过检查的修复方法是什么? |
diagnose_dot1x | 端口为何无法通过身份验证——根据 RADIUS 日志、交换机端口配置和/或 supplicant 日志进行诊断 |
lookup_ise_failure_code | ISE 步骤代码 12514(或 11036、22056……)是什么意思?如何修复? |
find_certs_in_config | 配置中嵌入了哪些证书?哪些即将到期、强度较弱或为自签名证书? |
check_tls_endpoint | 检查公共主机实际提供的证书,并报告相同的问题 |
extract_device_facts | 从配置中提取主机名、角色、地址、子网和 VLAN |
infer_topology | 这些设备中哪些共享网段——并以 Mermaid 图表显示 |
explain_firewall_change | 逐条说明 OPNsense config.xml 变更,列出风险依据和规则遮蔽情况 |
preflight_change | 此拟议变更是否安全——评估风险、合规性退化、影响范围,并给出门禁结论 |
sanitize_config | 对配置中的密钥进行脱敏,并一致地映射地址,然后再将配置发送到其他地方 |
latest_field_note | 本周网络领域发生了什么 |
diagnose_dot1x
最能节省时间的工具。粘贴你手头的信息——三种输入中的任意一种——它会指出故障模式,而不是复述日志:
ROOT CAUSE
Two defects: (1) dot1x failed on an EAP mismatch (EAP-TLS vs EAP-PEAP); (2) MAB then
Accepted with NO dynamic VLAN, so the endpoint landed on VLAN 10 instead of VLAN 30.
RECOMMENDED FIX
1. Align EAP: either enroll a client cert + set the supplicant to EAP-TLS, OR allow EAP-PEAP
in the ISE auth policy for this port. Make both ends match.
2. Fix the ISE authorization profile "MAB_Guest": add Tunnel-Type=VLAN(13),
Tunnel-Medium-Type=802(6), Tunnel-Private-Group-ID=30.
3. On the access port add: `authentication event fail action authorize vlan 30` as a local backstop.
它能区分发送到端口 1700 和端口 3799 的 CoA、未知 CA 故障和缺少客户端证书,也能识别 IOS 会拒绝的 permit any any eq 443 dACL。
find_certs_in_config
Web 监控工具会监控端口。网络设备上的证书则藏在配置中——Cisco crypto pki 证书链、RouterOS 导出内容、OPNsense <crt> 数据块——无人监控也会到期。此工具会从文本中提取证书,并应用与端点检查相同的规则:按到期时间分组、检查 RSA 是否低于 2048 位、MD5/SHA-1 签名、自签名叶证书(根据用途评定),以及距到期不足 90 天的 CA 证书。
它不会做什么
- 无需账户、注册或密钥。不会收集遥测数据。
- 不会读取磁盘上的任何内容;每项输入都是你传入的文本。
- 不会向设备写入任何内容。
preflight_change会告知可能发生的情况;实际应用由你负责,并使用它提供的回滚方案。 - 两个工具会打开套接字:
check_tls_endpoint会连接到你指定的主机(它会拒绝私有和保留地址,因此不能用于检查你自己的网络),latest_field_note会连接到公共 RSS 订阅源。 - 合规检查会对单个配置使用正则表达式。它们能发现显而易见的问题,但不能替代基准测试。
来源说明
这些是 DriftWatch 及其同类工具的只读核心,它们每晚在一组设备上运行相同的规则,保存历史记录,并将结果整理成报告。这里提供的是针对你粘贴内容的一次性分析。这是有意为之——规则才是有用的部分,而且可以独立运行。
许可
MIT。由 James Son 编写,他是一名网络、安全和自动化工程师;发布前已在一个真实的多厂商实验室环境中运行测试。欢迎提出修正,尤其是 ISE 代码表方面的。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。