使用说明
面向网络工程师的mcp
配套代码 为了 面向网络工程师的MCP:为您的AI提供网络工具包.
一个最小的MCP服务器,为AI代理提供对网络的读取权限——列出设备、运行show命令并观看它 跨多个路由器的原因。
这里有什么
inventory.json # Device inventory (Netmiko connection parameters)
server.py # FastMCP server — tools, resources, and a prompt
服务器公开所有三个MCP原语:
list_devices工具 --返回清单中的所有设备(不包括凭据)run_command工具 --通过SSH在设备上运行任何show命令backup_all_configs工具 --备份每个设备的运行配置,异步报告进度network://inventory资源 --将完整库存作为支持资源的客户端的应用程序管理上下文network://device/{host}资源模板 --支持资源模板的客户端的参数化设备查找ospf_audit提示 --为支持提示的客户端预构建的OSPF健康检查工作流
需求
- Python 3.11+
- 紫外线
- 可通过SSH访问的网络设备(该示例在EVE-NG中使用Cisco CSR1000v)
设置
git clone git@github.com:Karmatek-Consulting-LLC/mcp-for-network-engineers.git
cd mcp-for-network-engineers
uv sync
编辑 inventory.json 要匹配您的设备:
[
{
"host": "172.20.20.1",
"device_type": "cisco_ios",
"username": "admin",
"password": "admin",
"secret": "admin"
}
]
运行服务器
python server.py
服务器绑定到端口8080,并在以下位置提供可流式传输的http http://localhost:8080/mcp.
连接客户端
任何兼容MCP的客户端,只要能说流式http,都可以工作。博客文章 用途 langchain mcp客户端,支持本地的Streamlit应用程序( Ollama)和商业LLM提供商。
指向:
http://localhost:8080/mcp
要获得全部资源和及时支持,请使用 MCP 检查员 或克劳德 桌面。
实验室拓扑
┌─────────────┐
│ Provider │
│ Network │
└──┬───┬───┬──┘
│ │ │
┌──────┘ │ └──────┐
│ │ │
HQ_CSR BR1_CSR BR2_CSR
172.20.20.1 172.20.21.1 172.20.22.1
│ │ │
HQ_SW BR1_SW BR2_SW
OSPF在所有三个站点之间运行。MCP服务器在拓扑之外运行,通过管理到达设备 网络。