← 返回目录
N

Network Sketcher (Local MCP)

官方
面向网络设计的本地优先、AI 原生 MCP 服务器
GitHub 源仓库 ↗
★ 392 Stars 分类 · 开发工具 非常热门
59FMRS · C

Network Sketcher(本地 MCP 版)是 Cisco 开源网络设计工具中面向 AI 原生的 MCP 服务器,由 Cisco 维护并采用 Apache-2.0 许可。它通过 stdio 暴露 11 个工具,让 Cursor 和 Claude Code 等 LLM 客户端直接以工具调用方式创建 Cisco 风格网络设计、管理设备数据,并生成 L1/L2/L3 拓扑图(SVG / PowerPoint)、组合 HTML 查看器、设备表和 AI Context 文件。主文件为 .nsm,保存在本机工作区,服务器不进行内部数据存储,也不对外通信。适用于单用户本地环境;需要 Python 3.10+、完整仓库以及推荐使用 Claude Opus 4.7 或更高版本。局限包括仅支持 stdio、不支持 IPv6、LLM 客户端无法直接查看二进制图表输出,以及部分功能(VPN、Flow、从 PowerPoint 草图创建主文件)不在本版提供。整体上,它是把网络设计与 LLM 工作流直接衔接起来的官方本地优先方案。

可靠性
10/20
安全与权限
9/20
维护活跃度
14/20
文档质量
15/20
安装易用性
11/20
查看 FMRS 评分方法 →

Network Sketcher(本地 MCP 版)是 Cisco 开源网络设计工具的第三版,以 Model Context Protocol 服务器形式将 network-sketcher_online/ns_engine/ 作为库封装,并通过 stdio 暴露 Network Sketcher CLI,使 Cursor、Claude Code 等 LLM 客户端可通过工具调用进行网络设计。它面向 AI 原生流程:LLM 直接执行 CLI 命令,无需浏览器、无需复制粘贴。可用于从自然语言工作流创建 Cisco 风格网络设计、管理设备数据,并生成 L1/L2/L3 拓扑图(SVG / PowerPoint)、组合 HTML 查看器、设备表格与 AI Context 文件。主文件为 .nsm 格式,保存在本机,服务器不进行内部数据存储,也不对外通信(仅通过 stdio 与本地 LLM 客户端通信)。

工具能力

get_workspace_info
返回当前工作区路径以及其中的 .nsm 主文件(及其他 NS 生成文件)列表。随时可安全调用。
suggest_workspace
在用户主目录下建议符合操作系统(Windows / macOS / Linux)的工作区目录候选,并提示哪些已存在且可写。随时可安全调用。
set_workspace
为当前会话设置活动工作区目录。校验路径位于用户主目录下,缺失时创建,并确认可写。
create_empty_master
在活动工作区中创建新的空 Network Sketcher 主文件(.nsm)。
get_network_state
运行标准 show 命令集并返回聚合结果——面向智能体的轻量级网络状态摘要。
get_ai_context
为指定主文件生成完整 AI Context 文件并返回其内容(网络状态加完整 CLI 命令参考)。建议在任何编辑前作为引导调用。
run_commands
对 .nsm 主文件执行一条或多条 Network Sketcher CLI 命令(add / rename / delete / show)。多行命令会批量合并到单个子进程以摊薄启动开销。要求本次会话中至少调用过一次 get_ai_context。
import_master
将现有 .xlsx 主文件转换为活动工作区中的 .nsm。会话开始时使用一次,即可把现有 .xlsx 主文件纳入 .nsm 管理。
export_master_xlsx
将 .nsm 主文件转换回 .xlsx,以便使用 Excel 或 Network Sketcher 离线版。.nsm 本身不会被修改。
export_diagram
为指定 .nsm 主文件导出 L1、L2 或 L3 网络图。输出格式为 SVG(默认、快速、浏览器可渲染)或 PPTX(可在 PowerPoint 中编辑)。省略 area 时保留旧行为(L1:all_areas_tag,L3:all_areas,L2:第一个区域)。提供 area 时仅生成该单个区域(L1/L3 要求 format='svg';L2 两种格式均支持 area)。要求本次会话中至少调用过一次 get_ai_context。
export_device_table_html
从 .nsm 主文件导出交互式 HTML 设备表预览(拒绝 .xlsx 主文件)。输出为单个自包含 HTML 文件('[DEVICE_TABLE]{basename}.html'),含六个选项卡(L1 / L2 / L3 / Attribute / IP Address_Summary / IP Address_List),布局与 Network Sketcher 在线版的 Device Preview 界面一致,包含固定表头表格、每选项卡的 CSV/HTML 下载按钮以及基于 URL 哈希的初始选项卡选择。不引用任何外部 CDN 或脚本,因此可直接从磁盘打开或作为单一产物分享。

