关于 NetOps Field Notes
NetOps Field Notes 是面向网络工程师及编码 Agent 的只读网络配置分析 MCP 服务。它以确定性规则检查配置差异、合规性、认证故障、证书和变更风险,输入仅为传入的文本。
主要功能
- 01比较配置快照并评估风险
- 02检查 CIS/PCI 配置项
- 03诊断 802.1X 认证故障
- 04提取配置中的证书并检查风险
- 05提取设备信息并推断拓扑
- 06预检防火墙及配置变更
适用场景
- 01定位配置快照间的重要变化
- 02检查配置是否符合 CIS/PCI 基础要求
- 03排查端口无法通过 802.1X 认证的原因
- 04推送前评估变更风险与影响范围
MCP 相关
作为 MCP 服务,向编码 Agent 暴露网络配置差异、合规检查、802.1X 诊断、证书检查、拓扑推断和变更预检等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/getlarkwright/netops-field-notes-mcp:0.1.1本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/getlarkwright/netops-field-notes-mcp:0.1.1stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
netops-field-notes-mcp
把我手动检查网络设备时会做的事,变成编码 Agent 可调用的工具:比较两份配置快照之间的变化并评估其影响,检查配置是否符合 CIS/PCI 基础要求,诊断端口为何无法通过 802.1X,找出配置中隐藏的证书及其到期时间,了解设备是什么以及它连接了什么设备,弄清 OPNsense 规则变更的实际效果,以及判断拟议的变更能否安全推送。
只读。结果确定——不调用模型,因此两位工程师会得到相同的答案。无需账户,不收集遥测信息,也不读取磁盘上的任何内容:配置和日志以文本形式传入。
安装
固定版本。
Claude Code
claude mcp add netops-field-notes -- uvx --from "git+https://github.com/getlarkwright/[email protected]" netops-field-notes-mcp
Claude Desktop、Cursor 或任何使用 JSON 配置的客户端
{
"mcpServers": {
"netops-field-notes": {
"command": "uvx",
"args": ["--from", "git+https://github.com/getlarkwright/[email protected]", "netops-field-notes-mcp"]
}
}
}
Docker
{
"mcpServers": {
"netops-field-notes": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/getlarkwright/netops-field-notes-mcp:0.1.1"]
}
}
}
uvx 方式需要 Python 3.10 或更高版本(uv 可安装 Python)。也已收录于官方 MCP 注册表:io.github.getlarkwright/netops-field-notes-mcp。
工具
| 工具 | 可回答的问题 |
|---|---|
explain_config_diff | 两份快照之间有哪些变化,按章节分组、评估风险并用通俗语言说明——适用于 EdgeOS、RouterOS、OPNsense、EdgeSwitch、Cisco IOS 风格配置 |
check_config_compliance | 此配置是否通过十项 CIS/PCI 检查;每项未通过的检查应如何用一句话修复 |
diagnose_dot1x | 此端口为何无法通过身份验证——根据 RADIUS 日志、交换机端口配置和/或请求方日志进行诊断 |
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 © Larkwright LLC。由 James Son 编写,他是一名网络、安全和自动化工程师;发布前,代码已在一个真实运行的多厂商实验室中测试。欢迎提交更正,尤其是 ISE 代码表方面的更正。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。