Netmon

com.netmon由 netmon.com 发布v0.1.9更新于 Oct 24, 2026

Query devices, alerts, syslog, Suricata IDS, NetFlow and captures on your Netmon appliance.

发布方自己的服务:Netmon (demo)

概览

AI 生成的概览

一个本地桥接程序,把 AI 助手连接到 Netmon 网络监控设备,使其能读取设备、日志、流量、告警和抓包数据。

可以做什么
查找、列出并查看受监控设备、标签、接口和设备指标,以及受管主机上 Windows 代理的进程、服务和磁盘占用。搜索并汇总 syslog、Windows 事件日志和 Suricata IDS 事件,并按严重级别和 syslog 字段做统计。搜索 NetFlow 历史与原始流记录,列出带宽占用最高的会话,汇总某主机的通信对象,并读取 ARP 表。列出告警定义、告警事件历史和维护窗口。从设备端执行实时诊断:ping、traceroute、ARP 查询、端口扫描、SNMP 测试与遍历、WHOIS/GeoIP/DNS 查询,以及跨数据流的 IP 检索。列出抓包及其状态,并读取 WAN 测速历史。
适用场景
适合已部署 Netmon 设备、希望助手用自然语言回答运维问题的场景,例如哪些设备离线、哪台主机占用带宽最多、上周触发了哪些 Suricata 告警。官方还提供只读的公开演示端点,无需设备即可试用同样的工具。
运行要求
需要一台运行 7.0.20 或更新版本、已启用 MCP 服务器并可通过 HTTPS 访问的 Netmon 设备。需要一个具有 API 权限的用户账号,以及携带所需 mcp 权限范围的个人访问令牌。通过 .mcpb 安装需要 Claude Desktop(自带 Node 运行时);在其他环境运行桥接程序需要 Node 18 或更新版本。设备 URL 必须包含 /mcp 路径。
安装前请注意
桥接程序在首次连接时记录设备 TLS 证书(首次使用即信任),因此首次连接应在可信网络中进行,证书更换后需删除旧记录。API 令牌以创建者的身份生效,并受相同的标签限制;创建时应尽量缩小权限范围,并可在“设置 → 用户”中随时撤销。工具均为只读,但返回结果由你的 MCP 客户端厂商按其政策处理。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Netmon MCP

Connect an AI assistant to a Netmon appliance.

Netmon ships an MCP server on the appliance itself. This repository holds the client-side bridge: a small Node process that runs on your own machine, speaks stdio to Claude Desktop, and forwards every JSON-RPC message to your Netmon's /mcp endpoint over HTTPS.

Once connected, an assistant can read your devices, interfaces, logs, flow records, alerts, and Windows-agent data by calling Netmon's tools directly — with the same sign-in and permissions as any operator, and the same tag restrictions.


Try it first — no appliance needed

A public, read-only demo server answers the same 36 tools from a recorded, de-identified snapshot of a fictional 90-device network:

https://netmon.com/mcp-demo/mcp

No account, no token, no install. Point any MCP client at it:

bash
claude mcp add --transport http netmon-demo https://netmon.com/mcp-demo/mcp   # Claude Codecodex mcp add netmon-demo --url https://netmon.com/mcp-demo/mcp               # OpenAI Codexgemini mcp add --scope user --transport http netmon-demo https://netmon.com/mcp-demo/mcpopencode mcp add netmon-demo --url https://netmon.com/mcp-demo/mcpcline mcp install netmon-demo --transport http https://netmon.com/mcp-demo/mcpdevin mcp add -s user netmon-demo https://netmon.com/mcp-demo/mcp             # Windsurf / Devin Desktopcode --add-mcp '{"name":"netmon-demo","type":"http","url":"https://netmon.com/mcp-demo/mcp"}'goose session --with-streamable-http-extension "https://netmon.com/mcp-demo/mcp"

GUI clients — Claude Desktop (Settings → Connectors → Add custom connector) and ChatGPT (developer mode → Connectors) — take the URL with authentication set to None. For Cursor, Zed, Kimi Code CLI, Continue and LM Studio, drop the URL into that client's MCP config file:

json
{  "mcpServers": {    "netmon-demo": { "url": "https://netmon.com/mcp-demo/mcp" }  }}

