← 返回目录
N

Network Sketcher (Local MCP)

官方
面向网络设计的本地优先、AI 原生 MCP 服务器
分类
开发工具 第 133 / 438
Stars
★ 416 非常热门
传输方式
stdio(本地进程)
运行环境
Python 3.10+
凭据
无需凭据
许可证
Apache-2.0
最近提交
工具数
11
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 工作流直接衔接起来的官方本地优先方案。

最强项 · 文档质量 15/20 最弱项 · 安全与权限 9/20

可靠性
10/20
安全与权限
9/20
维护活跃度
14/20
文档质量
15/20
安装易用性
11/20
查看各项评分依据
可靠性 10/20
静态审查仅见 server.json 清单与 README,未发现任何 CI 工作流或已提交测试覆盖关键路径(get_ai_context、run_commands、export_diagram 等);清单声明与 README 描述基本一致(stdio、Python 3.10+、.nsm 工作区),工具参数与说明自洽,且明确给出运行前提(必须先调用 get_ai_context 或 bootstrap 序列)。但缺少可验证的执行证据、错误路径说明(子进程失败、路径不存在、超大网络超时如何处理)与依赖锁定(requirements_mcp.txt 内容不可见),因此可靠性只能给中位分。
安全与权限 9/20
未触及红线:无凭据窃取、无隐秘外传、无未经确认的破坏性默认操作。设计上是本地 stdio、默认不回传数据、set_workspace 明确限制在用户主目录下且校验可写,导出工具仅写入工作区,数据边界清晰;导入/导出仅涉及用户指定路径。扣分点在于 run_commands 可执行任意 Network Sketcher CLI 命令(含删除/重命名)而文档未要求显式确认或干跑模式,且要求先调用 get_ai_context 只是一种软门槛而非权限控制;此外 README 提到 Online 版走 HTTPS 与此本地服务器无关,未发现安装示例中出现真实令牌或密钥。
维护活跃度 14/20
Apache-2.0 许可证明确、作者与版权署名清晰(Cisco Systems / Yusuke Ogawa),版本号有语义化痕迹(3.1.2r),仓库处于活跃状态(392 星、0 待处理 issue)。但缺少可见的发布节奏、依赖更新策略、安全响应渠道说明,且未提供 CHANGELOG 或 CI 状态等可审查证据,治理层面仍有缺口,故给中上分而非满分。
文档质量 15/20
README 分层完备:三版本对比表、功能支持矩阵、限制(仅 stdio、单用户、大网络耗时、PPTX/SVG 无法被 LLM 直接查看、推荐模型)、安装与 Cursor/Claude Code 双客户端配置示例、Windows/macOS/Linux 平台说明,以及各工具的参数与前置条件。工具描述本身也写得详细(例如 export_diagram 的 area 与 format 组合约束)。扣分点在于缺少对 requirements_mcp.txt 依赖清单、Python 3.10 与引擎 3.9+ 差异的安装故障排查、以及运行失败时的诊断指引,存在隐含假设。
安装易用性 11/20
安装路径清晰且步骤少:git clone → pip install -r requirements_mcp.txt → 在 Cursor mcp.json 或 claude mcp add 中注册 python 脚本路径,并说明 -- 分隔符与作用域选择,示例可直接复制。但需先克隆完整仓库(依赖 network-sketcher_online 目录)、手工替换绝对路径,且 README 自述仅 Windows 实测(macOS/Linux 按设计兼容但未验证),也没有打包、容器或一键安装方式。属于可用但偏手工的安装流程,未达清晰少步的满分水平。

静态评测 · 未实际运行收录于 2026-09-18

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件写入 / 删除本地文件执行命令或代码

适合谁

  • 使用 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 引导流程)

安装接入

准备工作

运行环境:Python 3.10+

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/ 文件夹必须存在)。

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

以 Cursor 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

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

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add network-sketcher -- python '<abs-path>/network-sketcher_local_mcp/ns_mcp_server.py'

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 Cursor 或 Claude Code 的 MCP 工具列表中应出现 get_workspace_info 等工具;连接后调用 get_workspace_info,若能返回工作区路径和 .nsm 文件列表,则说明服务器安装成功。

常见排障

  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 助手这样说:

  • 使用 Network Sketcher Local MCP 创建一个包含总部、两个数据中心和两个分支的 5 站点 WAN 设计,并生成默认的 L1/L2/L3 拓扑图和设备表。
  • 调用 get_workspace_info 查看当前工作区中有哪些 .nsm master 文件。
  • 对 [MASTER]office.nsm 导出 L2 的 SVG 拓扑图。
  • 把现有的 .xlsx master 文件导入为 .nsm,然后再导出交互式 HTML 设备表。

工具能力 11

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 管理。
展开其余 3 个工具
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 或脚本,因此可直接从磁盘打开或作为单一产物分享。

使用场景

通过 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

依据项目文档列出,未经本站实测。

详细介绍

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 客户端通信)。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 64.1k · 工具数 2 与当前对比 →

源版本 0bdda3d1e1b6 数据同步于 2026-11-02 查看 FMRS 评分方法