网络工程师MCP工具

一个为网络工程师设计的MCP服务器,提供AI代理对网络的读取访问,包括列出设备、运行显示命令以及跨多个路由器进行自主推理。

  • by Karmatek-Consulting-LLC
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Karmatek-Consulting-LLC/mcp-for-network-engineers

使用说明

面向网络工程师的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服务器在拓扑之外运行,通过管理到达设备 网络。