Then ask it something real: "what's down?", "show me the Suricata alerts from last week", "which host is using the most bandwidth, and who is it talking to?"

It is a fixture, not an appliance: nothing writes, nothing reaches a real network, and every answer is the same shape a live Netmon returns — with timestamps shifted forward so the snapshot always reads as the last day or so.


Why a local bridge

Two separate walls stand between an MCP client and an appliance on your LAN, and the bridge exists for both.

Where the connection comes from. Claude Desktop's remote-connector option and ChatGPT's custom connectors both fetch the MCP URL from their vendor's cloud, not from your machine — Anthropic's docs say so outright, and their connector resolves the hostname and rejects private addresses before any request leaves their network, so your appliance's log stays empty. Most other clients (Claude Code, Codex, Gemini CLI, Cursor, VS Code, Zed, Cline, Continue, opencode, Goose, LM Studio, Kimi) connect from your own machine and are unaffected.

The certificate. This one catches nearly everyone. Most clients validate TLS against the operating system trust store and expose no skip-verify option, and an appliance ships a self-signed certificate — so the route succeeds and the handshake fails. Either install the appliance's certificate in the machine's trust store, or use the bridge, which pins it on first use.

The bridge runs as a local process and handles both. It is not a Claude-specific workaround; it is the general answer.

If your appliance is internet-facing with a publicly-trusted certificate, you can skip the bridge and point any MCP client straight at the endpoint. See Install — any MCP client below.


Requirements

  • A Netmon appliance with the MCP server enabled (Netmon 7.0.20 or newer).
  • A user account with the API permission, and a personal access token carrying the mcp:* scopes you want the assistant to have.
  • Claude Desktop for the .mcpb install. Claude Desktop supplies its own Node runtime, so nothing else is needed. Running the bridge outside Claude Desktop requires Node 18 or newer.

Install — Claude Desktop

  1. Download netmon-mcp-<version>.mcpb from Releases. The same bundle ships with your appliance — Settings → System → Downloadables → Claude Desktop Extension.

  2. In Claude Desktop, open Settings → Extensions → Advanced settings → Extension Developer → Install Extension… and select the file.

  3. Fill in the two settings the extension asks for:

    SettingValue
    Netmon URLhttps://<your-netmon>/mcp — the full endpoint, including /mcp
    API Tokena personal access token (see below). The Bearer prefix is added for you if you leave it off.
  4. Restart the extension. Ask Claude something like "list the devices that are down" to confirm it is working.

Minting a token

In Netmon, go to Settings → Users, click the key icon on your user, and create a personal access token. Select only the scopes the assistant needs — the token cannot be widened later, and it can be revoked from the same screen at any time.

The account must hold the API permission. Without it, token minting and OAuth consent are both refused.


Install — any MCP client

The appliance serves Streamable HTTP at https://<your-netmon>/mcp (POST for JSON-RPC, GET for the server-to-client SSE stream, DELETE to end a session).

Clients that support OAuth 2.1 discover the authorization server on their own: the endpoint answers an unauthenticated request with 401 and a WWW-Authenticate: Bearer resource_metadata="…" challenge pointing at RFC 9728 protected-resource metadata, alongside RFC 8414 authorization-server metadata and dynamic client registration at /auth/register. You sign in through your browser on your own Netmon and approve the scopes on a consent page.

Clients without OAuth support pass a token directly:

json
{  "mcpServers": {    "netmon": {      "url": "https://netmon.example.com/mcp",      "headers": {        "Authorization": "Bearer <your-token>"      }    }  }}

Claude Code and self-signed certificates

Most appliances serve a self-signed certificate. A direct type: http entry will fail against one — the OAuth bootstrap rejects the certificate and does not consult NODE_EXTRA_CA_CERTS. Use the bridge instead, which handles the certificate itself:

json
{  "mcpServers": {    "netmon": {      "command": "node",      "args": ["/path/to/netmon-mcpd/server/index.js"],      "env": {        "NETMON_URL": "https://netmon.example.com/mcp",        "NETMON_TOKEN": "<your-token>"      }    }  }}

Tools

36 read tools, each wrapping a Netmon API endpoint and gated by an OAuth scope that is checked before the call runs.

