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 分