Token导航 LogoToken导航

MCP Server · AI代理

nmis MCP

NMIS9 MCP服务器是一个基于Perl CGI脚本实现的模型上下文协议服务器,用于向AI助手提供NMIS监控数据。

未说明官方级别未说明来源级核验工具 6
网络管理ClaudeAI代理Claude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
kcsinclair
提供方
kcsinclair

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

nmis MCP 属于AI代理类 MCP Server,公开资料标注 6 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

未说明

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

NMIS9 MCP服务器

A. 模型上下文协议 NMIS9的(MCP)服务器,实现为Perl CGI脚本。它通过标准MCP工具接口将NMIS监控数据暴露给AI助手(Claude、ChatGPT等)。

概述

MCP服务器通过HTTP POST使用JSON-RPC 2.0,提供六种工具,让AI助手从实时NMIS9安装中查询节点状态、精确可达性、指标、事件和清单。指标以OTel启发的字段名返回,以与 mqtto观察 插件。

文件

文件安装到说明
nmis-mcp.plcgi-bin/nmis-mcp.plMCP服务器CGI脚本
nmis-mcp.nmisconf/nmis-mcp.nmis配置(API令牌)
t_nmis-mcp.pl_(仅测试)_帮助程序和数据结构的测试套件

安装

# Copy files into place
cp nmis-mcp.pl   /usr/local/nmis9/cgi-bin/nmis-mcp.pl
cp nmis-mcp.nmis /usr/local/nmis9/conf/nmis-mcp.nmis

# Set permissions
chmod 755 /usr/local/nmis9/cgi-bin/nmis-mcp.pl

# Edit the config and set a secure API token
vi /usr/local/nmis9/conf/nmis-mcp.nmis

CGI脚本由Apache提供 /cgi-nmis9/nmis-mcp.pl 使用现有的NMIS CGI配置。

认证

服务器支持三种身份验证方法:

方法标题/参数注释
自定义标题X-API-Token: 推荐。Apache通行证 X-* CGI的头部。
持有者代币Authorization: Bearer 标准,但要求 CGIPassAuth On 在Apache。
查询参数?token=仅用于快速测试。

所有方法都会检查令牌 api_token 在 conf/nmis-mcp.nmis如果没有匹配的令牌,服务器将回退到NMIS cookie身份验证(用于基于浏览器的测试)。

在Claude Desktop中使用NMIS MCP

在MAC上,编辑文件~/库/应用程序支持/Claude/Claude_desktop_config json 例如/用户/keith/库/应用程序支持/Claude/Claude_desktop_config json

添加一个mcp-servers部分,或者只是为NMIS添加一个附加部分,在这里也显示mcp_DOCKER部分。

{
  "mcpServers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": [
        "mcp",
        "gateway",
        "run"
      ]
    },
    "nmis": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://home.packsin.com/cgi-nmis9/nmis-mcp.pl",
        "--header",
        "X-API-Token: ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "CHANGE-ME-your-token-from-nmis-mcp-nmis-file"
      }
    }
  },
  "preferences": {
    "comment": "POSSIBLY OTHER SETTINGS"
  }
}

然后向Claude询问一个或多个NMIS节点的事件状态

MCP工具

nmis_list_nodes

列出所有处于基本状态的受监视节点。

参数: 无

退货: 数组 {name, group, host, nodeType, nodedown, health, reachability}

curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_list_nodes","arguments":{}}}'

nmis_get_node_status

获取特定节点的详细状态和健康指标。

参数: node (必填)

退货: {node, sysName, sysDescr, nodeType, nodeModel, group, host, nodedown, snmpdown, sysUpTime, health}

这 health 对象包含来自健康子概念(可达性、可用性、响应时间等)的OTel重命名度量。

curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_get_node_status","arguments":{"node":"myrouter"}}}'

nmis_get_最新消息

获取节点和库存概念的最新收集指标。

参数: node (必填), concept (必填)

概念: catchall, interface, device, Host_Storage, diskIOTable, env-temp, service, ping

退货: 具有OTel重命名度量的实例数组。对于 catchall 和 ping,结果按子概念(健康、tcp、laload、mib2ip、systemStats、Host_health)划分。对于其他概念,每个库存实例都是一个单独的条目。

curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_get_latest_metrics","arguments":{"node":"myrouter","concept":"interface"}}}'

nmis_list_事件

列出活动(非历史)NMIS事件和警报。

参数: node (可选,按节点名称筛选)

退货: 数组 {node, event, level, element, details, startdate, ack, escalate}

curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_list_events","arguments":{}}}'

nmis_list_库存

列出节点和概念的库存实例,显示索引、描述和可用数据字段。有助于在获取指标之前发现存在哪些实例。

参数: node (必填), concept (必填)

退货: 数组 {index, description, data_fields}

curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_list_inventory","arguments":{"node":"myrouter","concept":"Host_Storage"}}}'