AreaScopeExample tools
Devices & fleetmcp:devicesdevice_find, device_get, device_list, device_metric_summary, overwatch_summary, tags_list
Traffic & topologymcp:vne, mcp:devicestop_bandwidth, netflow_search, netflow_raw_search, flow_summary, get_network_entity_info, arp_table, interfaces_search
Logs & securitymcp:logssyslog_search, eventlog_search, eve_search, eve_get, log_severity_summary, syslog_facets
Alertsmcp:alertsalerts_list, alerts_history, maintenance_windows_list
Windows agentmcp:devicesagent_processes, agent_services, agent_disk_usage
Live toolsmcp:tools, mcp:devices, mcp:captureping, traceroute, arp_lookup, port_map, snmp_test, snmp_walk_run, snmp_walk_last, search_ip, speedtest_history, capture_list, capture_get
All 36 tools
ToolTitleWhat it answers
get_network_entity_infoLook Up WHOIS, GeoIP and DNSRetrieves WHOIS, GeoIP and DNS information for a public IP address or hostname.
arp_lookupARP LookupPerforms an ARP lookup to find the MAC address for a given Local IP address.
pingPing HostPing a target host from the Netmon server.
tracerouteRun TracerouteTraceroute to a target from the Netmon server.
port_mapScan Open PortsNmap port scan against a single host from the Netmon server.
search_ipSearch All Streams for an IPFind every mention of a specific IP across Netmon's log and telemetry streams: syslog, Windows eventlog, Suricata EVE, aggregated NetFlow, and ARP.
syslog_searchSearch SyslogSearch syslog messages from network devices.
eventlog_searchSearch Windows Event LogSearch Windows Event Log entries ingested from Netmon agents.
eve_searchSearch Suricata IDS EventsSearch Suricata EVE-format IDS events.
eve_getGet Suricata IDS EventFetch a single Suricata EVE event by id, decoded server-side.
log_severity_summarySummarize Log SeveritiesCount log events grouped by severity over a time window.
syslog_facetsSyslog Facet BreakdownTop-N value counts for ONE syslog field over a window — 'what are the top actions/reasons on this FortiGate in the last 2 hours' in a single call,...
netflow_searchSearch Aggregated NetFlowSearch the FULL NetFlow history: the raw flow table (the last ~15 minutes) unioned with the aggregated rollup (4 weeks of history), windowed and pr...
netflow_raw_searchSearch Raw NetFlowSearch raw NetFlow records (per-flow, not aggregated).
flow_summarySummarize NetFlow TrafficSummarize one host's network conversations: top peers, top ports, and a client-vs-service-side split, each with a residual "other" bucket plus over...
device_listList DevicesList monitored devices.
device_getGet Device DetailsFetch one device with its related state: tags, alerts, the ping / oid / interface / port / disk trackers configured on it, its SNMP walk trackers,...
device_findFind Devices by Name or IPFind devices matching a substring of label or ip_address.
overwatch_summaryOverwatch Health SummaryHigh-level network health snapshot for 'how's the network?' style questions.
snmp_testTest SNMP CredentialsProbe a device for SNMP reachability using the Netmon snmptest binary.
snmp_walk_lastGet Cached SNMP WalkFetch the most recent stored SNMP walk for a device (cached in tools_walks).
snmp_walk_runRun Fresh SNMP WalkTrigger a FRESH SNMP walk against a device.
agent_servicesList Windows ServicesList Windows services on an agent-managed device — live read via the WMI tunnel.
agent_processesList Windows ProcessesList running processes on an agent-managed device — live read via the agent tunnel.
alerts_listList Alert DefinitionsList configured alert definitions across both axes of the rule engine.
alerts_historyAlert Incident HistoryAuthoritative 'what fired and when' stream — wraps the alert_history table (one row per incident, both legacy and modern) and alert_outlet_log...
maintenance_windows_listList Maintenance WindowsLists maintenance windows — the suppression schedules that gate alert dispatch.
tags_listList TagsList tag definitions.
top_bandwidthTop Bandwidth TalkersTop NetFlow conversations over the last N minutes — the 'who's eating bandwidth right now?' question.
arp_tableGet ARP TableLists hosts observed on the local LAN(s) via the ARP table — the 'what devices have we seen recently?' question.
interfaces_searchSearch Network InterfacesCross-device interface metadata listing — answers 'what interfaces are tracked across the fleet, named like X, on device Y?'.
device_metric_summarySummarize Device MetricsDay / week / month / all-time summary stats for a single device-tracker, by metric type.
agent_disk_usageBrowse Agent Disk UsagePath-scoped folder-tree disk usage report from a Netmon agent — the 'D: drive is at 95%, what's eating it?' question.
capture_listList Packet CapturesRead-only listing of packet captures.
capture_getGet Packet Capture StatusRead-only single-capture detail.
speedtest_historySpeedtest HistoryRecent WAN speedtest results — answers 'is the internet healthy?'.

