AI-native MCP server to design and manage Cisco network diagrams (L1/L2/L3, PPT/SVG) from LLMs.
io.github.cisco-open/network-sketcher MCP Server
The Network Sketcher MCP server is described as an AI-native tool for designing and managing Cisco network diagrams from LLMs. It focuses on network diagram generation and management across common diagram formats and Cisco topology layers.
π οΈ Key Features
AI-native network design and diagram management
Cisco network diagram support
Diagram layers: L1/L2/L3
Outputs mentioned: PowerPoint and SVG
π Use Cases
Generate Cisco diagrams from LLM prompts
Create or update network topology documentation using PPT/SVG
Represent network structure across L1/L2/L3 views
β‘ Developer Benefits
Integrates Model Context Protocol (MCP) server functionality
Supports developer workflows around network automation and topology diagrams
Topics aligned with tools/editors (e.g., Cursor, claude-code)
β οΈ Limitations
Source data does not specify available tools, API methods, or configuration options
No details provided on supported device models, validation, or export depth
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.
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, Catalyst SD-WAN, Meraki, Nexus Dashboard, CML, Cyber Vision, SNA, NetBox exports, or config files (IOS / IOS-XE / NX-OS / IOS-XR / ASA) into CLI commands for any Network Sketcher edition
Quick Start: Local MCP in 3 Steps
ns_demo_mcp
The quickest way to try Network Sketcher with an AI agent is the Local MCP edition.
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:
text
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.
imageimage
Ecosystem & Integrations
Network Sketcher Local MCP is listed on the official MCP Registry and major MCP platforms:
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/
βββ 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).
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.
image
What is Network Sketcher Local MCP?
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".
5min Demo video of the Local MCP edition.
The AI ββagent Cursor autonomously creates a network using Network Sketcher's Local MCP functionality. It also simultaneously references best practices from other MCPs.
Only stdio transport is supported (HTTP/SSE not supported)
Diagram generation for large networks may take some time
LLM clients cannot directly view binary output (PPTX / SVG); if visual feedback is needed, the user should open the generated SVG directly
Verification status: End-to-end verified in both Cursor and Claude Code. The server follows the standard MCP specification, so any MCP-compatible AI agent/client is expected to work, not just these two.
Requirement (Local MCP)
Python 3.10 or later (required by the MCP SDK; the engine itself supports 3.9+)
The full Network Sketcher repository (the network-sketcher_online/ folder must be present)
Recommended LLM: Claude Opus 4.7 or later. The Local MCP edition relies heavily on multi-step tool calling, schema interpretation, and adherence to the layout / workflow rules embedded in the server instructions and AI Context (e.g., RULE 0 / 0.5 layout, RULE 3.5 multi-transport WAN waypoint design, mandatory get_workspace_info to get_ai_context bootstrap). Weaker or older models may struggle with these workflows.
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 (\\).
For Claude Code
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:
bash
# 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"
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.
image
Demo Video (Ver 3.0.1b)
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.
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.
Online Features
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
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
Limitations (Online)
Designed for use on internal networks only. Not intended for deployment on the public internet.
IPv4 only. IPv6 is not supported.
Excel (.xlsx) and PowerPoint (.pptx) files cannot be synced back to the master file. All editing is performed through CLI commands generated by an LLM.
In-browser preview for PowerPoint (.pptx) may not render correctly when the browser zoom or display scaling is set to a high value (e.g., 200%).
Requirement (Online)
Tested on Windows only. It may work on Mac OS and Linux, but these platforms have not been verified.
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.
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.
Automatic generation of each configuration document by metadatization of network configuration information
Automated synchronization between documents
Minimize maintenance and training load by automatic generation of common formats
Facilitate automatic analysis, AI utilization, and inter-system collaboration by metadatization of configuration information.
Template support for equipment configuration
image
image
Although Network Sketcher now supports multiple formats, it is not intended to replace the main drawing tool, but rather aims for mutually beneficial development.
A DEVICE file contains multiple sheets, but only one sheet should be updated at a time. Simultaneous synchronization of multiple sheet updates is not supported.
Do not use Network Sketcher on master files in your One Drive folder.
Deleting Layer 1 links using the GUI cannot identify individual interfaces and will delete more Layer 2 data than intended. Use the CLI command (delete l1_link) to delete Layer 1 links.
Requirement (Offline)
Network Sketcher supports cross-platform. Works with Windows, Mac OS, and Linux.
MAC OS may not display well in Dark mode.
Python ver 3.x
Software that can edit .pptx and .xlsx files
Microsoft Powerpoint and Excel are the best
Google Slides and Spreadsheets import/export functionality is available. Excel functions display will show an error, but it works fine.
#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 foldercd network-sketcher_offline
python3 -m pip install -r requirements_offline.txt
python3 network_sketcher.py
Installation Supplement (Offline)
Alternative to "python -m pip install -r requirements_offline.txt"
Mac OS requires the following additional installation.
bash
brew install tcl-tk
brew install tkdnd
Ubuntu requires the following additional installation.
GUI drag and drop doesn't work on Ubuntu, you need to compile tkdnd from source or use "Browse" and "Submit".
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
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.