clr-librenms-mcp
  
用于LibreNMS网络监控的MCP服务器——通过Claude等人工智能助手查询设备、警报、传感器、端口等。
特性
- 设备监控 --列出设备、运行状况摘要、可用性、中断、停机设备
- 警报管理 --列表、筛选、确认警报、警报规则
- 传感器数据 --按设备和类型(温度、电压、风扇等)分类的健康传感器
- 端口/接口信息 --列出端口,按名称搜索,按MAC地址查找
- ARP和FDB查找 --将IP解析为MAC,在交换机端口上查找MAC
- 硬件清单 --机箱、模块、电源、序列号
- IP地址管理 --列出分配给设备的IP
- 基于令牌的身份验证 --简单的X-Auth-Token身份验证
安装
pip install clr-librenms-mcp
# or
uvx clr-librenms-mcp配置
首选: 配置文件位于 ~/.config/librenms/credentials.json (克莫德600):
{
"url": "https://librenms.example.com",
"token": "your-api-token"
}备选方案: 还支持环境变量:
| 变量 | 描述 | 示例 |
|---|---|---|
LIBRENMS_URL | librenms基本URL | https://librenms.example.com |
LIBRENMS_TOKEN | API令牌(在API设置下的LibreNMS UI中生成) | abc123... |
可选:
| 变量 | 描述 | 默认值 |
|---|---|---|
LIBRENMS_READ_ONLY | 以只读模式运行 | false |
LIBRENMS_TRANSPORT | 传输协议(stdio 或 http) | stdio |
LIBRENMS_LOG_LEVEL | 日志级别 | INFO |
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"librenms": {
"command": "uvx",
"args": ["clr-librenms-mcp"]
}
}
}克劳德代码
通过CLI添加:
claude mcp add librenms -- uvx clr-librenms-mcp或添加到您的 .mcp.json:
{
"librenms": {
"command": "uvx",
"args": ["clr-librenms-mcp"]
}
}VS代码
添加到您的VS代码设置或 .vscode/mcp.json:
{
"mcp": {
"servers": {
"librenms": {
"command": "uvx",
"args": ["clr-librenms-mcp"]
}
}
}
}注: 从读取配置 ~/.config/librenms/credentials.json 或环境变量。无需在MCP配置文件中指定凭据。
HTTP传输
要作为独立的HTTP服务器运行,请执行以下操作:
clr-librenms-mcp --transport http --host 0.0.0.0 --port 8000工具
系统
| 工具 | 说明 |
|---|---|
librenms_system | 获取LibreNMS版本和系统信息 |
设备
| 工具 | 说明 | 参数 |
|---|---|---|
librenms_list_devices | 列出所有受监控的设备 | device_type?, query? |
librenms_get_device | 获取单个设备的完整细节 | device |
librenms_down_devices | 列出当前关闭的所有设备 | -- |
librenms_device_summary | 聚合状态摘要(向上/向下/禁用) | -- |
librenms_device_availability | 可用性百分比(24小时、7天、30天、365天) | device |
librenms_device_outages | 设备的停机历史 | device |
librenms_device_ips | 分配给设备的IP地址 | device |
librenms_inventory | 硬件清单(机箱、模块、PSU) | device, physical_class? |
警报
| 工具 | 说明 | 参数 |
|---|---|---|
librenms_list_alerts | 使用可选筛选器列出警报 | state?, severity? |
librenms_get_alert | 获取单个警报的完整细节 | alert_id |
librenms_alert_count | 按状态和严重性列出的警报计数 | -- |
librenms_ack_alert | 确认警报 | alert_id, note? |
librenms_list_alert_rules | 列出所有警报规则 | -- |
警报筛选器值:
| 参数 | 接受值 |
|---|---|
state | active, acknowledged, resolved |
severity | ok, warning, critical |
传感器与健康
| 工具 | 说明 | 参数 |
|---|---|---|
librenms_list_sensors | 按设备列出所有传感器或过滤器 | device? |
librenms_device_health | 按类型划分的设备健康传感器 | device, health_type? |
健康类型: temperature, voltage, fanspeed, power, humidity, state以及更多。
端口和接口
| 工具 | 说明 | 参数 |
|---|---|---|
librenms_list_ports | 列出设备的端口/接口 | device |
librenms_search_ports | 按名称、别名或描述搜索端口 | search |
librenms_port_by_mac | 按MAC地址查找端口 | mac |
网络查询
| 工具 | 说明 | 参数 |
|---|---|---|
librenms_arp_lookup | 通过IP、MAC或CIDR查找ARP | query, device? |
librenms_fdb | 设备的MAC/FDB表 | device |
示例用法
连接后,您可以向您的AI助手询问以下问题:
- “LibreNMS中有任何设备出现故障吗?”
- “显示所有关键警报”
- “router01上的温度传感器是什么?”
- “查找哪个交换机端口具有MAC aa:bb:cc:dd:ee:ff”
- “过去30天switch01的可用性如何?”
- “确认警报42”
- “显示10.0.0.0/24的ARP表”
- “列出核心交换机的硬件清单”
安全
所有工具都是 只读 除了 librenms_ack_alert,这是一种非破坏性的写入操作——它将警报标记为已确认,但不会修改设备配置或监视状态。
技术说明
- 认证: 通过X-Auth-Token头基于令牌(在API设置下在LibreNMS中生成令牌)
- API版本: 使用LibreNMS REST API v0
- 设备参数: 大多数工具可互换地接受主机名、IP地址或device_id
- 传感器: 使用
librenms_device_health随着health_type用于过滤传感器视图,或librenms_list_sensors适用于所有设备上的所有传感器
发展
git clone https://github.com/clearminds/clr-librenms-mcp.git
cd clr-librenms-mcp
uv sync
uv run clr-librenms-mcp许可证
麻省理工学院——见 许可证 了解详情。