Eight scopes exist in total — the six above plus mcp:reports and mcp:system, which map to their permissions but have no tools yet.


Security model

Everything stays on your appliance. The bridge connects to the one URL you configure and nothing else. No telemetry, no vendor endpoint, no third-party service sits in the path. Netmon Services receives nothing.

Read-only. Every tool is a read. Netmon's agent write paths — killing a process, starting or stopping a Windows service, deleting a file, running PowerShell — are permanently excluded at the MCP layer, regardless of what the underlying token's permissions would otherwise allow. An assistant cannot change your monitoring configuration, acknowledge an alert, or act on a managed host.

Scoped. Each tool declares the OAuth scope it requires, and the scope is checked before the tool body runs. A token granted mcp:logs only cannot call device_list.

Yours, and no wider. A token acts as the user who minted it. Tag restrictions apply: an operator limited to the branch-offices tag gets an assistant limited to the same devices. The permission model is the one already governing the web interface and every other API client.

Revocable. Revoke a token from Settings → Users and the assistant loses access immediately. Tokens can also be scoped narrowly at mint time rather than revoked later.

Transport security

On first connection the bridge captures the appliance's TLS certificate and stores it at ~/.netmon-mcp/<hash-of-url>.pem, then verifies every later connection against that pinned certificate. This is trust-on-first-use: it protects against interception after the first connection, not during it. Make the first connection from a network you trust.

If you replace the appliance's certificate, delete the stale pin (rm ~/.netmon-mcp/*.pem) or the bridge will verify the new certificate against the old one and refuse to connect.

The bridge requires https://. Plain HTTP is rejected at startup.


Troubleshooting

The bridge writes a diagnostic log to ~/.netmon-mcp/wrapper.log.

SymptomCause
NETMON_URL must use https://The URL is http://, or the scheme is missing.
TLS probe failedThe appliance is unreachable on 443 from this machine, or the hostname does not resolve.
Connects, then fails after a certificate changeStale pin. Delete ~/.netmon-mcp/*.pem and reconnect.
Tools return an authorization errorThe token lacks the scope that tool requires, or the account lacks the API permission.
No tools appearThe URL is missing the /mcp path.

Building

bash
npm install./build.sh            # or: ./build.sh 1.0.0 to stamp a version

Output lands in build/netmon-mcp-<version>.mcpb.


Privacy Policy

Full policy: https://netmon.com/privacy-policy/

What is collected. This bridge collects no data. It holds no account, no analytics, and no callback to Netmon Services. Two files are written locally, both under ~/.netmon-mcp/: the pinned certificate of the appliance you configured, and a diagnostic log of connection events. Your Netmon URL and token are supplied by you and are held only in the extension's own configuration.

How data is used and stored. Queries and results pass between your MCP client and your appliance. The bridge forwards messages and retains none of them. All monitoring data stays in the appliance's database, under your control, in your building.

Third-party sharing. None. The bridge contacts exactly one host — the appliance URL you configure. It sends nothing to Netmon Services or any other party.

Note that your MCP client is a separate product with its own policy. When you ask an assistant a question, the tool results it receives are handled by that client's vendor under their terms. Netmon does not control that leg, which is why the scopes on a token are worth setting narrowly.

Retention. Local files persist until you delete them: remove the extension, or rm -rf ~/.netmon-mcp. Revoking the token in Settings → Users ends access immediately. Retention of the monitoring data itself is configured on your appliance, by you.

Contact. [email protected]


Support

License

Mozilla Public License 2.0 — see LICENSE.

来源:README.md,提交 484852b

工具

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

版本历史

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

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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

其他 Netmon 集成