den-indance avatar

Network Diagram Mcp

den-indance/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 tools

Public 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_PORT

Local 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

npm smithery badge

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/

NetMap workspace

What makes it different


View the full README on GitHub

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

More from den-indance

Related Design & Creative MCP servers

View all
1levelsofself avatarSelf Awareness Gamelevelsofself/mcp-serverPlay self-awareness scenarios across 7 levels. 6,800+ coaching scenarios via MCP.0stars
2rbrtlol avatarCanvas LMS (read-only)rbrtlol/canvas-readonly-mcpRead-only Canvas LMS for students: what changed in your courses, search across slides and PDFs.0stars
3rocnubie avatarAI Room Design MCProcnubie/ai-room-design-mcpAI Room Design helps users redesign rooms and visualize new interior layouts with AI-generated0stars
4yalamber avatarpdfzenyalamber/pdfzenRender PDFs from 45 starter templates or raw HTML. Pay-per-render with USDC via x402.0stars
5skyblue3925-svg avatarGeo Figure (지리 시험 지도·그래프)skyblue3925-svg/geo-figure-mcp지리 시험용 지도·그래프를 실제 통계로, 도형 하나하나 고칠 수 있는 PPTX·HWPX로 만든다.0stars
6investigation-game avatarInvestigation Game Apptech.skybridge.investigation-game/investigation-gameFind out who killed Claude by interrogating the LLM driven suspects...0stars