Sandbox
@cisco-open/network-sketcher

MCP server for network diagrams and config tables

Network Sketcher exposes a network design engine through MCP so an agent can build topologies, tables, and AI context files without a browser or copy-paste. It also includes online and offline editions for SVG, PowerPoint, and Excel workflows when you want to work outside an MCP client.

388 stars23 forksPythonUpdated 14d ago
The pinnacle of AI-powered network construction. Network Sketcher Ver 2.6.2.
Network Sketcher@Unofficial155 views • 7 months ago
Who it's for

Builders who use Claude Code, Cursor, or another MCP client to design networks from prompts and structured data.

What it delivers

You can have an agent create and update network diagrams, device tables, and context files directly in your local workspace.

What it does

Local MCP control

Runs as a local stdio MCP server so Cursor, Claude Code, or another MCP client can call Network Sketcher tools directly.

Topology outputs

Generates L1, L2, and L3 diagrams, plus HTML device tables and AI context files.

Multiple editions

Includes Local MCP, Online, and Offline editions for agent, browser, or desktop workflows.

Diagram exports

Produces SVG and PowerPoint diagrams, with Excel-based configuration data in the non-MCP editions.

Import workflow support

Works with Cisco and third-party converters that turn platform exports or configs into Network Sketcher commands.

Local workspace files

Keeps master files on your machine in the Local MCP edition and stores no session data on the server in Online mode.

How to get it

  1. 1Run
    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. 2For Claude Code
    claude mcp add network-sketcher -- python "/path/to/network-sketcher/network-sketcher_local_mcp/ns_mcp_server.py"
  3. 3Example 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.
  4. 4Run
    git clone https://github.com/cisco-open/network-sketcher/
    cd network-sketcher/network-sketcher_local_mcp
    python -m pip install -r requirements_mcp.txt
  5. 5Run
    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
  6. 6Run
    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

README

image

Glama MCP score   LobeHub MCP

Network Sketcher

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.

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.

image image

Ecosystem & Integrations

Network Sketcher Local MCP is listed on the official MCP Registry and major MCP platforms:

Network Sketcher provides three editions:

  • Network Sketcher Local MCPAI-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)
InterfaceLLM client (Cursor, Claude Code, etc.)Web browserDesktop GUI / Command-line
Key dependenciesPython + MCP SDKPython + FlaskPython + tkinter
Multi-userSingle userMultiple users via browserSingle user
Client requiresPython + MCP clientWeb browser onlyPython runtime environment
AI-native designYes (most direct)YesNo
Master format.nsm only.xlsx / .nsm both.xlsx only
Internal data storageNoNoNo
External communicationstdio to LLM client (local)HTTPSNo
Tested platformsWindows (Mac OS, Linux compatible by design)Windows (Mac OS, Linux untested)Windows, Mac OS, Linux
Foldernetwork-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 · 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.



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Network Sketcher Local MCP

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.

https://github.com/user-attachments/assets/274d5b66-5f4a-407a-bfb5-f71026971fc4

Local MCP Features

  • 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)

Limitations (Local MCP)

  • Single-user edition designed to run on a local PC
  • 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.

Installation (Local MCP)

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt

Connection Examples

Cursor and Claude Code use different configuration mechanisms, so the setup steps are split below. Pick the one that matches your client.

For Cursor

Add the following to the Cursor MCP configuration file (File > Preferences > Cursor Settings > MCPmcp.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 (\\).

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:

# 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.

User Guide (Local MCP)

LanguageLink
EnglishLink
JapaneseLink


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Network Sketcher Online

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.

https://github.com/user-attachments/assets/2acaea3b-32f2-4ff0-90ad-a3dc810293d2

What is Network Sketcher Online?

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

  • 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

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.
  • Other requirements are the same as Network Sketcher Offline.

Installation (Online)

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.

User Guide (Online)

LanguageLink
EnglishLink
JapaneseLink

Performance Measurement Summary (Online)

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 *14s4s26s8m 12s
Creation of all configuration diagrams, device tables, and AI Context files3s7s58s15m 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



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Network Sketcher Offline

Overview

https://github.com/user-attachments/assets/9ff207f8-c6b3-4584-b166-98ae4e4c8297

NoLang (no-lang.com) Otologic (https://otologic.jp) CC BY 4.0

Demo video of basic usage

https://github.com/cisco-open/network-sketcher/assets/13013736/b76ec8fa-44ad-4d02-a7c2-579f67ad24a9

AI(LLM) utilization demo video

Full_Version_link(Youtube)

https://github.com/user-attachments/assets/5874411a-0e6d-485d-9f85-4cdc85f3ca07

Concept

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

New Features (Offline)

image
  • Ver 2.6.0

Network Sketcher Ver 2.6.0 now supports master file conversion from Visio, draw.io, NetBox, and CML data to Network Sketcher.

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.

For API-driven platform imports, see Extensions: Cisco & Third-Party Converters above (complements Offline GUI import for Visio / draw.io / NetBox files).

Limitations (Offline)

  • IPv4 only. IPv6 is not supported.
  • 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.
    • Libre Office and Softmaker office cannot be used.

Installation (Offline)

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

Installation Supplement (Offline)

  • 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 networkx
python3 -m pip install svg.path
  • Mac OS requires the following additional installation.
brew install tcl-tk
brew install tkdnd
  • Ubuntu requires the

Files in the repo

Repository payload14 top-level entries
  • .github
  • network-sketcher_local_mcp
  • network-sketcher_offline
  • network-sketcher_online
  • .gitignore
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • Dockerfile
  • glama.json
  • LICENSE
  • README.md
  • SECURITY.md
  • start_ns_online.py
  • stop_ns_online.py

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k