安装接入

1) 克隆仓库:git clone https://github.com/cisco-open/network-sketcher/,然后进入 network-sketcher/network-sketcher_local_mcp 并执行 python -m pip install -r requirements_mcp.txt。
2) Cursor:在 Cursor 的 MCP 配置文件(File > Preferences > Cursor Settings > MCP → mcp.json)中添加 mcpServers 配置,command 为 python,args 为本地克隆路径下的 network-sketcher_local_mcp/ns_mcp_server.py。
3) Claude Code:运行 claude mcp add network-sketcher -- python "<本地克隆路径>/network-sketcher_local_mcp/ns_mcp_server.py";可用 --scope user|project 指定安装范围。
4) 手动方式:克隆仓库、安装 Python 依赖后直接运行 python ns_mcp_server.py。
注意需要 Python 3.10 或更高版本(MCP SDK 要求),并且必须存在完整的 Network Sketcher 仓库(network-sketcher_online/ 文件夹必须存在)。

claude_desktop_config.json
{"mcpServers":{"network-sketcher":{"command":"python","args":["<abs-path>/network-sketcher_local_mcp/ns_mcp_server.py"]}}}

选型与风险

适合谁

  • 使用 Cursor 或 Claude Code 且希望以工具调用方式直接驱动网络设计的团队
  • 希望主文件保留在本机、无外部通信的本地单用户工作流
  • 需要生成 Cisco 风格 L1/L2/L3 拓扑图(SVG / PowerPoint)、设备表和 AI Context 文件的网络工程师
  • 愿意使用具备较强多步工具调用能力的模型(推荐 Claude Opus 4.7 或更高版本)的用户

不适合谁

  • 需要 HTTP/SSE 传输或多用户并发的部署(仅支持单用户 stdio)
  • 希望 LLM 客户端直接查看 PPTX / SVG 二进制输出的场景(需用户自行打开生成的 SVG)
  • 无法运行 Python 或不愿本地安装依赖的环境
  • 需要 IPv6 的网络设计(不支持 IPv6)
  • 需要从 PowerPoint 草图创建主文件、在 GUI 中添加/删除 VPN 或进行 Flow 管理(这些功能不在本版提供)

所需权限

  • 读取与写入用户主目录下的工作区目录(set_workspace 会校验路径位于用户主目录下,并确认可写)
  • 在活动工作区中创建和读取 .nsm 主文件
  • 读取指定路径下的 .xlsx 文件以执行 import_master
  • 在活动工作区中写出生成的 SVG / PPTX 图、.xlsx 文件与 HTML 设备表
  • 在本地启动 Python 子进程以执行 Network Sketcher CLI 命令

风险与副作用

  • run_commands 会把 LLM 生成的 CLI 命令批量提交给本地子进程执行,错误或意外的命令可能修改 .nsm 主文件(建议先备份或使用空主文件试验)
  • import_master 与 export_master_xlsx 会读写工作区中的文件,路径错误或覆盖可能影响现有文件
  • 导入的第三方转换器输出仅为草稿,可能存在数据质量问题,需要人工校验
  • 大型网络的图表生成可能耗时较长
  • Weak 或较旧的模型可能难以遵循服务器指令与 AI Context 中的布局/工作流规则(如 RULE 0 / 0.5 布局、RULE 3.5 多传输 WAN waypoint 设计、强制的 get_workspace_info 到 get_ai_context 引导流程)

常见排障

  1. 确认 Python 版本不低于 3.10(MCP SDK 要求,引擎本身支持 3.9+)
  2. 确认仓库完整克隆,且 network-sketcher_online/ 文件夹存在
  3. 检查 MCP 客户端配置中的脚本路径是否为本地克隆的绝对路径(Windows 可用正斜杠或转义反斜杠)
  4. Claude Code 注册时确认使用 -- 分隔符,使脚本路径传给 python 而非被解析为 claude mcp add 的参数
  5. 若工具调用报错提示需要上下文,先调用 get_ai_context,再执行 run_commands 或 export_diagram
  6. 若工作区设置失败,检查路径是否位于用户主目录下且可写,或先调用 suggest_workspace 查看候选目录
  7. 若图表或设备表未生成,确认使用 .nsm 主文件(export_device_table_html 会拒绝 .xlsx),并检查工作区写入权限

使用场景

通过 AI 对话构建 5 站点 WAN 或园区 LAN 设计
生成 L1 物理、L2 VLAN/广播域和 L3 IP 拓扑图
导出组合 L1/L2/L3 HTML 查看器和交互式设备表
创建 AI Context 文件,以便另一个 LLM 审阅或扩展网络设计
在单个会话中运行 Cisco 扩展转换器,通过 run_commands 导入 ns_commands.txt 并完成默认输出

支持客户端

Cursor完整支持
Claude Code完整支持