NetOps Field Notes

io.github.getlarkwright由 GitHub 帳號 getlarkwright 發布v0.1.1更新於 Nov 7, 2026

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

概覽

AI 產生的概覽

唯讀的網路維運工具集,讓助理比對設備設定、執行 CIS/PCI 檢查、診斷 802.1X、檢查憑證並對變更做預檢。

可以做什麼
  • 比對兩份設定快照,依區段說明變更並給出風險評級
  • 執行十項 CIS/PCI 合規檢查,並為未通過項目提供一行修正建議
  • 依 RADIUS、交換器埠或用戶端日誌診斷 802.1X 失敗,並查詢 ISE 失敗碼
  • 從設定中找出內嵌憑證,並檢查公開主機實際提供的憑證
  • 擷取設備資訊,並以 Mermaid 圖推斷拓撲
  • 逐條解釋 OPNsense 防火牆規則變更、預檢擬議變更、清理敏感資訊,並取得每週網路動態
適用情境
適合在處理網路設備設定(EdgeOS、RouterOS、OPNsense、EdgeSwitch、Cisco IOS 風格)時使用,希望取得確定性的第二意見:設定漂移、合規、802.1X 失敗、憑證到期或變更是否安全。
執行需求
以 stdio 在本機執行,不需帳號、金鑰或環境變數。可透過 uvx 安裝(需 Python 3.10 或更新版本),或以 Docker 執行已發布的容器映像。僅 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/getlarkwright/[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/getlarkwright/[email protected]", "netops-field-notes-mcp"]    }  }}

Docker

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

Python 3.10 or newer for the uvx route (uv installs it). Also in the official MCP registry as io.github.getlarkwright/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 © Larkwright LLC. 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,提交 9f59dd5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Nov 7, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分