Network Sketcher — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Network Sketcher (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="https://github.com/user-attachments/assets/cc82082d-c4a5-4f13-90f5-adaf162202b2" alt="image" /> </p>
<p align="center"> <a href="https://glama.ai/mcp/servers/cisco-open/network-sketcher"> <img src="https://glama.ai/mcp/servers/cisco-open/network-sketcher/badges/score.svg" alt="Glama MCP score" /> </a> <a href="https://lobehub.com/mcp/cisco-open-network-sketcher"> <img src="https://lobehub.com/badge/mcp/cisco-open-network-sketcher" alt="LobeHub MCP" /> </a> </p>
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:
<img alt="ns_demo_mcp" src="https://github.com/user-attachments/assets/1b9a85f9-0785-4dbb-b980-68ec0c1f31c9" />
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.txtFor 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.
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.
<img alt="image" src="https://github.com/user-attachments/assets/26068524-6293-4f7f-ab0c-f6b7e2c8b842" />
<img alt="image" src="https://github.com/user-attachments/assets/b3501923-195e-45bc-9120-f6b78396e300" />
Network Sketcher Local MCP is listed on the official MCP Registry and major MCP platforms:
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%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
└── ...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 · Catalyst SD-WAN · CML · Cyber Vision · Meraki · Nexus Dashboard (NDFC) · Secure Network Analytics · NetBox · template_converter
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>
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.
<img alt="image" src="https://github.com/user-attachments/assets/6f3db3ba-4f92-401d-8f75-4c09cc0f185d" />
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 foldersrun_commands + build_default_outputs)network-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.txtCursor 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.
<br> <br>
<p align="center">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<br>
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.
<img alt="image" src="https://github.com/user-attachments/assets/cd645a8b-9661-4f74-8bf3-cd12b3395c82" />
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:
.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.mxgraph.cisco.* stencilsns_web_config.jsongit 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.pyOpen 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.| Ver: 3.0.1 (SVG Mode) | 64 NW devices<br>112 Connections | 256 NW devices<br>480 Connections | 1024 NW devices<br>1984 Connections | 4096 NW devices<br>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.<br> Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise <br>
<br> <br>
<p align="center">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<br>
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.
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)
<img alt="image" src="https://github.com/user-attachments/assets/761072de-d64b-4772-bdc7-6224f53fddd8" />
<img alt="image" src="https://github.com/user-attachments/assets/436a1462-bdf7-49cf-bc4f-235be6cb7d42" /> 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 files).
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.pyor
#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.pypython3 -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 networkx
python3 -m pip install svg.pathbrew install tcl-tk
brew install tkdndGUI drag and drop doesn't work on Ubuntu, you need to compile tkdnd from source or use "Browse" and "Submit".
sudo apt-get install python3-tk<br>
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>
| Ver: 2.6.1b | 64 NW devices<br>112 Connections | 256 NW devices<br>480 Connections | 1024 NW devices<br>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.<br> Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise <br>
<br>
<p align="center">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<br>
| 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 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.
<img alt="image" src="https://github.com/user-attachments/assets/752a5a6d-fcb8-4bf2-a709-91c4c8f862c5" />
Download : Sample.figure5.zip
Created by using AI context and giving AI (LLM) multiple command generation instructions. <img alt="image" src="https://github.com/user-attachments/assets/36ca6a28-e0a6-4e3a-94e1-241bd74a86f0" />
Download : Sample Office.zip
<sub>Otologic (https://otologic.jp) CC BY 4.0</sub>
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.