MCP.Market

Network Diagram MCP server

by den-indance·io.github.den-indance/network-diagram-mcp·v1.0.7·3 stars

Network topology editor — Claude builds diagrams via MCP. nmap/CSV import, one-click SSH.

B82/100grade B
What users say
No reviews yet
Be the first
Safety scan
B82/100

full report

Adoption
New

3 stars76 downloads/wk

Reviews

Write one

Nobody has reviewed Network Diagram yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Network Diagram tools (44, 10 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • map_add_connection

    Add a manual connection between two nodes. Returns the new connection id.

  • map_add_node

    Add a new node to the map. Returns the new node id.

  • map_add_sticky

    Add a sticky note to the map. Returns the new sticky id.

  • map_arrange

    Auto-arrange all nodes in a grid or circle layout.

  • map_bulk_add_connections

    Add multiple connections in a single call. Returns array of created ids.

  • map_bulk_add_nodes

    Add multiple nodes in a single call. Each node accepts the same fields as map_add_node plus all type-specific fields (ports, dockerServices, domains, parentServer, etc.). Returns array of created ids.

  • map_clearwrite action

    Remove all nodes, connections and stickies from the current sheet.

  • map_create_sheetwrite action

    Create a new empty sheet and switch to it. Returns new sheet id.

  • map_delete_connectionwrite action

    Delete a connection by id.

  • map_delete_nodewrite action

    Delete a node and all its connections.

  • map_delete_sheetwrite action

    Delete a sheet. Cannot delete the last remaining sheet.

  • map_delete_stickywrite action

    Delete a sticky note by id.

  • map_duplicate_node

    Clone a node with all its properties (ports, services, domains, etc.). Returns new node id.

  • map_export

    Export current or specified sheet as JSON / PNG / PDF. PNG and PDF return base64-encoded blobs with mimeType — the client decodes and saves to a file. Server raises the response timeout to 30s for PNG/PDF since large maps can take several seconds to render.

  • map_export_sheet

    Export sheet data as JSON including auto-connections. Defaults to active sheet.

  • map_find_node

    Search nodes by name, IP, type, or free-text query. Returns id, name, type, ip, x, y for each match. Use this to locate a node before updating it.

  • map_get_all_connections

    Return all connections including auto-generated ones (DNS→server, project→server, service→node). Auto connections have auto:true flag. Use this instead of map_get_state.connections when you need the full topology picture.

  • map_get_nodes_by_type

    Return all nodes of a given type with FULL field data (ports, dockerServices, domains, ips, notes, parentServer, etc.). For stripped projection or multi-criteria filtering use map_find_node instead.

  • map_get_notes

    Return the sheet-level notes text.

  • map_get_selection

    Return currently selected node/sticky ids and connection id. Result shape: { nodeIds: string[], nodeId: string|null (= nodeIds[0], legacy single-id), connId: string|null }.

  • map_get_settings

    Return current app settings (sshMode, dblClickAction, perfMode, showGrid, showZoomSlider).

  • map_get_sheet_data

    Return nodes/connections/stickies/notes for a specific sheet (defaults to active sheet).

  • map_get_state

    Return the current map state: all nodes, manual connections, stickies and notes. NOTE: only manual connections are included — use map_get_all_connections to also get auto-generated connections (DNS→server, project→server, service→node).

  • map_get_view

    Return current canvas zoom level and pan offset.

  • map_import_csv

    Import nodes from CSV. Auto-detects columns from the header row (name/ip/type/ports/notes — case-insensitive, aliases like hostname/description/host_ip accepted). Ports field accepts 'port/protocol,port/protocol' (e.g. '22/tcp,80/tcp') or bare port numbers (default tcp). Nodes laid out in a 6-column grid. Returns {count, ids}.

  • map_import_nmap

    Parse nmap scan output (XML from `nmap -oX`) and create nodes with their open ports. Auto-infers node type from OS fingerprint + port profile (router/switch/firewall/server/printer/etc.). Provide either raw `xml` OR pre-parsed `hosts[]` — `hosts` takes priority when both are given. Nodes are auto-arranged in a grid. Returns {count, ids}.

  • map_import_sheet

    Replace active sheet content with provided JSON data. Useful for loading a prepared topology in one call.

  • map_list_sheets

    List all sheets with their id, name, createdAt, updatedAt and which is active.

  • map_lock_sheet

    Lock or unlock a sheet. A locked sheet rejects all MCP mutations and disables manual editing in the UI. Pass locked: false to unlock.

  • map_move_node

    Move a node to new canvas coordinates without changing any other fields.

  • map_move_sticky

    Move a sticky note to new canvas coordinates without changing its text or color.

  • map_rename_sheet

    Rename a sheet.

  • map_search

    Full-text search across nodes (name/ip/notes), stickies, connection labels, and ports (port-number/service). Returns categorized hits with a total count. Use map_find_node for structured node-only filtering.

  • map_select

    Programmatically select node(s)/sticky(s) and/or a connection. Pass node_ids (array) for multi-select; node_id (string) is legacy single-select. Empty array or null deselects. Connection selection remains single (multi-select connections out of scope v1).

  • map_set_canvas_offset

    Pan canvas to an absolute pixel offset.

  • map_set_notes

    Set the sheet-level notes text.

  • map_set_zoom

    Set canvas zoom level (0.1–3.0).

  • map_suggest_layout

    Smart auto-layout: force-directed (organic, deterministic with seed), cluster-by-type (horizontal lanes per node type), or cluster-by-connection (BFS components → separate zones). Different from map_arrange (naive grid/circle). Mutates node positions in-place.

  • map_switch_sheet

    Switch the active sheet. Saves current sheet state first.

  • map_update_connectionwrite action

    Update label or color of an existing connection.

  • map_update_nodewrite action

    Update fields of an existing node by id. FIELD SCHEMA BY NODE TYPE All types: name, ip, x, y, w, h, notes ips: [{address, label}] — extra IP addresses server / pc / nas / ap / camera / printer / router / switch / firewall / other: ports: [{port, protocol("tcp"|"udp"|"icmp"), service, url, bindIp}] dockerServices: [{name, image, hostPort, containerPort, protocol("tcp"|"udp"), url}] project: parentS

  • map_update_settingswrite action

    Update one or more app settings.

  • map_update_stickywrite action

    Update text, color or size of a sticky note.

  • map_zoom_to_fit

    Auto-fit all nodes into the viewport by adjusting zoom and pan.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 125 days ago8/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 82/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Network Diagram compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
82/100
higher than 63% of 48,273 servers
Tools
44
the typical server has 7
Tools that change things
23%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
3
more than 80% of 28,534 servers
Downloads a week
76
more than 58% of 11,915 servers with a package

What its tools let an agent do: 34 read · 10 change

Install Network Diagram in Claude Code, Cursor or VS Code

Runs npx -y @den.dance/network-diagram-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add network-diagram-mcp -- npx -y @den.dance/network-diagram-mcp
Add to Cursor

What the publisher says

From the Network Diagram repository's README, as published. We do not edit it. Read it on GitHub

@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

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.

  • One-click ops dashboard. Click any web port (80 / 443 / 8080 / …) on a node card to open the

a diagram for you, search across nodes / ports / notes, run smart auto-layouts, export PNG / PDF — all by talking to the open browser tab.

  • AI agents edit the map. 44 MCP tools — your Claude / Cursor / Claude Desktop session can build

auto-typed from OS fingerprint + port profile (router / switch / firewall / server / printer / …).

  • nmap -oX import. Run a network scan, hand the XML to the agent, get a map with nodes

(name / ip / type / ports / notes; aliases like hostname / description accepted).

  • CSV inventory import. Drop in your asset spreadsheet — auto-detects columns

free-form notes. All searchable cross-entity via the agent.

  • Operator-grade node cards. Per-node: open ports with service names, Docker services, DNS domains,

no cloud. Export JSON / PNG / PDF.

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

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.

LLM agent (Claude Code / Claude Desktop / Cursor)
   │  MCP protocol (stdio)
   ▼
@den.dance/network-diagram-mcp  ←  this package, runs locally
   │  WebSocket ws://localhost:47821
   ▼
NetMap in browser (https://map.den.dance/)  ←  React state updates live

⚠️ 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 claudedesktopconfig.json:

{
  "mcpServers": {
    "netmap": {
      "command": "npx",
      "args": ["@den.dance/network-diagram-mcp"]
    }
  }
}

Claude Code

claude mcp add netmap -- npx @den.dance/network-diagram-mcp

With a custom port:

claude mcp add netmap -e NETMAP_MCP_PORT=12345 -- npx @den.dance/network-diagram-mcp

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:

claude mcp list

You should see netmap in the list.

Environment variables

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Network Diagram: common questions

Is Network Diagram MCP server safe?
Mostly: it is graded B (82/100). Read the Network Diagram safety report
How do I install Network Diagram?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Network Diagram need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is Network Diagram maintained?
The last commit was 161 days ago (2026-05-25). The latest release is v1.0.7.
How does Network Diagram compare with other MCP servers?
safety score 82/100 (higher than 63% of 48,273 servers); tools 44 (the typical server has 7); tools that change things 23% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

More from den-indance →