eNSP Automation MCP

eNSP Automation MCP

Generates eNSP network topologies, deploys Huawei VRP configurations, and provides verification plans for lab scenarios.

Category
Visit Server

README

eNSP Automation MCP

一个面向 eNSP 拓扑生成、VRP 配置下发和实验验收的 MCP 服务。

它能帮 agent 生成网络拓扑、输出华为 VRP 配置、批量下发配置,并给出验收命令和调试案例。定位很明确:把 eNSP 里重复搭拓扑、重复写配置、重复整理验证命令这部分省下来。

这不是华为官方工具,也不是 eNSP 官方插件。它是一个基于 .topo 工程生成 + Telnet/Console CLI 自动化的开源 MCP 项目。

现在能跑到什么程度

目前先放了一套“中小型校园网”示例模板。它不是万能模板,只是一个相对完整的起点:有分区、有路由、有出口、有服务、有安全策略,拿来做实验、录演示、整理验证证据都比较方便。

这套模板大概长这样:

  • 6 个 VLAN:教师、学生、实验室、服务器、管理、访客。
  • 30 多台设备,40 多条线,看起来像一个完整校园网,而不是两台交换机随便连一下。
  • 接入口走 Access,交换机之间走 Trunk。
  • 跨 VLAN 通信用 AR 子接口做。
  • 路由部分用 OSPF area 0,出口再配一条默认路由。
  • DHCP 地址池放在核心路由侧。
  • DNS、Web、FTP 这三类服务会把地址和测试步骤写清楚。
  • 出口有 NAT/PAT。
  • ACL 做了两条比较典型的限制:
    • 学生区不能访问管理区。
    • 访客区不能访问校园内网,但能访问模拟外网。
  • 生成验收用的命令、测试点和一个调试案例,方便后面截图写报告。

重要限制

eNSP 和 Packet Tracer 不一样,没有稳定公开的 addDevice/addLink 画布控制接口。所以本项目采用更稳的路线:

  1. 生成 .topo 拓扑工程。
  2. 在 eNSP 里打开拓扑并启动设备。
  3. MCP 扫描 eNSP 暴露的 Telnet/Console 端口。
  4. MCP 批量下发 VRP 配置并保存。

有些 eNSP 版本不会稳定加载生成工程里的 vrpcfg.zip。如果打开设备还是 <Huawei>,不是项目失效,直接使用批量下发配置工具即可。

PC / Server 的 IP 和 DNS/Web/FTP 图形服务也不一定能由 .topo 稳定恢复,报告验收前建议手动确认。

快速安装

git clone https://github.com/<your-name>/ensp-automation-mcp.git
cd ensp-automation-mcp
pip install -e . --no-deps --no-build-isolation

如果你本机已经能正常安装 MCP 依赖,也可以直接:

pip install -e .

MCP 客户端配置

通用 MCP JSON 配置示例:

{
  "mcpServers": {
    "ensp-automation-mcp": {
      "command": "ensp-automation-mcp",
      "args": []
    }
  }
}

Codex 风格 TOML 配置示例:

[mcp_servers.ensp-automation-mcp]
command = "ensp-automation-mcp"
args = []

配置好后重启你的 agent / MCP 客户端。

工具列表

工具 用途
ensp_getCampusPlan 查看内置校园网方案
ensp_generateCampusProject 生成 .topo、配置、服务步骤、测试计划
ensp_generateCampusConfigs 输出所有 VRP 配置
ensp_getVerificationPlan 输出验收命令、业务测试、调试案例
ensp_scanTelnetPorts 扫描 eNSP 设备 Telnet/Console 端口
ensp_telnetConnect 连接单台 eNSP 设备
ensp_telnetExecute 在单台设备执行命令
ensp_telnetApplyConfig 给单台设备批量下发配置
ensp_applyCampusConfigsByPortRange 按默认端口映射一键下发整套校园网配置
ensp_saveCampusConfigsByPortRange 按默认端口映射一键保存整套校园网配置
ensp_telnetListSessions 查看当前 Telnet 会话
ensp_telnetDisconnect 断开 Telnet 会话

推荐使用流程

  1. 调用 ensp_generateCampusProject 生成工程。
  2. 在 eNSP 中打开生成的 .topo
  3. 启动设备,建议分批启动:先路由器,再核心/汇聚交换机,再接入交换机,最后 PC/Server。
  4. 调用 ensp_scanTelnetPorts,确认端口在线。
  5. 调用 ensp_applyCampusConfigsByPortRange 批量下发配置。
  6. 调用 ensp_saveCampusConfigsByPortRange 保存设备配置。
  7. 调用 ensp_getVerificationPlan,按命令截图验收。

默认端口映射从 2000 开始:

AR-ISP          2000
AR-EDGE         2001
AR-CORE-A       2002
AR-CORE-B       2003
LSW-CORE1       2004
...
LSW-IOT-ACC     2019

服务器手动服务项

如果 eNSP Server 图形服务没有自动恢复,请手动设置:

SRV-DNS
IP: 192.168.40.10/24
Gateway: 192.168.40.1
DNS: On
www.campus.local -> 192.168.40.20
ftp.campus.local -> 192.168.40.30

SRV-WEB
IP: 192.168.40.20/24
Gateway: 192.168.40.1
HTTP: On

SRV-FTP
IP: 192.168.40.30/24
Gateway: 192.168.40.1
FTP: On
User: ftpuser / cisco

什么情况下适合用

如果你是在做这些事,这个项目会比较顺手:

  • eNSP 网络实验,不想从零拖设备、写重复配置。
  • 网络工程演示,需要一套看起来完整、配置也说得通的拓扑。
  • 想让支持 MCP 的 agent 帮你生成拓扑、下发配置、列验收命令。
  • 想研究 eNSP 工程文件和 VRP 配置自动化。

先说清楚哪些事它做不了

  • 它不是用来管真实生产网络的。
  • 它不是华为官方工具,eNSP 版本差异导致的问题只能尽量兼容。
  • 它不能绕开 eNSP 自己的限制,比如 Server 图形服务有时还是要手动点。
  • 它也不是“打开拓扑就百分百全自动恢复配置”。如果设备还是 <Huawei>,就走 Telnet 批量下发配置。

开发

python -m py_compile (Get-ChildItem -Path .\src\ensp_automation_mcp -Filter *.py | ForEach-Object { $_.FullName })
python -c "from ensp_automation_mcp.tools import TOOLS; print(len(TOOLS)); print([t['name'] for t in TOOLS])"

许可证

MIT License. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured