
Network Diagram Mcp
io.github.den-indancePublished by GitHub account den-indancev1.0.7Updated Oct 27, 2026
Network topology editor — Claude builds diagrams via MCP. nmap/CSV import, one-click SSH.
The publisher's own server: Diagram
Overview
Local bridge that lets an AI assistant build and edit network topology diagrams in the NetMap browser app, including nmap and CSV imports.
- What you can do
- Read and modify map state: nodes, connections, sticky notes, sheet notes and app settings
- Search across nodes, ports, sticky notes and connection labels, or list nodes by type
- Create, rename, switch and delete sheets, and lock a sheet against edits
- Arrange nodes with grid, circle, force-directed or cluster layouts, and control zoom and pan
- Import nmap XML or CSV inventories, or replace a sheet from JSON
- Export a sheet as JSON, PNG or PDF
- When to use it
- Useful when you keep network topology maps in NetMap and want an assistant to draft, restructure or document them from scan output or an asset spreadsheet, rather than dragging nodes by hand.
- Requirements
- Runs locally via npx (Node.js). Needs an open NetMap browser tab at map.den.dance with the WebSocket bridge enabled; without it, tool calls time out. The optional NETMAP_MCP_PORT variable (default 47821) must match the port configured in NetMap settings. No login or API key.
Installation
In SourceWeft
- Open Network Diagram Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@den.dance/network-diagram-mcp
Visual network topology editor with AI agent integration via the Model Context Protocol. Open-source successor to netViz (netViz Inc., 1990 → CA Technologies → discontinued 2012).
Try it live → https://map.den.dance/
What makes it different
- One-click ops dashboard. Click any web port (80 / 443 / 8080 / …) on a node card to open the service in a new tab. Click an SSH / Postgres / Redis port → in-app picker offers your installed clients (iTerm / Windows Terminal / psql / DBeaver / redis-cli / RDM / …) and launches the one you choose. The picker re-detects every click — newly installed clients show up immediately, never a silent locked-in default.
- AI agents edit the map. 44 MCP tools — your Claude / Cursor / Claude Desktop session can build a diagram for you, search across nodes / ports / notes, run smart auto-layouts, export PNG / PDF — all by talking to the open browser tab.
nmap -oXimport. Run a network scan, hand the XML to the agent, get a map with nodes auto-typed from OS fingerprint + port profile (router / switch / firewall / server / printer / …).- CSV inventory import. Drop in your asset spreadsheet — auto-detects columns
(name / ip / type / ports / notes; aliases like
hostname/descriptionaccepted). - Operator-grade node cards. Per-node: open ports with service names, Docker services, DNS domains, free-form notes. All searchable cross-entity via the agent.
- Smart auto-layout. Force-directed (deterministic via seed), cluster-by-type, cluster-by-connection.
- Multi-sheet, local-first. Multiple maps in one workspace, everything in
localStorage. No login, no cloud. Export JSON / PNG / PDF.
How it works
This package is a stdio → WebSocket bridge. It runs locally as an MCP server; the live NetMap browser tab connects to it over WebSocket. The agent talks to the bridge over MCP; the bridge forwards calls to the browser, which updates React state in real time.
⚠️ Requires an open NetMap browser tab. Open https://map.den.dance/ — the MCP bridge is enabled by default (v1.2+), so the connection comes up as soon as the tab is open. Without an open tab the bridge has no peer and every tool call will time out. (To opt out:
Settings → ⚙ → Integrations → AI Agent (MCP) → Enable WebSocket connection.)
Install
Claude Desktop
Add to claude_desktop_config.json:
Claude Code
With a custom port:
Then open https://map.den.dance/ — the bridge is enabled by default (v1.2+). Settings → Integrations → AI Agent (MCP) if you need to inspect or toggle the connection. The toolbar will show a 🟢 MCP online badge when the browser and server are connected.
Verify the agent side:
You should see netmap in the list.
Environment variables
URL Protocol Handlers + in-app client picker (v1.1+, picker since v1.2)
This package also ships an OS-level agent that registers handlers for ssh://,
postgres://, and redis:// URLs. Click any such link in a browser or terminal
and the agent spawns your installed client (psql / redis-cli / iTerm /
Windows Terminal / kitty / DBeaver / TablePlus / RedisInsight / …).
Inside NetMap (v1.2+): when the serve daemon is running, clicking an
SSH / Postgres / Redis port button on a node card opens an in-app picker of
installed clients on your machine and launches the one you pick — every click
re-detects, so newly installed clients show up immediately. Without the daemon,
port-clicks fall back to the OS default URL handler.
Install once per machine:
Other CLI subcommands:
Click handling is daemon-less — OS routes the link to a short-lived
bin/handler.js process which parses the URL, picks the first installed
client (priority order: CLI → popular GUI → cross-platform power), and spawns
it. The optional serve daemon adds HTTP endpoints (/status, /detect,
/exec) for browser-side integration with a Bearer-token-gated /exec.
npx @den.dance/network-diagram-mcp with no args still runs the original
stdio MCP server (back-compat — Smithery / Claude Desktop probes are
unaffected).
Top-5 clients per scheme (priority order, first-installed wins):
postgresql:// aliases to postgres; rediss:// is preserved and triggers
redis-cli --tls.
Available tools
State & layout
Nodes
Connections
Sticky notes
Sheets (multi-sheet)
View / canvas
Lock / protection
Notes & settings
Search
Example — find everything matching postgres anywhere in the map:
map_search and map_get_nodes_by_type are read-only — they work on locked sheets.
Import
Example — turn a 2-host nmap scan into a map in one call:
Provide {"hosts": [...]} instead of xml when you already have parsed host data — hosts takes priority when both are given.
Example — turn a CSV inventory snippet into a map:
For non-standard headers, pass an explicit columns mapping (-1 means "absent"):
map_import_nmap and map_import_csv are mutations — blocked on locked sheets.
Layout
map_suggest_layout repositions every node according to a chosen algorithm; result shape:
{ ok: true, algorithm, changed: <node count> }.
Force-directed is O(n²) per iteration — fine up to a few hundred nodes; bring iterations down
for larger scenes. map_suggest_layout is a mutation — blocked on locked sheets.
Export (JSON / PNG / PDF)
PNG / PDF capture renders the live workspace via html-to-image + jsPDF, so the MCP server raises
the per-command timeout to 30 s for this tool. map_export is read-only — works on locked sheets.
Connection status indicator
A badge appears next to the NetMap version in the toolbar (click it to open Settings):
Detailed status (with URL and hints) is shown inside Settings → Integrations → AI Agent (MCP).
Running from source (for contributors)
Override port: NETMAP_MCP_PORT=12345 node index.js.
Register the local build in Claude Code instead of npm:
License
MIT — see LICENSE.
Source: README.md at commit f9a3503
Tools
0Version history
1- v1.0.7LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Diagram integrations

Diagram
la.diagramOfficial publisher
Saves diagrams drawn by the assistant and returns a shareable link that stays current as the diagram is edited.
NativeDiagram
Published by GitHub account ChanMo
A remote MCP server that lets an assistant create native, editable SmartArt diagrams for Microsoft Word and PowerPoint.

AI Diagram Maker
Published by GitHub account erajasekar
Turns natural language, JSON, ASCII, images or Mermaid into software diagrams (flowchart, sequence, ERD, architecture, UML) via the AI Diagram Maker service.
VoltPlan Wiring Diagrams
Published by GitHub account YUZU-Hub
Sizes 12V/24V/48V electrical systems for boats, vans and off-grid builds and generates wiring diagrams an assistant can show and open in an editor.

Vaults Diagram Tools
Published by GitHub account Malnati
A local stdio MCP server that lets an assistant render Mermaid diagrams to SVG/JPEG assets and generate Mermaid diagrams from source code.