プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Network Diagram MCP

作者:den-indanceバージョン 1.0.7i★ –iパソコンで動く
レジストリ名io.github.den-indance/network-diagram-mcp

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: デザイン・画像・音声

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: NETMAP_MCP_PORT

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "network-diagram": {
      "command": "npx",
      "args": [
        "-y",
        "@den.dance/network-diagram-mcp"
      ],
      "env": {
        "NETMAP_MCP_PORT": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add network-diagram --env NETMAP_MCP_PORT=your-value -- npx -y @den.dance/network-diagram-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "network-diagram": {
      "command": "npx",
      "args": [
        "-y",
        "@den.dance/network-diagram-mcp"
      ],
      "env": {
        "NETMAP_MCP_PORT": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "network-diagram": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@den.dance/network-diagram-mcp"
      ],
      "env": {
        "NETMAP_MCP_PORT": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • NETMAP_MCP_PORT env
    Local WebSocket port the bridge listens on. Defaults to 47821. Must match the URL configured in NetMap's Settings → MCP Agent Bridge.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント den-indance で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

デザイン・画像・音声のほかのサーバーとの比較i

  • このカテゴリのほかの2784件のうち0%よりスターが多い
  • このカテゴリのほかの2784件のうち9%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2784件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Network Diagram MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.0.7)がレジストリに届いたのは6 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

作者:GLips広く使われている↓ 16.1万/週★ 1.6万5 か月前更新

パソコンで動く

Claude Real Video

Let any LLM watch a video locally — and search everything it has ever watched.

作者:HUANGCHIHHUNGLeo広く使われている↓ 1106/週★ 22842 か月前更新

パソコンで動く

Figma MCP Server

The Figma MCP server brings Figma design context directly into your AI workflow.

作者:figma成長中★ 215213 か月前更新

クラウドで動く✓ mcp.figma.com

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@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 -oX` import. 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 / description accepted).
  • 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.

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 claude_desktop_config.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
VarDefaultDescription
NETMAP_MCP_PORT47821Local WebSocket port the bridge listens on. Must match the URL configured in NetMap's Settings → Integrations → AI Agent (MCP).

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:

# Linux:   ~/.local/share/applications/netmap-<scheme>-handler.desktop + xdg-mime

macOS: ~/Library/Application Support/NetMap/handlers/NetMap Handler.app + lsregister

Windows: HKCU\Software\Classes\ (per-user, no admin)

npx @den.dance/network-diagram-mcp install --all

Other CLI subcommands:

npx @den.dance/network-diagram-mcp install ssh        # single scheme

npx @den.dance/network-diagram-mcp uninstall postgres # remove registration npx @den.dance/network-diagram-mcp list # what's registered (JSON) npx @den.dance/network-diagram-mcp detect ssh # which clients are available npx @den.dance/network-diagram-mcp serve # daemon: WS + HTTP on :47821

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

SchemeClients
sshiTerm2 → Windows Terminal → GNOME Terminal → Terminal.app → kitty
postgrespsql → TablePlus → DBeaver → Beekeeper Studio → pgAdmin 4
redisredis-cli → RedisInsight → Another Redis DM → Medis → RDM (legacy)

postgresql:// aliases to postgres; rediss:// is preserved and triggers redis-cli --tls.

Available tools

State & layout
ToolDescription
map_get_stateReturn all nodes, connections, stickies, notes
map_clearClear the entire map (requires confirm: true)
map_arrangeNaive auto-arrange (grid or circle layout — ignores connections)
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)
Nodes
ToolDescription
map_add_nodeAdd a node (type, name, ip, x, y)
map_update_nodeUpdate node fields by id
map_delete_nodeDelete a node and its connections
map_move_nodeMove node to new coordinates
Connections
ToolDescription
map_add_connectionAdd connection (from_id, to_id, label?, color?)
map_update_connectionUpdate label or color of a connection
map_delete_connectionDelete a connection by id
Sticky notes
ToolDescription
map_add_stickyAdd a sticky note (text, x?, y?, color?)
map_update_stickyUpdate text, color, x, y, w, h
map_delete_stickyDelete a sticky note by id
map_move_stickyMove sticky to new coordinates
Sheets (multi-sheet)
ToolDescription
map_list_sheetsList all sheets with metadata and active sheet id
map_get_sheet_dataGet nodes / connections / stickies for a sheet (default: active)
map_create_sheetCreate a new empty sheet and switch to it
map_switch_sheetSwitch active sheet by id
map_rename_sheetRename a sheet
map_delete_sheetDelete a sheet (requires confirm: true, can't delete last)
View / canvas
ToolDescription
map_set_zoomSet zoom level (0.1–3.0)
map_set_canvas_offsetPan canvas to absolute pixel position
map_zoom_to_fitAuto-fit all nodes into viewport
Lock / protection
ToolDescription
map_lock_sheetLock (locked: true) or unlock (locked: false) a sheet. Locked sheets reject all MCP mutations and disable manual editing in the UI.
Notes & settings
ToolDescription
map_get_notesGet sheet-level notes text
map_set_notesSet sheet-level notes text
map_get_settingsGet app settings (sshMode, showGrid, etc.)
map_update_settingsUpdate app settings
Search
ToolDescription
map_find_nodeStructured node-only filter by name / ip / type / text. Returns stripped {id, name, type, ip, x, y}.
map_searchFull-text cross-entity search. Looks across nodes (name / ip / notes), stickies (text), connection labels, and ports (port number + service name). Optional types: ["nodes","stickies","connections","ports"] narrows the scope.
map_get_nodes_by_typeReturn every node of a single type with FULL field data (ports, dockerServices, domains, ips, notes, parentServer, …). Use this when you need the complete objects, not the stripped projection from map_find_node.

Example — find everything matching postgres anywhere in the map:

// → call

{ "q": "postgres" }

// → result { "nodes": [{ "id": "n1", "name": "db-primary", "type": "server", "ip": "10.0.0.5" }], "stickies": [{ "id": "s2", "text": "TODO: upgrade postgres 15 → 16" }], "connections": [{ "id": "c4", "label": "postgres replication", "from": "n1", "to": "n2" }], "ports": [{ "nodeId": "n1", "nodeName": "db-primary", "port": 5432, "protocol": "tcp", "service": "postgresql" }], "total": 4 }

map_search and map_get_nodes_by_type are read-only — they work on locked sheets.

Import
ToolDescription
map_import_sheetReplace active-sheet content with a provided {nodes, connections, stickies?, notes?} JSON.
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 (router / switch / firewall / server / printer / …). Nodes auto-arranged in a square-root grid.
map_import_csvImport nodes from CSV. Auto-detects columns from the header row (name / ip / type / ports / notes — aliases like hostname / description accepted). Ports field accepts 22/tcp,80/tcp or bare numbers. Nodes laid out in a 6-column grid.

Example — turn a 2-host nmap scan into a map in one call:

// → call

{ "xml": "<?xml version=\"1.0\"?>\n \n \n \n \n \n \n \n \n \n \n \n \n \n " }

// → result { "count": 2, "ids": ["…", "…"] }

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:

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く