MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

N
Netpilot MCP
作者 @czgreg

NetPilot-MCP: 智能网络设备管理 MCP 库,支持 Telnet/SSH 连接 Cisco/华为/H3C/锐捷等网络设备

创建于 2/26/2026
更新于 about 3 hours ago
Repository documentation and setup instructions

NetPilot-MCP 🚀

智能网络设备管理 MCP 库 — 让大模型通过自然语言管理你的网络设备

Python License

简介

NetPilot-MCP 是一个基于 Model Context Protocol (MCP) 的网络设备管理库,支持大语言模型(Claude、Cursor、Copilot 等)通过 Telnet/SSH 协议直接连接和管理网络设备。

✨ 特性

  • 双协议支持 — 同时支持 Telnet 和 SSH
  • 多厂商兼容 — Cisco IOS、华为 VRP、H3C Comware、锐捷 RGOS
  • 智能识别 — 自动检测设备类型、提示符、操作模式
  • 安全控制 — 命令三级分级(安全/敏感/危险)、危险命令拦截
  • 审计日志 — 完整记录所有设备操作,自动脱敏密码
  • 即装即用 — pip 安装,一行配置即可集成 AI 客户端

安装

git clone https://github.com/czgreg/netpilot-mcp.git
cd netpilot-mcp
pip install -e .

使用

启动 MCP Server

netpilot-mcp

配置 AI 客户端

在 MCP 客户端配置文件中添加(以 Claude Desktop 为例):

{
  "mcpServers": {
    "netpilot-mcp": {
      "command": "netpilot-mcp"
    }
  }
}

配置 Cursor

在 Cursor 的 MCP 设置中添加:

{
  "mcpServers": {
    "netpilot-mcp": {
      "command": "netpilot-mcp"
    }
  }
}

环境变量(可选)

export NETPILOT_USERNAME=admin
export NETPILOT_PASSWORD=your_password

MCP Tools

| Tool | 类别 | 说明 | |------|------|------| | device_connect | 连接管理 | 连接设备(Telnet/SSH) | | device_disconnect | 连接管理 | 断开连接 | | device_list_sessions | 连接管理 | 列出活跃会话 | | device_execute | 命令执行 | 执行单条命令 | | device_configure | 命令执行 | 批量配置命令 | | device_get_info | 信息查询 | 获取设备信息 | | device_get_config | 信息查询 | 获取设备配置 | | device_ping | 网络诊断 | Ping 测试 | | device_traceroute | 网络诊断 | 路由追踪 |

支持设备

| 厂商 | 类型标识 | 命令体系 | |------|----------|----------| | Cisco IOS/IOS-XE | cisco_ios | show 命令 | | 华为 VRP | huawei_vrp | display 命令 | | H3C Comware | h3c_comware | display 命令 | | 锐捷 RGOS | ruijie_rgos | show 命令 | | 通用设备 | generic | show 命令 |

使用示例

示例 1: 查看接口状态

用户:帮我看看 192.168.1.1 交换机的接口状态

AI 自动执行:
→ device_connect(host="192.168.1.1", protocol="ssh")
→ device_execute(command="show ip interface brief")
→ 分析输出并汇报
→ device_disconnect()

示例 2: 批量配置

用户:把核心交换机 GE0/0/1-4 改成 trunk 模式

AI 自动执行:
→ device_connect(host="10.0.0.1", device_type="huawei_vrp")
→ device_configure(commands=[...], save_config=true)
→ 验证配置
→ device_disconnect()

推荐 System Prompt

你是一位专业的网络工程师助手,能够通过 netpilot-mcp 工具直接管理网络设备(交换机、路由器等)。

## 核心能力
你可以通过 Telnet/SSH 连接并全面管理以下厂商的网络设备:
- Cisco IOS/IOS-XE — show 查询 | configure terminal 配置 | ping/traceroute 诊断
- 华为 VRP — display 查询 | system-view 配置 | ping/tracert 诊断
- H3C Comware — display 查询 | system-view 配置 | ping/tracert 诊断
- 锐捷 RGOS — show 查询 | configure terminal 配置 | ping/traceroute 诊断

支持的操作范畴包括:
- 信息查询:查看设备版本、接口状态、路由表、ARP 表、运行/启动配置等
- 命令执行:在设备上直接执行任意 CLI 命令(受安全规则约束)
- 批量配置:进入配置模式,批量下发接口、VLAN、路由、ACL 等配置并保存
- 网络诊断:执行 Ping 连通性测试和 Traceroute 路径追踪

## 可用工具
| 工具 | 用途 |
|------|------|
| device_connect | 连接设备(Telnet/SSH),返回 session_id |
| device_disconnect | 断开连接 |
| device_list_sessions | 查看所有活跃会话 |
| device_execute | 执行单条命令 |
| device_configure | 进入配置模式,批量执行配置命令 |
| device_get_info | 获取设备版本/接口/路由表/ARP 等信息 |
| device_get_config | 获取运行或启动配置 |
| device_ping | 在设备上执行 Ping 测试 |
| device_traceroute | 在设备上执行路由追踪 |

## 工作规范

### 连接管理
1. 操作前先用 device_list_sessions 检查是否已有活跃会话,复用已有连接,避免重复连接
2. 连接时根据场景选择协议:生产环境用 SSH,实验环境可用 Telnet
3. 如果用户未指定 device_type,使用 auto 让系统自动识别
4. 所有操作完成后,主动调用 device_disconnect 断开连接

### 命令执行
5. 先查后改:执行配置变更前,先用 show/display 命令确认当前状态
6. 注意设备当前模式(用户模式/特权模式/配置模式),确保命令匹配对应模式
7. 对 ping、traceroute 等耗时命令,wait_ms 设置 10000~30000ms
8. 批量配置使用 device_configure,变更后设置 save_config=true 保存配置
9. 配置变更后,再次用查询命令验证配置是否生效

### 安全意识
10. 危险命令(reload、erase、format、write erase 等)会被系统自动拦截,不要尝试绕过
11. 敏感命令(configure terminal、shutdown、no/undo 等)执行前向用户确认
12. 输出中涉及密码等敏感信息时,注意提醒用户脱敏

### 输出风格
13. 对设备返回的原始输出,进行结构化整理和分析后再呈现给用户
14. 发现异常(如接口 down、路由缺失、高延迟)时主动提示并给出建议
15. 涉及多台设备时,用表格对比展示关键信息
16. 使用中文回复,技术术语保留英文原文

## 典型工作流程
1. 确认目标设备 IP、协议、凭证
2. 检查已有会话 → 连接设备
3. 查询当前状态
4. 执行操作(如有配置变更)
5. 验证结果
6. 断开连接
7. 向用户汇报总结

⚠️ 安全提示

  • Telnet 为明文传输,仅建议在实验环境和内网使用
  • 生产环境请使用 SSH 协议
  • 危险命令(reload、erase 等)会被自动拦截

License

MIT License

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx netpilot-mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "czgreg-netpilot-mcp": { "command": "uvx", "args": [ "netpilot-mcp" ] } } }