NetOps Field Notes について
NetOps Field Notesは、ネットワークエンジニアやコーディングエージェント向けの読み取り専用ネットワーク設定分析MCPサーバーです。入力テキストに決定論的なルールを適用し、設定差分、コンプライアンス、認証障害、証明書、変更リスクを調べます。
主な機能
- 01設定スナップショットの比較とリスク評価
- 02CIS/PCIの基本項目を確認
- 03802.1X認証障害の診断
- 04設定内の証明書とリスクの確認
- 05デバイス情報の抽出とトポロジー推定
- 06ファイアウォールや設定変更の事前確認
活用シーン
- 01設定スナップショット間の重要な変更の特定
- 02CIS/PCIの基本要件に対する設定確認
- 03ポートが802.1X認証に失敗する原因の調査
- 04適用前の変更リスクと影響範囲の評価
MCP 対応
MCPサーバーとして、設定差分、コンプライアンス確認、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
ネットワーク機器で手作業で確認する内容を、コーディングエージェントが呼び出せるツールにしました。2つの設定スナップショット間で何が変わり、どれほど重要なのか、設定がCIS/PCIの基本要件を満たしているか、ポートが802.1X認証を通過できない理由、設定内に隠れている証明書と有効期限、デバイスの種類や隣接する機器、OPNsenseのルール変更が実際に及ぼす影響、提案された変更を安全に適用できるかを確認できます。
読み取り専用です。決定論的に動作し、モデル呼び出しを行わないため、2人のエンジニアが同じ回答を得られます。アカウントもテレメトリも不要で、ディスクからデータを読み取ることもありません。設定やログはテキストとして渡します。
インストール
バージョンを固定してください。
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でインストールできます)。公式MCPレジストリにもio.github.getlarkwright/netops-field-notes-mcpとして登録されています。
ツール
| ツール | 回答する内容 |
|---|---|
explain_config_diff | 2つのスナップショット間の変更点をセクションごとにまとめ、リスクを評価し、平易な英語で説明します — EdgeOS、RouterOS、OPNsense、EdgeSwitch、Cisco IOS形式 |
check_config_compliance | この設定が10項目のCIS/PCIチェックを満たしているか、各不適合を修正する1行の方法 |
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
最も時間を節約できるツールです。手元にあるものを貼り付けてください。3種類の入力のどれでも、ログを言い換えるのではなく、失敗の原因を特定します。
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.
CoAの送信先がポート1700か3799か、未知のCAによる失敗かクライアント証明書の不足か、IOSが拒否するpermit any any eq 443のdACLかを区別できます。
find_certs_in_config
Webモニターはポートを監視します。ネットワーク機器の証明書は設定内にあります。Ciscoのcrypto pkiチェーン、RouterOSのエクスポート、OPNsenseの<crt>ブロブなどです。そして、誰にも監視されないまま期限切れになります。このツールはテキストから証明書を読み取り、エンドポイントチェックと同じルールを適用します。有効期限の区分、2048未満のRSA、MD5/SHA-1署名、自己署名のリーフ証明書(用途に応じて評価)、有効期限まで90日以内のCA証明書を確認します。
このツールが行わないこと
- アカウント、登録、キーは不要です。テレメトリもありません。
- ディスクからデータを読み取ることはありません。すべての入力は、渡したテキストです。
- デバイスに書き込むことはありません。
preflight_changeは変更によって何が起きるかを示します。適用と、ツールが提示するロールバックの実行は利用者の責任です。 - ソケットを開くツールが2つあります。
check_tls_endpointは指定したホストに接続します(プライベートアドレスと予約済みアドレスは拒否するため、自分のネットワークを対象にすることはできません)。latest_field_noteは公開RSSフィードに接続します。 - コンプライアンスチェックは、1つの設定に対する正規表現ベースの検査です。明らかな問題は検出しますが、ベンチマークの実行ではありません。
由来
これらは、フリート全体で毎晩同じルールを実行し、履歴を保存して、結果をレポートにまとめる DriftWatch とその関連ツールの読み取り専用コアです。 ここでは、貼り付けた内容に対して一度だけ実行するバージョンを利用できます。意図的にこの形にしています。役立つのはルールの部分であり、単独でも機能するためです。
ライセンス
MIT © Larkwright LLC。ネットワーク、セキュリティ、自動化のエンジニアである James Son が作成し、リリース前に稼働中のマルチベンダーラボで検証しました。修正提案を歓迎します。特に ISE コード表に関するものをお待ちしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。