
Network Diagram Mcp
Bridges Claude to a live browser tab running NetMap at map.den.dance. The 44 MCP tools let your agent build network diagrams by adding nodes and connections, import nmap XML or CSV inventories with auto-detected column mapping, run smart layouts (force-directed, cluster by type or connection), and export to PNG or PDF. Clicking ports on node cards launches your local SSH client, psql, or redis-cli directly. The package also registers OS-level URL handlers so ssh://, postgres://, and redis:// links anywhere on your system spawn an in-app picker of installed clients. Everything runs local-first in localStorage with no login. Useful when you're documenting infrastructure, onboarding on a new network, or turning scan output into a visual map you can hand off.
- tools
- 37
- transport
- STDIO
- env var
- 1
- last updated
- May 22, 2026
Tools
37 toolsPublic tool metadata for what this MCP can expose to an agent.
map_get_stateReturn all nodes, connections, stickies, notes
Return all nodes, connections, stickies, notes
No parameter schema in public metadata yet.
map_clearClear the entire map (requires `confirm: true`)
Clear the entire map (requires `confirm: true`)
No parameter schema in public metadata yet.
map_arrangeNaive auto-arrange (`grid` or `circle` layout — ignores connections)
Naive auto-arrange (`grid` or `circle` layout — ignores connections)
No parameter schema in public metadata yet.
map_suggest_layoutSmart auto-layout: `force` (force-directed, deterministic via `seed`), `cluster-by-type` (lanes per type), or `cluster-by-connection` (BFS components into zones)
Smart auto-layout: `force` (force-directed, deterministic via `seed`), `cluster-by-type` (lanes per type), or `cluster-by-connection` (BFS components into zones)
No parameter schema in public metadata yet.
map_add_nodeAdd a node (`type`, `name`, `ip`, `x`, `y`)
Add a node (`type`, `name`, `ip`, `x`, `y`)
No parameter schema in public metadata yet.
map_update_nodeUpdate node fields by id
Update node fields by id
No parameter schema in public metadata yet.
map_delete_nodeDelete a node and its connections
Delete a node and its connections
No parameter schema in public metadata yet.
map_move_nodeMove node to new coordinates
Move node to new coordinates
No parameter schema in public metadata yet.
map_add_connectionAdd connection (`from_id`, `to_id`, `label?`, `color?`)
Add connection (`from_id`, `to_id`, `label?`, `color?`)
No parameter schema in public metadata yet.
map_update_connectionUpdate `label` or `color` of a connection
Update `label` or `color` of a connection
No parameter schema in public metadata yet.
map_delete_connectionDelete a connection by id
Delete a connection by id
No parameter schema in public metadata yet.
map_add_stickyAdd a sticky note (`text`, `x?`, `y?`, `color?`)
Add a sticky note (`text`, `x?`, `y?`, `color?`)
No parameter schema in public metadata yet.
map_update_stickyUpdate `text`, `color`, `x`, `y`, `w`, `h`
Update `text`, `color`, `x`, `y`, `w`, `h`
No parameter schema in public metadata yet.
map_delete_stickyDelete a sticky note by id
Delete a sticky note by id
No parameter schema in public metadata yet.
map_move_stickyMove sticky to new coordinates
Move sticky to new coordinates
No parameter schema in public metadata yet.
map_list_sheetsList all sheets with metadata and active sheet id
List all sheets with metadata and active sheet id
No parameter schema in public metadata yet.
map_get_sheet_dataGet nodes / connections / stickies for a sheet (default: active)
Get nodes / connections / stickies for a sheet (default: active)
No parameter schema in public metadata yet.
map_create_sheetCreate a new empty sheet and switch to it
Create a new empty sheet and switch to it
No parameter schema in public metadata yet.
map_switch_sheetSwitch active sheet by id
Switch active sheet by id
No parameter schema in public metadata yet.
map_rename_sheetRename a sheet
Rename a sheet
No parameter schema in public metadata yet.
map_delete_sheetDelete a sheet (requires `confirm: true`, can't delete last)
Delete a sheet (requires `confirm: true`, can't delete last)
No parameter schema in public metadata yet.
map_set_zoomSet zoom level (0.1–3.0)
Set zoom level (0.1–3.0)
No parameter schema in public metadata yet.
map_set_canvas_offsetPan canvas to absolute pixel position
Pan canvas to absolute pixel position
No parameter schema in public metadata yet.
map_zoom_to_fitAuto-fit all nodes into viewport
Auto-fit all nodes into viewport
No parameter schema in public metadata yet.
map_lock_sheetLock (`locked: true`) or unlock (`locked: false`) a sheet. Locked sheets reject all MCP mutations and disable manual editing in the UI.
Lock (`locked: true`) or unlock (`locked: false`) a sheet. Locked sheets reject all MCP mutations and disable manual editing in the UI.
No parameter schema in public metadata yet.
map_get_notesGet sheet-level notes text
Get sheet-level notes text
No parameter schema in public metadata yet.
map_set_notesSet sheet-level notes text
Set sheet-level notes text
No parameter schema in public metadata yet.
map_get_settingsGet app settings (sshMode, showGrid, etc.)
Get app settings (sshMode, showGrid, etc.)
No parameter schema in public metadata yet.
map_update_settingsUpdate app settings
Update app settings
No parameter schema in public metadata yet.
map_find_nodeStructured node-only filter by `name` / `ip` / `type` / `text`. Returns stripped `{id, name, type, ip, x, y}`.
Structured node-only filter by `name` / `ip` / `type` / `text`. Returns stripped `{id, name, type, ip, x, y}`.
No parameter schema in public metadata yet.
map_searchFull-text cross-entity search. Looks across nodes (name / ip / notes), stickies (text), connection labels, and ports (port number + service name). Optional `types` narrows the scope.
Full-text cross-entity search. Looks across nodes (name / ip / notes), stickies (text), connection labels, and ports (port number + service name). Optional `types` narrows the scope.
No parameter schema in public metadata yet.
map_get_nodes_by_typeReturn every node of a single type with FULL field data (ports, dockerServices, domains, ips, notes, parentServer, …).
Return every node of a single type with FULL field data (ports, dockerServices, domains, ips, notes, parentServer, …).
No parameter schema in public metadata yet.
map_import_sheetReplace active-sheet content with a provided `{nodes, connections, stickies?, notes?}` JSON.
Replace active-sheet content with a provided `{nodes, connections, stickies?, notes?}` JSON.
No parameter schema in public metadata yet.
map_import_nmapParse `nmap -oX` output (or a pre-parsed `hosts[]` array) and create nodes with their open ports. Auto-infers node type from OS fingerprint + port profile.
Parse `nmap -oX` output (or a pre-parsed `hosts[]` array) and create nodes with their open ports. Auto-infers node type from OS fingerprint + port profile.
No parameter schema in public metadata yet.
map_import_csvImport nodes from CSV. Auto-detects columns from the header row. Ports field accepts `22/tcp,80/tcp` or bare numbers. Nodes laid out in a 6-column grid.
Import nodes from CSV. Auto-detects columns from the header row. Ports field accepts `22/tcp,80/tcp` or bare numbers. Nodes laid out in a 6-column grid.
No parameter schema in public metadata yet.
map_export_sheetExport a single sheet as a JSON object (auto-connections included). Legacy entry — still works.
Export a single sheet as a JSON object (auto-connections included). Legacy entry — still works.
No parameter schema in public metadata yet.
map_exportMulti-format export: `json` (object), `png` and `pdf` (base64-encoded blob + `mimeType`).
Multi-format export: `json` (object), `png` and `pdf` (base64-encoded blob + `mimeType`).
No parameter schema in public metadata yet.
Sponsors
Configuration
NETMAP_MCP_PORTLocal WebSocket port the bridge listens on. Defaults to 47821. Must match the URL configured in NetMap's Settings → MCP Agent Bridge.
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
Details
- Repository
- github.com/den-indance/network-diagram-mcp
- Categories
- Design & Creative, Security & Pentesting, Data & Analytics
- Package
@den.dance/network-diagram-mcp- Transport
- STDIO
- Registry
- MCP registry, active