nmis_get_node_pecise_status

获取节点的精确可达性状态,包括每协议(SNMP、WMI、ping)状态、故障转移状态、正常运行时间和可达性指标。使用 NMISNG::Node::precise_status() 方法。

参数: node (可选), group (可选)。所有节点都省略这两个。

退货: 数组 {node, group, host, overall, overall_status, snmp_enabled, snmp_status, wmi_enabled, wmi_status, ping_enabled, ping_status, failover_status, failover_ping_status, primary_ping_status, uptime_seconds, reachability, availability}

这 overall_status 字段是人类可读的标签: reachable, degraded,或 unreachable.

# All nodes
curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_get_node_precise_status","arguments":{}}}'

# Single node
curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_get_node_precise_status","arguments":{"node":"myrouter"}}}'

# By group
curl -s -X POST http://localhost/cgi-nmis9/nmis-mcp.pl \
  -H "X-API-Token: YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"nmis_get_node_precise_status","arguments":{"group":"Core"}}}'

这是我们酒店的地盘。

度量从NMIS本机名称重命名为受OpenTetry启发的语义约定。具有已知映射的字段将获得标准名称;未知字段前缀为 nmis..以结尾的字段 _raw 被过滤掉。

接口指标

NMIS字段OTel名称
ifInOctetssystem.network.io.receive
ifOutOctetssystem.network.io.transmit
ifInUcastPktssystem.network.packets.receive
ifOutUcastPktssystem.network.packets.transmit
ifInErrorssystem.network.errors.receive
ifOutErrorssystem.network.errors.transmit
ifInDiscardssystem.network.dropped.receive
ifOutDiscardssystem.network.dropped.transmit

健康指标

NMIS字段OTel名称
reachabilitynmis.node.reachability
availabilitynmis.node.availability
healthnmis.node.health
responsetimenmis.node.response_time_ms
lossnmis.node.packet_loss

系统统计信息

NMIS字段OTel名称
ssCpuRawUsersystem.cpu.time.user
ssCpuRawSystemsystem.cpu.time.system
ssCpuRawIdlesystem.cpu.time.idle
ssIORawSentsystem.disk.io.sent
ssIORawReceivedsystem.disk.io.received
ssRawInterruptssystem.cpu.interrupts
ssRawContextssystem.cpu.context_switches

平均负载

NMIS字段OTel名称
laLoad1system.cpu.load_average.1m
laLoad5system.cpu.load_average.5m

传输控制协议

NMIS字段OTel名称
tcpCurrEstabsystem.network.tcp.connections.established
tcpActiveOpenssystem.network.tcp.connections.opened.active
tcpPassiveOpenssystem.network.tcp.connections.opened.passive
tcpInSegssystem.network.tcp.segments.received
tcpOutSegssystem.network.tcp.segments.sent
tcpRetransSegssystem.network.tcp.segments.retransmitted

拼

NMIS字段OTel名称
avg_ping_timenetwork.peer.rtt.avg_ms
max_ping_timenetwork.peer.rtt.max_ms
min_ping_timenetwork.peer.rtt.min_ms
ping_lossnetwork.peer.packet_loss

JSON-RPC 2.0协议

服务器通过无状态HTTP POST实现了MCP的一个子集:

方法目的
initialize协议握手,返回服务器信息和功能
notifications/initialized客户端确认(无响应)
tools/list使用JSON模式返回可用工具的列表
tools/call按名称和参数执行工具

错误代码

代码含义
-32700解析错误(JSON无效)
-32600无效请求(不是JSON-RPC 2.0)
-32601未找到方法
-32602参数无效(未知工具名称)
-32000需要身份验证
-32603内部错误(NMIS配置加载失败)

刀具级别错误返回为 isError: true 在 tools/call 结果,而不是JSON-RPC错误。

运行测试

perl contrib/nmis-mcp/t_nmis-mcp.pl

测试套件(82个测试)包括:

  • _get_description 所有概念的现场映射
  • _apply_field_rename OTel命名和 _raw 过滤
  • _filter_derived 前缀过滤(08\_,16\_)
  • _filter_derived_flat 跨亚脑区变平
  • %CONCEPT_RENAME 映射
  • JSON-RPC 2.0请求验证
  • 刀具定义结构和所需参数
  • %FIELD_RENAME 地图覆盖率

需求

  • NMIS9与工作CGI(Apache服务 /cgi-nmis9/)
  • Perl模块: CGI, JSON::XS (两个标准NMIS9依赖项)
  • 无需额外的CPAN模块

许可证

此项目根据GNU通用公共许可证v3.0获得许可。请参阅 许可证 文件以获取详细信息。

______________________________________________________________________

建于 克劳德代码

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

Perl本地部署监控数据服务AI助手集成网络管理JSON-RPC接口Perl脚本

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
nmis MCP

MCP World · 本页

6未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

nmis MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

nmis MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

nmis MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

nmis MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

nmis MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP