关于 mcp-netmiko-server
mcp-netmiko-server 是一个 MCP 服务,让 LLM 通过 SSH(netmiko)与网络设备交互。它从 TOML 文件读取设备清单,并可向设备发送命令或配置。
主要功能
- 01从 TOML 文件读取网络设备列表
- 02向设备发送命令并返回输出
- 03发送配置命令并自动提交或保存
- 04支持 default 段继承用户名和密码
适用场景
- 01让 LLM 查询网络设备的运行状态
- 02通过自然语言批量下发配置变更
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 get_network_device_list、send_command_and_get_output 和 set_config_commands_and_commit_or_save 三个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-netmiko-server
一个可让大模型通过 SSH(netmiko)与网络设备交互的 MCP 服务。
| 工具 | 描述 |
|---|---|
| get_network_device_list | 返回 TOML 文件中定义的网络设备名称和类型列表。 |
| send_command_and_get_output | 向设备发送命令并返回其输出。 |
| set_config_commands_and_commit_or_save | 向设备发送配置命令,并自动提交或保存。 |
使用方法
- 安装
git clone https://github.com/upa/mcp-netmiko-server
cd mcp-netmiko-server
# Write your toml file that lists your devices
vim my-devices.network.toml
# Run via stdio
uv run --with "mcp[cli]" --with netmiko main.py my-devices.network.toml
# Run as an SSE server: URL is http://localhost:10000/sse in this case
uv run --with "mcp[cli]" --with netmiko main.py my-devices.network.toml --sse
- 配置
在 TOML 文件中列出你的网络设备,例如 sample.network.toml:
[default]
username = "rouser"
password = "rouserpassword"
[qfx1]
hostname = "172.16.0.40"
device_type = "juniper_junos"
[nexus1]
hostname = "nexus1.lab"
device_type = "cisco_nxos"
[default] 是一个特殊区段,用于定义 username 和 password 等默认值。如果设备所属区段未定义这些值,则会继承默认值。
有关 device_type 的取值,请参阅 netmiko 支持的平台。
- claude desktop 配置 json:
{
"mcpServers": {
"netmiko server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"netmiko",
"[PATH TO]/mcp-netmiko-server/main.py",
"[PATH TO]/YOUR-DEVICE.toml"
]
}
}
}
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。