Network Sketcher (Local MCP)
About
Network Sketcher is an AI-ready network design tool with Local MCP, Online, and Offline editions for creating network designs and exporting PowerPoint diagrams and Excel-based configuration data.
Details
- License
- Apache-2.0
Explore
- No browser, no copy-paste. The LLM calls add device ... and similar commands as Tool invocations
- Reuses network-sketcher_online/ns_engine/ as a library (no code duplication)
- No changes are made to the existing _online / _offline folders
- stdio transport (designed for local operation)
- Platform import workflow: See Extensions: Cisco & Third-Party Converters above (run_commands + build_default_outputs)
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
- Ver 2.6.1<br>
Network Sketcher Ver 2.6.1 supported the creation of a network configuration with LLM from scratch-usage-(config-creation,-config-reflection,-analysis,-etc.)_en)
- Ver 2.6.0<br>
Although Network Sketcher now supports multiple formats, it is not intended to replace the main drawing tool, but rather aims for mutually beneficial development.
For API-driven platform imports, see Extensions: Cisco & Third-Party Converters above (complements Offline GUI import for Visio / draw.io / NetBox / CML files).
- Ver 2.5.0
- Communication flow management functionality has been added.
| Feature Item | Local MCP (LLM-driven CLI) | Online Edition | Offline Edition (GUI) | Offline Edition (CLI) |
| --- | --- | --- | --- | --- |
| Create master file from PowerPoint rough sketch | ❌ | ❌ | ✅ | ❌ |
| Convert from Visio / Draw.io / NetBox / CML files (built-in Offline GUI) | ❌ | ❌ | ✅ | ❌ |
| Import via Cisco Extension converters (see above) | ✅ | ✅ | ✅ | ✅ |
| 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) | ❌ | ✅ | ❌ | ❌ |
> For Cisco Extension import caveats, see Extensions: Cisco & Third-Party Converters above.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Network Sketcher (Local MCP)Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
The quickest way to try Network Sketcher with an AI agent is the Local MCP edition.
git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt
git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt
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.
- To serve on a specific network interface, edit the host and port settings in ns_web_config.json before starting the server.
- If no SSL certificate exists, a self-signed certificate is auto-generated on first startup.
- If you change the host IP address or other settings in 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.
- If the fqdn setting in ns_web_config.json is configured, the auto-generated SSL certificate's Common Name (CN) will use the specified FQDN.
https://github.com/cisco-open/network-sketcher/assets/13013736/b76ec8fa-44ad-4d02-a7c2-579f67ad24a9
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
Alternative to "python -m pip install -r requirements_offline.txt"
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
Mac OS requires the following additional installation.
brew install tcl-tk
brew install tkdnd
- Ubuntu requires the following additional installation.<br>
sudo apt-get install python3-tk
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;."
<br>Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"network sketcher (local mcp)": {
"network-sketcher": {
"command": "python",
"args": [
"-m",
"pip",
"install",
"-r",
"requirements_mcp.txt"
]
}
}
}
}
McpServers
{
"network-sketcher": {
"command": "python",
"args": [
"-m",
"pip",
"install",
"-r",
"requirements_mcp.txt"
]
}
}
Network Sketcher is an AI-native network design and diagramming tool. It generates L1/L2/L3 topology diagrams, device tables, and AI-ready context files from structured network data and natural-language workflows.
For MCP users, Network Sketcher Local MCP lets LLM clients such as Cursor and Claude Code design Cisco-style networks directly through Model Context Protocol tool calls. It runs locally over stdio, keeps master files on your machine, and produces SVG / PowerPoint diagrams plus HTML device tables.
MCP listings: Glama · LobeHub · Remote OpenClaw · MCP Registry · MCP Market
If Network Sketcher helps your workflow, please consider starring the repository.
Common use cases:
- Build a 5-site WAN or campus LAN design from an AI conversation
- Generate L1 physical, L2 VLAN/broadcast-domain, and L3 IP topology diagrams
- Export a combined L1/L2/L3 HTML viewer and an interactive device table
- Create an AI Context file so another LLM can review or extend the network design
- Import from live inventory: Use Network Sketcher Cisco Extension converters to turn ACI, Catalyst Center, Meraki, Nexus Dashboard, CML, Cyber Vision, SNA, or NetBox exports into CLI commands for any Network Sketcher edition
Quick Start: Local MCP in 3 Steps
The quickest way to try Network Sketcher with an AI agent is the Local MCP edition.
1. Install
git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt
2. Add it to your MCP client
For Cursor, add this to your MCP configuration:
{
"mcpServers": {
"network-sketcher": {
"command": "python",
"args": [
"/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
]
}
}
}
For Claude Code:
claude mcp add network-sketcher -- python "/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
Replace /path/to/network-sketcher/ with your local clone path.
3. Ask your agent to build a network
Example prompt:
Using Network Sketcher Local MCP, create a small 5-site WAN design with HQ, two data centers, two branches, Internet and WAN waypoints, edge routers, simple L2 segments, and representative IP addressing. Then build the default L1/L2/L3 diagrams and device table.
The generated files will be saved in your Network Sketcher workspace.
Network Sketcher provides three editions:
- Network Sketcher Local MCP — AI-native MCP server for LLM clients (Cursor, Claude Code, etc.). The most direct AI integration: the LLM calls Network Sketcher tools without a browser or copy-paste.
- Network Sketcher Online — Browser-based web service.
- Network Sketcher Offline — Desktop GUI + CLI. Runs independently with the 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%5BEN%5D#external-communication) | 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
└── ...
Extensions: Cisco & Third-Party Converters
The Network Sketcher Cisco Extension repository (Cisco DevNet) is a separate monorepo of converters that turn platform exports or read-only API snapshots into Network Sketcher CLI command scripts (ns_commands.txt). The output works with all three editions — Local MCP, Online, and Offline (GUI / CLI).
Converters: ACI · Catalyst Center · CML · Cyber Vision · Meraki · Nexus Dashboard (NDFC) · Secure Network Analytics · NetBox · template_converter (Catalyst SD-WAN: planning)
Learn more: Typical workflow · Tools overview · Third-party converters · Build your own converter
With Local MCP, an AI agent can run a converter, feed ns_commands.txt through run_commands, and finalize with build_default_outputs in one session.
> Converter output is a starting draft — see the Cisco Extension README for data-quality caveats and validation guidance.
<br>
<br>
<p align="center">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<br>
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



