This is an AI-native MCP server that wraps Cisco's Network Sketcher engine so LLMs can design network diagrams through tool calls instead of copy-paste. It exposes CLI commands like `add device` and `get_workspace_info` that let Claude or Cursor build L1/L2/L3 topologies, manage configurations in Excel, and generate PowerPoint or SVG output. The server works over stdio and reuses the existing online edition's engine as a library. You'd reach for this when you want an LLM to autonomously create or modify network diagrams during a conversation, though you'll still need to open the generated PPTX or SVG yourself since binary files can't render in chat. Requires Python 3.10+ and works best with Claude Opus 4.7 or later for the multi-step layout rules.
Network Sketcher generates network configuration diagrams in PowerPoint and manages configuration information in Excel. With AI (LLM) integration, it supports network design creation and updates via an MCP server for LLM clients (Local MCP), a web browser (Online), or a desktop GUI/CLI (Offline).
Network Sketcher provides three editions:
network-sketcher_offline/ folder alone.You can use any combination.
| Local MCP (AI-native) | Online (Web Service) | Offline (GUI + CLI) | |
|---|---|---|---|
| Interface | LLM client (Cursor, Claude Code, etc.) | Web browser | Desktop GUI / Command-line |
| Key dependencies | Python + MCP SDK | Python + Flask | Python + tkinter |
| Multi-user | Single user | Multiple users via browser | Single user |
| Client requires | Python + MCP client | Web browser only | Python runtime environment |
| AI-native design | Yes (most direct) | Yes | No |
| Master format | .nsm only | .xlsx / .nsm both | .xlsx only |
| Internal data storage | No | No | No |
| External communication | stdio to LLM client (local) | HTTPS | No |
| Tested platforms | Windows (Mac OS, Linux compatible by design) | Windows (Mac OS, Linux untested) | Windows, Mac OS, Linux |
| Folder | network-sketcher_local_mcp/ | network-sketcher_online/ | network-sketcher_offline/ |
network-sketcher/
├── network-sketcher_local_mcp/ # Local MCP edition — MCP server for LLM clients (AI-native)
├── network-sketcher_online/ # Online edition — Web service (browser-based)
├── network-sketcher_offline/ # Offline edition — GUI + CLI (standalone desktop app)
├── README.md
├── LICENSE
└── ...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AI-native edition: Network Sketcher Local MCP exposes the engine as a Model Context Protocol (MCP) server, enabling LLM clients such as Cursor and Claude Code to drive network design directly. This is the most direct AI integration of the three editions — no browser, no copy-paste.
Network Sketcher Local MCP is the third edition of Network Sketcher. It wraps network-sketcher_online/ns_engine/ as a library and exposes the Network Sketcher CLI through the Model Context Protocol so that LLM clients can drive network design via Tool calls.
Positioning: The Online edition is "browser + human + LLM (copy-paste)"; the Offline edition is "desktop GUI / CLI"; this edition is "AI-native — the LLM executes the CLI directly".
The AI agent Cursor autonomously creates a network using Network Sketcher's Local MCP functionality. It also simultaneously references best practices from other MCPs.
https://github.com/user-attachments/assets/274d5b66-5f4a-407a-bfb5-f71026971fc4
add device ... and similar commands as Tool invocationsnetwork-sketcher_online/ns_engine/ as a library (no code duplication)_online / _offline foldersnetwork-sketcher_online/ folder must be present)get_workspace_info to get_ai_context bootstrap). Weaker or older models may struggle with these workflows.git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt
Cursor and Claude Code use different configuration mechanisms, so the setup steps are split below. Pick the one that matches your client.
Add the following to the Cursor MCP configuration file (File > Preferences > Cursor Settings > MCP → mcp.json):
{
"mcpServers": {
"network-sketcher": {
"command": "python",
"args": [
"/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
]
}
}
}
Replace /path/to/network-sketcher/ with the actual path where you cloned the repository.
On Windows, you can use either forward slashes (/) or escaped backslashes (\\).
Register the MCP server with the claude CLI. The -- (double dash) separator is required so that the script path is passed to python rather than parsed as a flag of claude mcp add:
# Local scope (default; current project only, stored in ~/.claude.json)
claude mcp add network-sketcher -- python "/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
# User scope (available across all your projects)
claude mcp add --scope user network-sketcher -- python "/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
# Project scope (shared with team via .mcp.json in project root)
claude mcp add --scope project network-sketcher -- python "/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
Replace /path/to/network-sketcher/ with the actual path where you cloned the repository. See the Claude Code MCP installation scopes documentation for details on each scope and when to use which.
Network Sketcher Local MCP is listed on the LobeHub MCP Plugins Marketplace.
If you find the server useful and you trust the official @lobehub/ npm scope, please leave a rating from your MCP host CLI (the version range below is intentionally pinned to mitigate supply-chain risk):
npx @lobehub/market-cli@^0.0 mcp comment cisco-open-network-sketcher \
-c "Used to drive Cisco network design from Cursor / Claude Code." --rating 5
| Language | Link |
|---|---|
| English | Link |
| Japanese | Link |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AI-native software: Network Sketcher Online is designed around AI (LLM) interaction — generate AI context, send it to an LLM, and paste the resulting commands back to update your network design, all within the browser.
A demo video of approximately 4 minutes, starting with the installation of Network Sketcher. This demo video demonstrates creating a network configuration using LLM from URL information and performing additional editing. No sound, no captions.
https://github.com/user-attachments/assets/2acaea3b-32f2-4ff0-90ad-a3dc810293d2
Network Sketcher Online is a browser-based web service. It wraps the Network Sketcher CLI and provides an intuitive web UI for diagram generation and AI-driven network design — no python on PCs required.
Network Sketcher Online supports two output modes:
SVG Mode (default): Diagrams are rendered as SVG in the browser. All diagrams (L1/L2/L3, all areas and per-area) are generated in parallel and displayed as thumbnails without needing to download individual files. Master files are stored in the high-performance .nsm format internally. SVG mode is approximately 30x faster than PPTX mode. For compatibility with the Offline edition, master files can also be downloaded in .xlsx format.
PPTX Mode: Diagrams are generated as PowerPoint (.pptx) files, and device files are generated as Excel (.xlsx) files. This is the original output mode and produces the same files as the Offline edition.
All uploaded and generated files are automatically deleted from Network Sketcher Online after the session ends — no data is retained on the server.
Upload master files via drag-and-drop in a web browser
Generate L1/L2/L3 diagrams, device files, and AI context files with selectable outputs
Multi-format diagram download: SVG / SVG (for Visio) / draw.io / draw.io (stencil) — the last variant auto-applies Cisco mxgraph.cisco.* stencils
In-browser preview for PowerPoint (.pptx) and Excel (.xlsx) files without requiring Office software
Copy AI context to clipboard and open LLM with one click
Describe desired changes in a prompt field; the AI context + prompt is copied together for LLM interaction
Update master files by pasting CLI commands from LLM output (Update Master)
Create new master files from scratch via the web UI
Parallel processing for faster diagram generation
Attribute-based device coloring for L1 and L3 diagrams
Session persistence across browser refreshes with automatic cleanup
HTTPS enforced with auto-generated self-signed certificates
All settings managed via ns_web_config.json
git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_online
python3 -m pip install -r requirements_online.txt
cd ..
python3 start_ns_online.py
Open the URL shown at startup (default: https://localhost:5443) in your browser.
host and port settings in ns_web_config.json before starting the server.ns_web_config.json, manually delete the SSL certificate files in the Certs/ folder and restart the server. A new certificate matching the updated settings will be auto-generated.fqdn setting in ns_web_config.json is configured, the auto-generated SSL certificate's Common Name (CN) will use the specified FQDN.| Language | Link |
|---|---|
| English | Link |
| Japanese | Link |
| Ver: 3.0.1 (SVG Mode) | 64 NW devices 112 Connections | 256 NW devices 480 Connections | 1024 NW devices 1984 Connections | 4096 NW devices 8064 Connections |
|---|---|---|---|---|
| Master file creation *1 | 4s | 4s | 26s | 8m 12s |
| Creation of all configuration diagrams, device tables, and AI Context files | 3s | 7s | 58s | 15m 42s |
*1 Reflect only L1 information in the no_data master file. Connect adjacent devices. Measure command execution time.
Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
https://github.com/user-attachments/assets/9ff207f8-c6b3-4584-b166-98ae4e4c8297
NoLang (no-lang.com) Otologic (https://otologic.jp) CC BY 4.0
https://github.com/cisco-open/network-sketcher/assets/13013736/b76ec8fa-44ad-4d02-a7c2-579f67ad24a9
https://github.com/user-attachments/assets/5874411a-0e6d-485d-9f85-4cdc85f3ca07
Network Sketcher generates network configuration diagrams in PowerPoint and manages configuration information in Excel. Additionally, exporting a AI context can be used to generate config files using LLM.
git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_offline
python3 -m pip install -r requirements_offline.txt
python3 network_sketcher.py
or
#Download via browser
https://github.com/cisco-open/network-sketcher/archive/refs/heads/main.zip
#Unzip the ZIP file and execute the following in the prompt of the folder
cd network-sketcher_offline
python3 -m pip install -r requirements_offline.txt
python3 network_sketcher.py
python3 -m pip install tkinterdnd2
python3 -m pip install "openpyxl>=3.1.3,<=3.1.5"
python3 -m pip install python-pptx
python3 -m pip install ipaddress
python3 -m pip install numpy
python3 -m pip install pyyaml
python3 -m pip install ciscoconfparse
python3 -m pip install networkx
python3 -m pip install svg.path
brew install tcl-tk
brew install tkdnd
sudo apt-get install python3-tk
| Language | Link |
|---|---|
| English | Link |
| Japanese | Link |
pyinstaller.exe [file path]/network-sketcher_offline/network_sketcher.py --onefile --collect-data tkinterdnd2 --additional-hooks-dir [file path] --clean --add-data "./ns_extensions_cmd_list.txt;." --add-data "./ns_logo.png;."
| Ver: 2.6.1b | 64 NW devices 112 Connections | 256 NW devices 480 Connections | 1024 NW devices 1984 Connections |
|---|---|---|---|
| Master file creation *1 | 51s | 2m45s | 25m45s |
| Layer 1 diagram generation (All Areas with tags) | 6s | 29s | 6m30s |
| Layer 2 diagram generation | 13s | 51s | 6m53s |
| Layer 3 diagram generation (All Areas) | 10s | 56s | 14m23s |
| Device file export | 19s | 1m4s | 5m14s |
*1 Reflect only L1 information in the no_data master file. Connect adjacent devices. Measure command execution time.
Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| Feature Item | Local MCP (LLM-driven CLI) | Online Edition | Offline Edition (GUI) | Offline Edition (CLI) |
|---|---|---|---|---|
| Create master file from PowerPoint rough sketch | ❌ | ❌ | ✅ | ❌ |
| Convert master files from Visio, Draw.io, NetBox, CML | ❌ | ❌ | ✅ | ❌ |
| Place / create / delete / modify areas, devices, waypoints | ✅ | ✅ | ✅ (areas auto-placed in GUI) | ✅ |
| Add / delete / modify Layer 1 connections (port names, duplex, etc.) | ✅ | ✅ | ⚠️ (port cannot be specified on delete) | ✅ |
| Change Layer 2 segments (VLAN) / add / delete virtual ports (SVI, loopback, port-channel) | ✅ | ✅ | ✅ | ✅ |
| Change IP addresses / Layer 3 instances (VRF) | ✅ | ✅ | ✅ | ✅ |
| Change attributes | ✅ | ✅ | ✅ | ✅ |
| Add / delete VPNs | ❌ | ❌ | ✅ | ❌ |
| Flow management | ❌ | ❌ | ✅ | ❌ |
| Export various reports | ✅ (IP Address only) | ✅ (IP Address only) | ✅ | ❌ |
| Export empty master files (no data) | ✅ | ✅ | ❌ | ✅ |
| Export AI context files | ✅ | ✅ | ✅ | ✅ |
| Export device files | ✅ | ✅ | ✅ | ✅ |
| Generate L1/L2/L3 topology diagrams | ✅ | ✅ | ✅ | ✅ |
| Export diagrams as SVG (Visio-compatible) / draw.io (with Cisco stencils) | ❌ | ✅ | ❌ | ❌ |
Download : Sample.figure5.zip
Created by using AI context and giving AI (LLM) multiple command generation instructions.
Download : Sample Office.zip
Otologic (https://otologic.jp) CC BY 4.0
SPDX-License-Identifier: Apache-2.0
Copyright 2023 Cisco Systems, Inc. and its affiliates
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide