NetOps Field Notes

io.github.labaccessnow由 GitHub 账号 labaccessnow 发布v0.1.0更新于 Oct 24, 2026

Config drift, CIS/PCI checks, 802.1X diagnosis, certs inside configs, topology, change pre-flight.

概览

AI 生成的概览

只读的网络运维工具集,让助手分析粘贴进来的设备配置:差异对比、CIS/PCI 检查、802.1X 诊断、证书、拓扑与变更预检。

可以做什么
  • 对比并解释 EdgeOS、RouterOS、OPNsense、EdgeSwitch 和 IOS 风格配置的差异,并给出风险评级
  • 执行 CIS/PCI 合规检查,并为每项未通过项给出一行修复建议
  • 根据 RADIUS、交换机端口或客户端日志诊断 802.1X 认证失败,并查询 ISE 失败码含义
  • 从配置中找出内嵌证书并检查到期、弱密钥与自签名问题,也可检查公网主机的 TLS 证书
  • 提取设备信息、以 Mermaid 图推断拓扑、逐条解释 OPNsense 防火墙规则变更、对拟议变更做预检,并在分享配置前清理敏感信息
适用场景
适合网络工程师和管理员让助手审阅粘贴的交换机、路由器或防火墙配置,解释变更内容、做基础合规检查、排查端口认证问题,或判断某项变更是否可安全下发。
运行要求
通过 uvx 以 stdio 在本地运行(需 Python 3.10 或更高版本,由 uv 安装),也可用 Docker 镜像运行。无需账号、API 密钥或环境变量。有两个工具需要网络访问:一个连接指定的公网主机做 TLS 检查,一个访问公开 RSS 源。
安装前请注意
配置和日志以文本形式传入并在本地处理;服务器声明不读取磁盘、不向设备写入,因此是否执行建议的变更仍由用户自行负责。有两个工具会发起对外连接:TLS 端点检查连接你指定的主机(拒绝私有和保留地址),现场笔记工具访问公开 RSS 源。合规检查只是对单份配置做正则匹配,并非完整基准测试。

安装

在 SourceWeft 中

  1. 打开 控制台中的 NetOps Field Notes,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

netops-field-notes-mcp

The things I check by hand on network gear, as tools your coding agent can call: what changed between two config snapshots and how much it matters, whether a config passes the CIS/PCI basics, why a port will not pass 802.1X, which certificates are hiding inside a config and when they expire, what a device is and what it sits next to, what an OPNsense rule change actually does, and whether a proposed change is safe to push.

Read-only. Deterministic — no model call, so two engineers get the same answer. No account, no telemetry, nothing read from your disk: configs and logs go in as text.

Install

Pin the version.

Claude Code

claude mcp add netops-field-notes -- uvx --from "git+https://github.com/labaccessnow/[email protected]" netops-field-notes-mcp

Claude Desktop, Cursor, or any client with a JSON config

json
{  "mcpServers": {    "netops-field-notes": {      "command": "uvx",      "args": ["--from", "git+https://github.com/labaccessnow/[email protected]", "netops-field-notes-mcp"]    }  }}

Docker

json
{  "mcpServers": {    "netops-field-notes": {      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/labaccessnow/netops-field-notes-mcp:0.1.0"]    }  }}

Python 3.10 or newer for the uvx route (uv installs it). Also in the official MCP registry as io.github.labaccessnow/netops-field-notes-mcp.

Tools

ToolWhat it answers
explain_config_diffWhat changed between two snapshots, grouped by section, risk-rated, in plain English — EdgeOS, RouterOS, OPNsense, EdgeSwitch, Cisco IOS-style
check_config_complianceDoes this config pass ten CIS/PCI checks, and what is the one-line fix for each miss
diagnose_dot1xWhy won't this port authenticate — from the RADIUS log, the switchport config and/or the supplicant log
lookup_ise_failure_codeWhat does ISE step code 12514 (or 11036, 22056…) mean and what fixes it
find_certs_in_configWhich certificates are embedded in this config, and which are expiring, weak or self-signed
check_tls_endpointThe same findings on the certificate a public host actually serves
extract_device_factsHostname, role, addresses, subnets, VLANs from a config
infer_topologyWhich of these devices share segments — as a Mermaid diagram
explain_firewall_changeAn OPNsense config.xml change, rule by rule, with risk grounds and shadowing notes
preflight_changeIs this proposed change safe — risk, compliance regressions, blast radius, a gate verdict
sanitize_configScrub secrets and map addresses consistently before a config goes anywhere
latest_field_noteWhat happened in networking this week

diagnose_dot1x

The one that saves the most time. Paste what you have — any of the three inputs — and it names the failure mode rather than restating the log:

ROOT CAUSETwo defects: (1) dot1x failed on an EAP mismatch (EAP-TLS vs EAP-PEAP); (2) MAB thenAccepted with NO dynamic VLAN, so the endpoint landed on VLAN 10 instead of VLAN 30.
RECOMMENDED FIX1. 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.

It knows the difference between a CoA sent to port 1700 and one sent to 3799, an unknown-CA failure and a missing client certificate, and a permit any any eq 443 dACL that IOS will reject.

find_certs_in_config

Web monitors watch ports. Certificates on network gear live in the config — Cisco crypto pki chains, RouterOS exports, OPNsense <crt> blobs — and expire without anybody watching. This reads them out of the text and applies the same rules as the endpoint check: expiry buckets, RSA under 2048, MD5/SHA-1 signatures, self-signed leaves (rated by where they are used), CA certificates inside 90 days of expiry.

What it does not do

  • No account, no signup, no key. No telemetry.
  • Nothing is read from your disk; every input is text you pass in.
  • Nothing is written to a device. preflight_change tells you what would happen; applying it is your job, with the rollback it hands you.
  • Two tools open a socket: check_tls_endpoint to the host you name (it refuses private and reserved addresses, so it cannot be turned on your own network), and latest_field_note to a public RSS feed.
  • The compliance checks are regex over one config. They catch the obvious; they are not a benchmark run.

Where this comes from

These are the read-only cores of DriftWatch and its siblings, which run the same rules nightly across a fleet, keep the history, and turn the results into reports. Here you get the single-shot version on what you paste. That is deliberate — the rules are the useful part, and they work on their own.

Licence

MIT. Written by James Son — network, security, and automation engineer — and run against a live multi-vendor lab before shipping. Corrections welcome, especially to the ISE code table.

来源:README.md,提交 0b0cd88

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分