From bf0dfd66d86ad65f76b735a368a306432c2993f3 Mon Sep 17 00:00:00 2001 From: oliver Date: Tue, 4 Aug 2026 00:16:02 +0800 Subject: [PATCH] Add standalone topology MCP with skill, scopes UI, and opt-in live sync. Splits canvas/Fabric tools into netx-topology-mcp, documents install and a companion Cursor skill, lets API keys grant ne:write explicitly, and adds optional topology live sync so operators can watch agent drawing without constant polling. Co-authored-by: Cursor --- .cursor/skills/netx-topology/SKILL.md | 62 ++ README.md | 12 +- docs/MCP.md | 7 +- docs/MCP_TOPOLOGY.md | 118 +++ mcp.json | 10 + mcp_topology_install_payload.json | 28 + packages/netx-mcp/README.md | 4 +- packages/netx-mcp/src/netx_mcp/http_tools.py | 87 +-- packages/netx-mcp/tests/test_mcp_http.py | 11 +- packages/netx-topology-mcp/README.md | 39 + packages/netx-topology-mcp/mcp.json | 14 + packages/netx-topology-mcp/pyproject.toml | 20 + .../src/netx_topology_mcp/__init__.py | 3 + .../src/netx_topology_mcp/__main__.py | 4 + .../src/netx_topology_mcp/http_client.py | 94 +++ .../src/netx_topology_mcp/http_tools.py | 467 ++++++++++++ .../src/netx_topology_mcp/server.py | 122 +++ .../tests/test_mcp_topology.py | 146 ++++ pyproject.toml | 2 + tests/test_auth.py | 23 + web/public/login-earth-night.webp | Bin 0 -> 609818 bytes web/public/login-space.webp | Bin 0 -> 93844 bytes web/src/i18n/en.ts | 23 +- web/src/i18n/zh.ts | 22 +- web/src/index.css | 709 ++++++++++++------ web/src/pages/ApiTokensPage.tsx | 201 ++++- web/src/pages/ForceChangePasswordPage.tsx | 36 +- web/src/pages/LoginPage.tsx | 70 +- web/src/pages/LoginShell.tsx | 18 + web/src/pages/TopologyPage.tsx | 115 ++- 30 files changed, 2057 insertions(+), 410 deletions(-) create mode 100644 .cursor/skills/netx-topology/SKILL.md create mode 100644 docs/MCP_TOPOLOGY.md create mode 100644 mcp_topology_install_payload.json create mode 100644 packages/netx-topology-mcp/README.md create mode 100644 packages/netx-topology-mcp/mcp.json create mode 100644 packages/netx-topology-mcp/pyproject.toml create mode 100644 packages/netx-topology-mcp/src/netx_topology_mcp/__init__.py create mode 100644 packages/netx-topology-mcp/src/netx_topology_mcp/__main__.py create mode 100644 packages/netx-topology-mcp/src/netx_topology_mcp/http_client.py create mode 100644 packages/netx-topology-mcp/src/netx_topology_mcp/http_tools.py create mode 100644 packages/netx-topology-mcp/src/netx_topology_mcp/server.py create mode 100644 packages/netx-topology-mcp/tests/test_mcp_topology.py create mode 100644 web/public/login-earth-night.webp create mode 100644 web/public/login-space.webp create mode 100644 web/src/pages/LoginShell.tsx diff --git a/.cursor/skills/netx-topology/SKILL.md b/.cursor/skills/netx-topology/SKILL.md new file mode 100644 index 0000000..7f01755 --- /dev/null +++ b/.cursor/skills/netx-topology/SKILL.md @@ -0,0 +1,62 @@ +--- +name: netx-topology +description: >- + 用 netx-topology MCP 查询 Fabric 链路、建拓扑画布并安全摆点(不污染 Fabric)。 + 触发:画拓扑/拓扑图/拓扑画布、LLDP 邻居/链路、Fabric 网元搜索、createTopologyView / + addTopologyViewNodes、netx-topology、看着 MCP 画图。须先读本 skill 再调 MCP。 +user-invocable: true +disable-model-invocation: false +--- + +# netx 拓扑 MCP + +通过 **`netx-topology`** MCP(包 `netx-topology-mcp`)操作 netx 拓扑。与告警/CLI 的 **`netx`** MCP **分开**;画图只用本包工具。 + +安装与 scopes 真源:仓库 [`docs/MCP_TOPOLOGY.md`](../../../docs/MCP_TOPOLOGY.md)。 + +## 硬规则 + +1. **先读后写**:任何建图/摆点前先 `getTopologyTree`;改已有图前先 `getTopologyView`。 +2. **只放已有 Fabric 节点**:`addTopologyViewNodes` **仅** `fabric_node_ids`。禁止臆造 id;禁止试图传 `managed_ne_ids` / `ume_ne_ids`(会被拒)。 +3. **不污染 Fabric**:本 MCP **不能**手工建链、不能 `populate`、不能删 Fabric / 整图。链路来自已有 LLDP/手工边;邻居用 `projectTopologyNeighbors`。 +4. **写权限**:画图工具要 token 含 `ne:write`。若 `tools/list` 没有写工具 → 停下来告诉用户去 **系统 → API Key** 用「MCP + 拓扑写」签发,并配置 `NETX_API_TOKEN` 后 Sync Tools。勿假装已画成功。 +5. **无文件夹则停**:`createTopologyView` 需要已有 `folder_id`(region)。树里没有可用 folder 时,请用户先在网页建区域,或改挂到已有 region;**MCP 不能新建 region/folder**。 +6. **批量克制**:单次 `addTopologyViewNodes` 控制在合理数量(优先先搜再加);大图用多次调用 + `projectTopologyNeighbors` 扩展。 + +## 推荐流水线(从零画一张图) + +``` +1 getTopologyTree → 选 folder_id(region) +2 searchTopologyFabricNodes / listTopologyFabricNodes → 拿到 fabric_node_ids +3 createTopologyView → name + folder_id → 得到 view_id +4 addTopologyViewNodes → view_id + fabric_node_ids(layout=grid) +5 projectTopologyNeighbors → 把已有 LLDP 邻居投影上画布(可重复) +6 (可选)updateTopologyViewPositions → 微调坐标 +7 getTopologyView → 向用户确认节点/边数量 +``` + +查链路不画图时:`queryTopologyEdges`(带 `node_id` 看 `peer_count`)或 `queryTopologyNeighborhood`。 + +## 工具速查 + +| 目的 | 工具 | +|------|------| +| 树 / region / 已有画布 | `getTopologyTree`, `listTopologyViews` | +| 读一图画布 | `getTopologyView` | +| 新建画布 | `createTopologyView` | +| 摆点 / 移除(仅画布) | `addTopologyViewNodes`, `removeTopologyViewNodes` | +| 摆坐标 | `updateTopologyViewPositions` | +| 投影 LLDP 邻居 | `projectTopologyNeighbors` | +| 搜 Fabric | `searchTopologyFabricNodes`, `listTopologyFabricNodes` | +| 汇总 / 邻接 / 边 | `getTopologyFabricSummary`, `queryTopologyNeighborhood`, `queryTopologyEdges` | + +## 对人说清楚 + +- 网页观看:拓扑页左侧或浏览区开 **「实时同步」**(默认关);**不必先打开某张图**也能看到新建画布。 +- 回报时给出:`view_id`、画布名、folder、节点数;写失败则原样报 scope/API 错误。 + +## 不要做 + +- 不要用 `netx`(告警 MCP)冒充拓扑写接口。 +- 不要为「画上设备」去改 managed-NE / 造假 Fabric。 +- 不要在未确认 folder/view 时连环盲写。 diff --git a/README.md b/README.md index 36963c7..2e27e94 100644 --- a/README.md +++ b/README.md @@ -160,19 +160,23 @@ API base: `http://127.0.0.1:8890/` 先启动 netx API(§5),再在 **MCP 宿主同机** 安装轻量客户端并配置。 -**完整说明(安装、配置、更新、排错)见:[docs/MCP.md](docs/MCP.md)** +**完整说明(安装、配置、更新、排错)见:[docs/MCP.md](docs/MCP.md)** +**拓扑画布独立 MCP** 见:[docs/MCP_TOPOLOGY.md](docs/MCP_TOPOLOGY.md) 速查: ```powershell pip install -e ./packages/netx-mcp +# 拓扑(可选,单独安装) +pip install -e ./packages/netx-topology-mcp # 配置见 mcp.json,运行: python -m netx_mcp +python -m netx_topology_mcp ``` -- 客户端配置:[`mcp.json`](mcp.json)(Cursor / oclaw Admin 粘贴同一份) -- oclaw 可选 payload:[`mcp_install_payload.json`](mcp_install_payload.json) -- 子包说明:[`packages/netx-mcp/README.md`](packages/netx-mcp/README.md) +- 客户端配置:[`mcp.json`](mcp.json)(含 `netx` + 可选 `netx-topology`) +- oclaw payload:[`mcp_install_payload.json`](mcp_install_payload.json) / [`mcp_topology_install_payload.json`](mcp_topology_install_payload.json) +- 子包:[`packages/netx-mcp`](packages/netx-mcp/README.md)、[`packages/netx-topology-mcp`](packages/netx-topology-mcp/README.md) ## Useful API endpoints diff --git a/docs/MCP.md b/docs/MCP.md index 583967a..1f68fae 100644 --- a/docs/MCP.md +++ b/docs/MCP.md @@ -113,7 +113,7 @@ pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx 1. 完成上文 **§1**(用 **oclaw 同机同一个 `python`** 安装 `netx-mcp`)。 2. Admin → MCP → 粘贴 `mcp.json` 全文 → 点击 **Install from JSON**(安装状态在下方一行小字)。 -3. **Health** → **Sync Tools**(应看到 **14** 个工具)。 +3. **Health** → **Sync Tools**(应看到 **13** 个工具)。 4. 在 **MCP 专家绑定** 中为 ops 专家勾选 `server_id=netx`。 更细的 oclaw 说明(双轨内置工具、锚点注入等)见 oclaw 仓库: @@ -121,6 +121,8 @@ pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx 可选:oclaw 专用字段展开版 [`mcp_install_payload.json`](../mcp_install_payload.json)(与 `mcp.json` 等价)。 +**拓扑画布 MCP**(独立安装/绑定)见 [`MCP_TOPOLOGY.md`](./MCP_TOPOLOGY.md)(`server_id=netx-topology`,13 个工具)。 + --- ## 5. 暴露的工具 @@ -131,9 +133,8 @@ pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx | UME 网元 | `queryUmeNeInventory`, `getUmeNe` | | UME 原始/SQL | `queryUmeAlarmsRaw`, `aggregateUmeAlarmsRaw`, `listUmeAlarmFields`, `sqlQueryUme` | | 托管网元 CLI | `listManagedNe`, `getManagedNe`, `execManagedNe`, `listCliTargets` | -| 拓扑 Fabric | `queryTopologyEdges`(`node_id` → A 的链路与 `peer_count` 互联网元数) | -物理拓扑仅 LLDP;分页查询,勿默认拉全图。oclaw 中名称带前缀:`mcp__netx__`。 +拓扑 Fabric / 画布工具已拆到 **[`netx-topology-mcp`](./MCP_TOPOLOGY.md)**(含原 `queryTopologyEdges`)。oclaw 中名称带前缀:`mcp__netx__`。 --- diff --git a/docs/MCP_TOPOLOGY.md b/docs/MCP_TOPOLOGY.md new file mode 100644 index 0000000..9b0f8fb --- /dev/null +++ b/docs/MCP_TOPOLOGY.md @@ -0,0 +1,118 @@ +# netx Topology MCP — 安装与更新 + +与告警/CLI 的 [`netx-mcp`](./MCP.md) **分开**的 stdio MCP,只提供 **拓扑树、画布(views)、Fabric 边/邻接**。Agent 可只装本包,或与 `netx` 并存。 + +``` +MCP 宿主 → stdio netx_topology_mcp → HTTP NETX_API_URL → /v1/topology/* +``` + +| 组件 | 说明 | +|------|------| +| **netx API** | 需已启动,拓扑数据在服务端 | +| **netx-topology-mcp** | 轻量 HTTP 客户端,与宿主同机 | + +--- + +## 1. 安装 + +```powershell +cd D:\project\chatgpt\netx +pip install -e ./packages/netx-topology-mcp +python -c "import netx_topology_mcp; print('ok')" +python -m netx_topology_mcp +``` + +从 GitHub: + +```powershell +pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx-topology-mcp" +``` + +环境变量与 [`MCP.md`](./MCP.md) 相同:`NETX_API_URL`、`NETX_API_TOKEN` / `data/auth/mcp_token`、`NETX_LANG`。 + +--- + +## 2. Cursor / oclaw 配置 + +独立服务器 id:`netx-topology`(不要与 `netx` 混在同一个 command 里)。 + +```json +{ + "mcpServers": { + "netx-topology": { + "command": "python", + "args": ["-m", "netx_topology_mcp"], + "env": { + "NETX_API_URL": "http://127.0.0.1:8890", + "NETX_LANG": "zh", + "PYTHONIOENCODING": "utf-8", + "PYTHONUTF8": "1" + } + } + } +} +``` + +样本:[`packages/netx-topology-mcp/mcp.json`](../packages/netx-topology-mcp/mcp.json)。 + +与告警 MCP 并存时,把两个 server 都放进 `mcpServers` 即可;未勾选/未安装的不会加载工具。 + +oclaw:Install from JSON → Health → Sync Tools(应看到 **13** 个工具)→ 专家绑定勾选 `server_id=netx-topology`。 + +配套 Agent Skill(画图流水线 / 安全约束):[`.cursor/skills/netx-topology/SKILL.md`](../.cursor/skills/netx-topology/SKILL.md)。Cursor / oclaw 读 skill 后再调 MCP。 + +--- + +## 3. 工具一览 + +### 读 + +| 工具 | 作用 | +|------|------| +| `getTopologyTree` | 站点/区域文件夹树 + 下属画布 | +| `listTopologyViews` / `getTopologyView` | 画布列表 / 单图(节点+边+坐标) | +| `getTopologyFabricSummary` | Fabric 汇总 | +| `listTopologyFabricNodes` / `searchTopologyFabricNodes` | 网元搜索 | +| `queryTopologyNeighborhood` | 指定节点邻接 | +| `queryTopologyEdges` | LLDP/手工链路(含 `peer_count`) | + +### 写(只动画布,不污染 Fabric) + +| 工具 | 作用 | +|------|------| +| `createTopologyView` | 在 folder 下新建画布 | +| `addTopologyViewNodes` | **仅** `fabric_node_ids` 放到画布(拒绝 managed/UME,避免创建 Fabric 占位) | +| `removeTopologyViewNodes` | 从画布移除(不删 Fabric) | +| `updateTopologyViewPositions` | 设置坐标 | +| `projectTopologyNeighbors` | 投影**已有** LLDP 邻居到画布 | + +**刻意不提供:** 手工建链、`populate`(会经 managed 创建 Fabric 占位)、删 Fabric / 删整图。 + +写操作需要 token 具备 `ne:write`;只读为 `ne:read`。 + +**权限怎么开:** 网页 **系统 → API Key**(`/api-keys`)创建 Key 时勾选 scopes,或点「MCP + 拓扑写」。默认 bootstrap `data/auth/mcp_token` **没有** `ne:write`,Agent 的 `tools/list` **不会出现**写工具。把新 Key 配到 `NETX_API_TOKEN`(或写进 MCP env)后重启 MCP / Sync Tools。 + +**前端能否看着画:** 在拓扑页左侧树或右侧浏览区点 **「实时同步」**(默认关闭;**不需要先打开某张图**)。开启后树约每 5 秒、已打开的图约每 3 秒拉取,可看到 MCP 新建区域/画布并往上加点。有未保存本地拖动时不会覆盖你的编辑。 + +--- + +## 4. 与 netx-mcp 的关系 + +| 包 | server_id | 职责 | +|----|-----------|------| +| `netx-mcp` | `netx` | 告警、UME、托管网元 CLI(**13** 工具) | +| `netx-topology-mcp` | `netx-topology` | 拓扑画布 / Fabric 只读 + 安全画图(**13** 工具) | + +`queryTopologyEdges` 已从 `netx-mcp` **迁出**到本包,避免重复。 + +--- + +## 5. 更新 + +```powershell +cd +git pull +pip install -e ./packages/netx-topology-mcp +``` + +然后重启 MCP 宿主,并 Sync Tools。 diff --git a/mcp.json b/mcp.json index f776735..c8c6b28 100644 --- a/mcp.json +++ b/mcp.json @@ -9,6 +9,16 @@ "PYTHONIOENCODING": "utf-8", "PYTHONUTF8": "1" } + }, + "netx-topology": { + "command": "python", + "args": ["-m", "netx_topology_mcp"], + "env": { + "NETX_API_URL": "http://127.0.0.1:8890", + "NETX_LANG": "zh", + "PYTHONIOENCODING": "utf-8", + "PYTHONUTF8": "1" + } } } } diff --git a/mcp_topology_install_payload.json b/mcp_topology_install_payload.json new file mode 100644 index 0000000..ff02b91 --- /dev/null +++ b/mcp_topology_install_payload.json @@ -0,0 +1,28 @@ +{ + "source_type": "local", + "source_ref": "netx-topology-mcp", + "server_id": "netx-topology", + "version": "0.1.0", + "entry_command": "python", + "entry_args": ["-m", "netx_topology_mcp"], + "env_schema": { + "NETX_API_URL": { + "type": "string", + "description": "netx REST API base URL (no trailing slash)", + "default": "http://127.0.0.1:8890" + }, + "NETX_API_TOKEN": { + "type": "string", + "description": "Optional Bearer token when netx API auth is enabled" + }, + "NETX_LANG": { + "type": "string", + "description": "Response language hint: zh or en", + "default": "zh" + } + }, + "required_permissions": [], + "risk_level": "medium", + "enabled": true, + "timeout_s": 120 +} diff --git a/packages/netx-mcp/README.md b/packages/netx-mcp/README.md index 69740a9..dbb7e42 100644 --- a/packages/netx-mcp/README.md +++ b/packages/netx-mcp/README.md @@ -36,13 +36,13 @@ python -m netx_mcp [`mcp.json`](./mcp.json) — `command: python`,`args: ["-m", "netx_mcp"]`,`env` 见文件。 -## 工具(14) +## 工具(13) UME:`queryUmeAlarms`, `aggregateUmeAlarms`, `runUmeDiagnostics`, `queryUmeNeInventory`, `getUmeNe`, `queryUmeAlarmsRaw`, `aggregateUmeAlarmsRaw`, `listUmeAlarmFields`, `sqlQueryUme` 托管网元:`listManagedNe`, `getManagedNe`, `execManagedNe`, `listCliTargets` -拓扑 Fabric:`queryTopologyEdges`(可按 `node_id` 查 A 与多少网元互联,返回 `peer_count`) +拓扑画布 / Fabric → 请单独安装 [`netx-topology-mcp`](../netx-topology-mcp)(见 [docs/MCP_TOPOLOGY.md](../../docs/MCP_TOPOLOGY.md))。 ## 兼容 diff --git a/packages/netx-mcp/src/netx_mcp/http_tools.py b/packages/netx-mcp/src/netx_mcp/http_tools.py index ed1d62a..dd9d457 100644 --- a/packages/netx-mcp/src/netx_mcp/http_tools.py +++ b/packages/netx-mcp/src/netx_mcp/http_tools.py @@ -1,4 +1,4 @@ -"""MCP tool schemas and HTTP-backed handlers (UME + managed NE + topology fabric).""" +"""MCP tool schemas and HTTP-backed handlers (UME + managed NE).""" from __future__ import annotations @@ -285,61 +285,6 @@ def _list_cli_targets(args: dict[str, Any]) -> dict[str, Any]: return http_json("GET", "/v1/cli/targets", params=params) -def _query_topology_edges(args: dict[str, Any]) -> dict[str, Any]: - """List fabric edges; with node_id, also summarize unique peer NEs (interconnect count).""" - page = max(1, int(args.get("page") or 1)) - page_size = min(500, max(1, int(args.get("page_size") or 50))) - node_id = str(args.get("node_id") or "").strip() - params: dict[str, Any] = { - "page": page, - "page_size": page_size, - "layer": str(args.get("layer") or "physical").strip() or "physical", - } - if node_id: - params["node_id"] = node_id - if str(args.get("status") or "").strip(): - params["status"] = str(args.get("status")).strip() - if str(args.get("source") or "").strip(): - src = str(args.get("source")).strip().lower() - if src == "stale": - src = "lldp" - params["source"] = src - if str(args.get("keyword") or "").strip(): - params["keyword"] = str(args.get("keyword")).strip() - out = http_json("GET", "/v1/topology/fabric/edges", params=params) - if not isinstance(out, dict): - return out - items = out.get("items") if isinstance(out.get("items"), list) else [] - # When scoping to one NE: unique peers on this page (+ total edges from API). - if node_id and items: - peers: set[str] = set() - peer_labels: list[dict[str, str]] = [] - seen_label: set[str] = set() - for e in items: - if not isinstance(e, dict): - continue - a_id = str(e.get("a_node_id") or "") - b_id = str(e.get("b_node_id") or "") - if a_id == node_id: - peer_id, pname, pip = b_id, str(e.get("b_name") or ""), str(e.get("b_ip") or "") - elif b_id == node_id: - peer_id, pname, pip = a_id, str(e.get("a_name") or ""), str(e.get("a_ip") or "") - else: - continue - if not peer_id or peer_id in peers: - continue - peers.add(peer_id) - if peer_id not in seen_label: - seen_label.add(peer_id) - peer_labels.append({"node_id": peer_id, "name": pname, "ip": pip}) - out["peer_count"] = len(peers) - out["peers"] = peer_labels - out["edge_total"] = int(out.get("total") or len(items)) - # Incomplete if caller didn't fetch all pages. - out["peers_complete"] = int(out.get("total") or 0) <= len(items) - return out - - HTTP_MCP_TOOLS: list[dict[str, Any]] = [ { "name": "queryUmeAlarms", @@ -524,34 +469,6 @@ HTTP_MCP_TOOLS: list[dict[str, Any]] = [ "additionalProperties": False, }, }, - { - "name": "queryTopologyEdges", - "description": ( - "Query fabric LLDP/manual links. Pass node_id to list edges of NE A and get peer_count " - "(how many distinct NEs A interconnects with). Optional keyword filters by endpoint name/IP; " - "status=active|missing. Raise page_size if peers_complete is false." - ), - "inputSchema": { - "type": "object", - "properties": { - "node_id": { - "type": "string", - "description": "Fabric node id of NE A — returns its edges + peer_count/peers summary", - }, - "keyword": { - "type": "string", - "description": "Filter edges whose endpoint name/IP contains this text", - }, - "layer": {"type": "string", "default": "physical"}, - "status": {"type": "string", "enum": ["active", "missing", "stale"]}, - "source": {"type": "string", "enum": ["lldp", "manual"]}, - "page": {"type": "integer", "minimum": 1, "default": 1}, - "page_size": {"type": "integer", "minimum": 1, "maximum": 500, "default": 100}, - }, - "required": [], - "additionalProperties": False, - }, - }, ] _HANDLERS: dict[str, Callable[[dict[str, Any]], dict[str, Any]]] = { @@ -568,7 +485,6 @@ _HANDLERS: dict[str, Callable[[dict[str, Any]], dict[str, Any]]] = { "getManagedNe": _get_managed_ne, "execManagedNe": _exec_managed_ne, "listCliTargets": _list_cli_targets, - "queryTopologyEdges": _query_topology_edges, } # Minimum scope required to advertise / invoke each tool (matches netx API RBAC). @@ -586,7 +502,6 @@ TOOL_REQUIRED_SCOPE: dict[str, str] = { "getManagedNe": "ne:read", "execManagedNe": "ne:exec", "listCliTargets": "ne:read", - "queryTopologyEdges": "ne:read", } diff --git a/packages/netx-mcp/tests/test_mcp_http.py b/packages/netx-mcp/tests/test_mcp_http.py index ae7729c..4d26df8 100644 --- a/packages/netx-mcp/tests/test_mcp_http.py +++ b/packages/netx-mcp/tests/test_mcp_http.py @@ -15,11 +15,12 @@ from netx_mcp.server import _fetch_scopes def test_http_mcp_tool_list_has_expected_tools() -> None: names = [str(t.get("name") or "") for t in HTTP_MCP_TOOLS] - assert len(names) == 14 + assert len(names) == 13 assert "queryUmeAlarms" in names assert "queryUmeAlarmsRaw" in names assert "execManagedNe" in names assert "listCliTargets" in names + assert "queryTopologyEdges" not in names exec_tool = next(t for t in HTTP_MCP_TOOLS if t.get("name") == "execManagedNe") assert exec_tool["inputSchema"]["properties"]["commands"]["maxItems"] >= 5 @@ -105,6 +106,11 @@ def test_tools_for_scopes_filters_by_granted() -> None: def test_stdio_initialize_and_tools_list() -> None: + import os + + env = os.environ.copy() + env["NETX_API_URL"] = "http://127.0.0.1:1" + env.pop("NETX_API_TOKEN", None) proc = subprocess.Popen( [sys.executable, "-m", "netx_mcp"], stdin=subprocess.PIPE, @@ -113,6 +119,7 @@ def test_stdio_initialize_and_tools_list() -> None: text=True, encoding="utf-8", errors="replace", + env=env, ) assert proc.stdin and proc.stdout init_req = json.dumps({"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {}}) + "\n" @@ -129,7 +136,7 @@ def test_stdio_initialize_and_tools_list() -> None: list_resp = json.loads(list_line) assert "error" not in list_resp, list_resp tools = list_resp["result"]["tools"] - assert len(tools) == 14 + assert len(tools) == 13 proc.terminate() proc.wait(timeout=5) diff --git a/packages/netx-topology-mcp/README.md b/packages/netx-topology-mcp/README.md new file mode 100644 index 0000000..93fac0c --- /dev/null +++ b/packages/netx-topology-mcp/README.md @@ -0,0 +1,39 @@ +# netx-topology-mcp + +独立的 **stdio MCP**,只暴露 netx **拓扑画布 / Fabric** 能力,与告警/CLI 的 [`netx-mcp`](../netx-mcp) 分开安装,方便 Agent 按需启用。 + +``` +MCP 宿主 → stdio netx_topology_mcp → HTTP NETX_API_URL → netx API /v1/topology/* +``` + +详细说明 → **[docs/MCP_TOPOLOGY.md](../../docs/MCP_TOPOLOGY.md)** + +配套 Skill → **[`.cursor/skills/netx-topology`](../../.cursor/skills/netx-topology/SKILL.md)**(画图流水线与硬规则) + +## 安装 + +```powershell +cd D:\project\chatgpt\netx +pip install -e ./packages/netx-topology-mcp +python -c "import netx_topology_mcp; print('ok')" +``` + +GitHub: + +```powershell +pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx-topology-mcp" +``` + +## 配置 + +复制 [`mcp.json`](./mcp.json) 到 Cursor / oclaw(`server_id=netx-topology`),可与 `netx` 同时存在。 + +## 工具(13) + +| 类别 | 工具 | +|------|------| +| 树/画布 | `getTopologyTree`, `listTopologyViews`, `getTopologyView`, `createTopologyView` | +| 画图 | `addTopologyViewNodes`(仅已有 `fabric_node_ids`), `removeTopologyViewNodes`, `updateTopologyViewPositions`, `projectTopologyNeighbors` | +| Fabric 只读 | `getTopologyFabricSummary`, `listTopologyFabricNodes`, `searchTopologyFabricNodes`, `queryTopologyNeighborhood`, `queryTopologyEdges` | + +**安全约束:** MCP **不会**创建 Fabric 占位节点、**不会**写手工链路;画布只能引用已存在的 fabric 节点。 diff --git a/packages/netx-topology-mcp/mcp.json b/packages/netx-topology-mcp/mcp.json new file mode 100644 index 0000000..8b64ad7 --- /dev/null +++ b/packages/netx-topology-mcp/mcp.json @@ -0,0 +1,14 @@ +{ + "mcpServers": { + "netx-topology": { + "command": "python", + "args": ["-m", "netx_topology_mcp"], + "env": { + "NETX_API_URL": "http://127.0.0.1:8890", + "NETX_LANG": "zh", + "PYTHONIOENCODING": "utf-8", + "PYTHONUTF8": "1" + } + } + } +} diff --git a/packages/netx-topology-mcp/pyproject.toml b/packages/netx-topology-mcp/pyproject.toml new file mode 100644 index 0000000..1047996 --- /dev/null +++ b/packages/netx-topology-mcp/pyproject.toml @@ -0,0 +1,20 @@ +[build-system] +requires = ["setuptools>=68", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "netx-topology-mcp" +version = "0.1.0" +description = "stdio MCP server for netx topology canvas (views / fabric / draw)" +readme = "README.md" +requires-python = ">=3.11" +license = { text = "MIT" } +dependencies = [ + "httpx>=0.27.0", +] + +[project.scripts] +netx-topology-mcp = "netx_topology_mcp.server:main" + +[tool.setuptools.packages.find] +where = ["src"] diff --git a/packages/netx-topology-mcp/src/netx_topology_mcp/__init__.py b/packages/netx-topology-mcp/src/netx_topology_mcp/__init__.py new file mode 100644 index 0000000..4011e88 --- /dev/null +++ b/packages/netx-topology-mcp/src/netx_topology_mcp/__init__.py @@ -0,0 +1,3 @@ +"""netx topology MCP — canvas / fabric tools for drawing topology maps.""" + +__version__ = "0.1.0" diff --git a/packages/netx-topology-mcp/src/netx_topology_mcp/__main__.py b/packages/netx-topology-mcp/src/netx_topology_mcp/__main__.py new file mode 100644 index 0000000..2a503ae --- /dev/null +++ b/packages/netx-topology-mcp/src/netx_topology_mcp/__main__.py @@ -0,0 +1,4 @@ +from netx_topology_mcp.server import main + +if __name__ == "__main__": + main() diff --git a/packages/netx-topology-mcp/src/netx_topology_mcp/http_client.py b/packages/netx-topology-mcp/src/netx_topology_mcp/http_client.py new file mode 100644 index 0000000..d24e955 --- /dev/null +++ b/packages/netx-topology-mcp/src/netx_topology_mcp/http_client.py @@ -0,0 +1,94 @@ +"""HTTP client for netx REST API (topology MCP).""" + +from __future__ import annotations + +import json +import os +from typing import Any + +import httpx + + +def api_base_url() -> str: + raw = ( + os.getenv("NETX_API_URL") + or os.getenv("OCLAW_NETX_BASE_URL") + or "http://127.0.0.1:8890" + ) + return str(raw or "").strip().rstrip("/") + + +def api_headers() -> dict[str, str]: + h = {"accept": "application/json"} + tok = (os.getenv("NETX_API_TOKEN") or os.getenv("OCLAW_NETX_API_TOKEN") or "").strip() + if not tok: + candidates = [ + os.getenv("NETX_MCP_TOKEN_FILE", "").strip(), + "data/auth/mcp_token", + os.path.join(os.path.dirname(__file__), "..", "..", "..", "data", "auth", "mcp_token"), + ] + for raw in candidates: + if not raw: + continue + path = os.path.abspath(raw) + try: + if os.path.isfile(path): + with open(path, encoding="utf-8") as fh: + tok = fh.read().strip() + if tok: + break + except Exception: + continue + if tok: + h["authorization"] = f"Bearer {tok}" + return h + + +def lang_query_params() -> dict[str, str]: + lang = str(os.getenv("NETX_LANG") or "zh").strip().lower() + if lang.startswith("en"): + return {"lang": "en"} + return {} + + +def http_json( + method: str, + path: str, + *, + params: dict[str, Any] | None = None, + body: dict[str, Any] | None = None, + timeout: float = 60.0, +) -> dict[str, Any]: + url = f"{api_base_url()}{path}" + merged: dict[str, Any] = dict(lang_query_params()) + if params: + merged.update(params) + try: + with httpx.Client(timeout=timeout, trust_env=False) as client: + resp = client.request( + method, + url, + params=merged or None, + json=body, + headers=api_headers(), + ) + text = resp.text + if not resp.is_success: + return {"ok": False, "error": f"netx_http_{resp.status_code}", "detail": text[:800]} + data = resp.json() if text else {} + return {"ok": True, "data": data if isinstance(data, dict) else {"raw": data}} + except Exception as exc: + return {"ok": False, "error": "netx_request_failed", "detail": str(exc)[:800]} + + +def mcp_text_result(payload: Any, *, is_error: bool = False) -> dict[str, Any]: + out: dict[str, Any] = {"content": [{"type": "text", "text": json.dumps(payload, ensure_ascii=False)}]} + if is_error: + out["isError"] = True + return out + + +def mcp_from_handler_result(result: dict[str, Any]) -> dict[str, Any]: + if not result.get("ok"): + return mcp_text_result(result, is_error=True) + return mcp_text_result(result) diff --git a/packages/netx-topology-mcp/src/netx_topology_mcp/http_tools.py b/packages/netx-topology-mcp/src/netx_topology_mcp/http_tools.py new file mode 100644 index 0000000..8a7c10b --- /dev/null +++ b/packages/netx-topology-mcp/src/netx_topology_mcp/http_tools.py @@ -0,0 +1,467 @@ +"""MCP tool schemas and HTTP handlers for netx topology canvas / fabric.""" + +from __future__ import annotations + +from typing import Any, Callable + +from netx_topology_mcp.http_client import http_json, mcp_from_handler_result + + +def _data(out: dict[str, Any]) -> dict[str, Any]: + """Return API payload dict from http_json envelope (or error as-is).""" + if not isinstance(out, dict): + return {"ok": False, "error": "invalid_response"} + if not out.get("ok"): + return out + data = out.get("data") + if isinstance(data, dict): + merged = dict(data) + merged["ok"] = True + return merged + return {"ok": True, "data": data} + + +def _get_topology_tree(_args: dict[str, Any]) -> dict[str, Any]: + return _data(http_json("GET", "/v1/topology/tree")) + + +def _list_topology_views(_args: dict[str, Any]) -> dict[str, Any]: + return _data(http_json("GET", "/v1/topology/views")) + + +def _get_topology_view(args: dict[str, Any]) -> dict[str, Any]: + view_id = str(args.get("view_id") or "").strip() + if not view_id: + return {"ok": False, "error": "view_id_required"} + return _data(http_json("GET", f"/v1/topology/views/{view_id}")) + + +def _create_topology_view(args: dict[str, Any]) -> dict[str, Any]: + name = str(args.get("name") or "").strip() + folder_id = str(args.get("folder_id") or "").strip() + if not name: + return {"ok": False, "error": "name_required"} + if not folder_id: + return {"ok": False, "error": "folder_id_required"} + body: dict[str, Any] = { + "name": name, + "folder_id": folder_id, + "remark": str(args.get("remark") or ""), + "kind": str(args.get("kind") or "custom").strip() or "custom", + "role": str(args.get("role") or "core").strip() or "core", + "sort_order": int(args.get("sort_order") or 0), + } + filt = args.get("filter") + if isinstance(filt, dict): + body["filter"] = filt + return _data(http_json("POST", "/v1/topology/views", body=body)) + + +def _add_topology_view_nodes(args: dict[str, Any]) -> dict[str, Any]: + """Place existing fabric nodes on a view only — never create fabric placeholders.""" + view_id = str(args.get("view_id") or "").strip() + if not view_id: + return {"ok": False, "error": "view_id_required"} + # Reject inventory-id shortcuts that would call ensure_fabric_node_* on the API. + if args.get("managed_ne_ids") or args.get("ume_ne_ids"): + return { + "ok": False, + "error": "fabric_nodes_only", + "detail": "Only fabric_node_ids are allowed; resolve inventory via search/list first.", + } + fabric_ids = [str(x) for x in (args.get("fabric_node_ids") or []) if str(x).strip()] + if not fabric_ids: + return {"ok": False, "error": "fabric_node_ids_required"} + body: dict[str, Any] = { + "managed_ne_ids": [], + "ume_ne_ids": [], + "fabric_node_ids": fabric_ids, + "layout": str(args.get("layout") or "grid").strip() or "grid", + } + return _data(http_json("POST", f"/v1/topology/views/{view_id}/nodes", body=body)) + + +def _remove_topology_view_nodes(args: dict[str, Any]) -> dict[str, Any]: + view_id = str(args.get("view_id") or "").strip() + ids = [str(x) for x in (args.get("fabric_node_ids") or []) if str(x).strip()] + if not view_id: + return {"ok": False, "error": "view_id_required"} + if not ids: + return {"ok": False, "error": "fabric_node_ids_required"} + return _data( + http_json("POST", f"/v1/topology/views/{view_id}/nodes/remove", body={"fabric_node_ids": ids}) + ) + + +def _update_topology_view_positions(args: dict[str, Any]) -> dict[str, Any]: + view_id = str(args.get("view_id") or "").strip() + positions = args.get("positions") + if not view_id: + return {"ok": False, "error": "view_id_required"} + if not isinstance(positions, list) or not positions: + return {"ok": False, "error": "positions_required"} + cleaned: list[dict[str, Any]] = [] + for p in positions: + if not isinstance(p, dict): + continue + fid = str(p.get("fabric_node_id") or "").strip() + if not fid: + continue + cleaned.append( + { + "fabric_node_id": fid, + "x": float(p.get("x") or 0), + "y": float(p.get("y") or 0), + "label": str(p.get("label") or ""), + "locked": bool(p.get("locked") or False), + } + ) + if not cleaned: + return {"ok": False, "error": "positions_required"} + return _data(http_json("PATCH", f"/v1/topology/views/{view_id}/positions", body={"positions": cleaned})) + + +def _project_topology_neighbors(args: dict[str, Any]) -> dict[str, Any]: + view_id = str(args.get("view_id") or "").strip() + if not view_id: + return {"ok": False, "error": "view_id_required"} + return _data(http_json("POST", f"/v1/topology/views/{view_id}/project-neighbors", body={})) + + +def _get_topology_fabric_summary(_args: dict[str, Any]) -> dict[str, Any]: + return _data(http_json("GET", "/v1/topology/fabric/summary")) + + +def _list_topology_fabric_nodes(args: dict[str, Any]) -> dict[str, Any]: + page = max(1, int(args.get("page") or 1)) + page_size = min(500, max(1, int(args.get("page_size") or 50))) + params: dict[str, Any] = {"page": page, "page_size": page_size} + if str(args.get("keyword") or "").strip(): + params["keyword"] = str(args.get("keyword")).strip() + if str(args.get("role") or "").strip(): + params["role"] = str(args.get("role")).strip() + if str(args.get("link_status") or "").strip(): + params["link_status"] = str(args.get("link_status")).strip() + return _data(http_json("GET", "/v1/topology/fabric/nodes", params=params)) + + +def _search_topology_fabric_nodes(args: dict[str, Any]) -> dict[str, Any]: + q = str(args.get("q") or args.get("keyword") or "").strip() + if not q: + return {"ok": False, "error": "q_required"} + params: dict[str, Any] = { + "q": q, + "page": max(1, int(args.get("page") or 1)), + "page_size": min(200, max(1, int(args.get("page_size") or args.get("limit") or 50))), + } + return _data(http_json("GET", "/v1/topology/fabric/nodes/search", params=params)) + + +def _query_topology_neighborhood(args: dict[str, Any]) -> dict[str, Any]: + node_id = str(args.get("node_id") or "").strip() + if not node_id: + return {"ok": False, "error": "node_id_required"} + params: dict[str, Any] = { + "node_id": node_id, + "depth": min(3, max(1, int(args.get("depth") or 1))), + "layer": str(args.get("layer") or "physical").strip() or "physical", + } + return _data(http_json("GET", "/v1/topology/fabric/neighborhood", params=params)) + + +def _query_topology_edges(args: dict[str, Any]) -> dict[str, Any]: + """List fabric edges; with node_id, also summarize unique peer NEs.""" + page = max(1, int(args.get("page") or 1)) + page_size = min(500, max(1, int(args.get("page_size") or 100))) + node_id = str(args.get("node_id") or "").strip() + params: dict[str, Any] = { + "page": page, + "page_size": page_size, + "layer": str(args.get("layer") or "physical").strip() or "physical", + } + if node_id: + params["node_id"] = node_id + if str(args.get("status") or "").strip(): + params["status"] = str(args.get("status")).strip() + if str(args.get("source") or "").strip(): + src = str(args.get("source")).strip().lower() + if src == "stale": + src = "lldp" + params["source"] = src + if str(args.get("keyword") or "").strip(): + params["keyword"] = str(args.get("keyword")).strip() + + out = http_json("GET", "/v1/topology/fabric/edges", params=params) + if not isinstance(out, dict) or not out.get("ok"): + return out if isinstance(out, dict) else {"ok": False, "error": "invalid_response"} + data = out.get("data") if isinstance(out.get("data"), dict) else {} + items = data.get("items") if isinstance(data.get("items"), list) else [] + result: dict[str, Any] = {"ok": True, **data} + if node_id and items: + peers: set[str] = set() + peer_labels: list[dict[str, str]] = [] + seen_label: set[str] = set() + for e in items: + if not isinstance(e, dict): + continue + a_id = str(e.get("a_node_id") or "") + b_id = str(e.get("b_node_id") or "") + if a_id == node_id: + peer_id, pname, pip = b_id, str(e.get("b_name") or ""), str(e.get("b_ip") or "") + elif b_id == node_id: + peer_id, pname, pip = a_id, str(e.get("a_name") or ""), str(e.get("a_ip") or "") + else: + continue + if not peer_id or peer_id in peers: + continue + peers.add(peer_id) + if peer_id not in seen_label: + seen_label.add(peer_id) + peer_labels.append({"node_id": peer_id, "name": pname, "ip": pip}) + result["peer_count"] = len(peers) + result["peers"] = peer_labels + result["edge_total"] = int(data.get("total") or len(items)) + result["peers_complete"] = int(data.get("total") or 0) <= len(items) + return result + + +HTTP_MCP_TOOLS: list[dict[str, Any]] = [ + { + "name": "getTopologyTree", + "description": "Get topology folder tree (sites/regions) with nested views — start here before createTopologyView.", + "inputSchema": {"type": "object", "properties": {}, "required": [], "additionalProperties": False}, + }, + { + "name": "listTopologyViews", + "description": "List topology canvas views (maps).", + "inputSchema": {"type": "object", "properties": {}, "required": [], "additionalProperties": False}, + }, + { + "name": "getTopologyView", + "description": "Get a topology view graph (nodes + edges + positions) by view_id.", + "inputSchema": { + "type": "object", + "properties": {"view_id": {"type": "string"}}, + "required": ["view_id"], + "additionalProperties": False, + }, + }, + { + "name": "createTopologyView", + "description": "Create a topology canvas under a folder (folder_id from getTopologyTree).", + "inputSchema": { + "type": "object", + "properties": { + "name": {"type": "string"}, + "folder_id": {"type": "string"}, + "remark": {"type": "string"}, + "kind": {"type": "string", "enum": ["physical", "custom"], "default": "custom"}, + "role": {"type": "string", "default": "core"}, + "sort_order": {"type": "integer", "default": 0}, + "filter": {"type": "object"}, + }, + "required": ["name", "folder_id"], + "additionalProperties": False, + }, + }, + { + "name": "addTopologyViewNodes", + "description": ( + "Place existing fabric nodes onto a view canvas (layout=grid|keep). " + "Only fabric_node_ids — never creates fabric placeholders from managed/UME ids." + ), + "inputSchema": { + "type": "object", + "properties": { + "view_id": {"type": "string"}, + "fabric_node_ids": {"type": "array", "items": {"type": "string"}, "minItems": 1}, + "layout": {"type": "string", "enum": ["grid", "keep"], "default": "grid"}, + }, + "required": ["view_id", "fabric_node_ids"], + "additionalProperties": False, + }, + }, + { + "name": "removeTopologyViewNodes", + "description": "Remove fabric nodes from a view canvas (does not delete fabric inventory).", + "inputSchema": { + "type": "object", + "properties": { + "view_id": {"type": "string"}, + "fabric_node_ids": {"type": "array", "items": {"type": "string"}, "minItems": 1}, + }, + "required": ["view_id", "fabric_node_ids"], + "additionalProperties": False, + }, + }, + { + "name": "updateTopologyViewPositions", + "description": "Set x/y positions for fabric nodes on a view (draw / rearrange).", + "inputSchema": { + "type": "object", + "properties": { + "view_id": {"type": "string"}, + "positions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fabric_node_id": {"type": "string"}, + "x": {"type": "number"}, + "y": {"type": "number"}, + "label": {"type": "string"}, + "locked": {"type": "boolean"}, + }, + "required": ["fabric_node_id"], + "additionalProperties": False, + }, + "minItems": 1, + }, + }, + "required": ["view_id", "positions"], + "additionalProperties": False, + }, + }, + { + "name": "projectTopologyNeighbors", + "description": ( + "Project existing LLDP fabric neighbors of nodes already on the view onto the canvas. " + "Only places nodes that already exist in fabric." + ), + "inputSchema": { + "type": "object", + "properties": {"view_id": {"type": "string"}}, + "required": ["view_id"], + "additionalProperties": False, + }, + }, + { + "name": "getTopologyFabricSummary", + "description": "Fabric inventory summary (node/edge counts).", + "inputSchema": {"type": "object", "properties": {}, "required": [], "additionalProperties": False}, + }, + { + "name": "listTopologyFabricNodes", + "description": "Paged fabric nodes (keyword/role/link_status filters).", + "inputSchema": { + "type": "object", + "properties": { + "keyword": {"type": "string"}, + "role": {"type": "string"}, + "link_status": { + "type": "string", + "enum": ["linked", "orphaned", "managed", "ume", "both"], + }, + "page": {"type": "integer", "minimum": 1, "default": 1}, + "page_size": {"type": "integer", "minimum": 1, "maximum": 500, "default": 50}, + }, + "required": [], + "additionalProperties": False, + }, + }, + { + "name": "searchTopologyFabricNodes", + "description": "Quick search fabric nodes by name/IP/id.", + "inputSchema": { + "type": "object", + "properties": { + "q": {"type": "string"}, + "keyword": {"type": "string", "description": "Alias of q"}, + "page": {"type": "integer", "minimum": 1, "default": 1}, + "page_size": {"type": "integer", "minimum": 1, "maximum": 200, "default": 50}, + "limit": {"type": "integer", "description": "Alias of page_size"}, + }, + "required": [], + "additionalProperties": False, + }, + }, + { + "name": "queryTopologyNeighborhood", + "description": "Neighborhood around a fabric node (depth 1–3).", + "inputSchema": { + "type": "object", + "properties": { + "node_id": {"type": "string"}, + "depth": {"type": "integer", "minimum": 1, "maximum": 3, "default": 1}, + "layer": {"type": "string", "default": "physical"}, + }, + "required": ["node_id"], + "additionalProperties": False, + }, + }, + { + "name": "queryTopologyEdges", + "description": ( + "Query fabric LLDP/manual links. Pass node_id for edges of NE A plus peer_count. " + "Raise page_size if peers_complete is false." + ), + "inputSchema": { + "type": "object", + "properties": { + "node_id": {"type": "string"}, + "keyword": {"type": "string"}, + "layer": {"type": "string", "default": "physical"}, + "status": {"type": "string", "enum": ["active", "missing", "stale"]}, + "source": {"type": "string", "enum": ["lldp", "manual"]}, + "page": {"type": "integer", "minimum": 1, "default": 1}, + "page_size": {"type": "integer", "minimum": 1, "maximum": 500, "default": 100}, + }, + "required": [], + "additionalProperties": False, + }, + }, +] + +_HANDLERS: dict[str, Callable[[dict[str, Any]], dict[str, Any]]] = { + "getTopologyTree": _get_topology_tree, + "listTopologyViews": _list_topology_views, + "getTopologyView": _get_topology_view, + "createTopologyView": _create_topology_view, + "addTopologyViewNodes": _add_topology_view_nodes, + "removeTopologyViewNodes": _remove_topology_view_nodes, + "updateTopologyViewPositions": _update_topology_view_positions, + "projectTopologyNeighbors": _project_topology_neighbors, + "getTopologyFabricSummary": _get_topology_fabric_summary, + "listTopologyFabricNodes": _list_topology_fabric_nodes, + "searchTopologyFabricNodes": _search_topology_fabric_nodes, + "queryTopologyNeighborhood": _query_topology_neighborhood, + "queryTopologyEdges": _query_topology_edges, +} + +TOOL_REQUIRED_SCOPE: dict[str, str] = { + "getTopologyTree": "ne:read", + "listTopologyViews": "ne:read", + "getTopologyView": "ne:read", + "createTopologyView": "ne:write", + "addTopologyViewNodes": "ne:write", + "removeTopologyViewNodes": "ne:write", + "updateTopologyViewPositions": "ne:write", + "projectTopologyNeighbors": "ne:write", + "getTopologyFabricSummary": "ne:read", + "listTopologyFabricNodes": "ne:read", + "searchTopologyFabricNodes": "ne:read", + "queryTopologyNeighborhood": "ne:read", + "queryTopologyEdges": "ne:read", +} + + +def tools_for_scopes(scopes: list[str] | set[str] | frozenset[str] | None) -> list[dict[str, Any]]: + if scopes is None: + return list(HTTP_MCP_TOOLS) + granted = {str(s).strip().lower() for s in scopes if str(s).strip()} + if not granted: + return [] + out: list[dict[str, Any]] = [] + for tool in HTTP_MCP_TOOLS: + name = str(tool.get("name") or "") + need = TOOL_REQUIRED_SCOPE.get(name) + if need is None or need in granted: + out.append(tool) + return out + + +def call_http_tool(name: str, args: dict[str, Any]) -> dict[str, Any]: + fn = _HANDLERS.get(str(name or "").strip()) + if not fn: + raise ValueError(f"unknown tool: {name}") + return mcp_from_handler_result(fn(dict(args or {}))) diff --git a/packages/netx-topology-mcp/src/netx_topology_mcp/server.py b/packages/netx-topology-mcp/src/netx_topology_mcp/server.py new file mode 100644 index 0000000..98d3802 --- /dev/null +++ b/packages/netx-topology-mcp/src/netx_topology_mcp/server.py @@ -0,0 +1,122 @@ +"""netx topology stdio MCP server (HTTP client to netx REST API). + +Environment: +- ``NETX_API_URL``: netx REST base URL (default ``http://127.0.0.1:8890``) +- ``NETX_API_TOKEN``: optional Bearer token +- ``NETX_LANG``: ``zh`` or ``en`` +""" + +from __future__ import annotations + +import json +import sys +from typing import Any + +from netx_topology_mcp.http_client import http_json +from netx_topology_mcp.http_tools import TOOL_REQUIRED_SCOPE, call_http_tool, tools_for_scopes + + +def _ensure_utf8_stdio() -> None: + for stream in (sys.stdin, sys.stdout, sys.stderr): + if stream is None or not hasattr(stream, "reconfigure"): + continue + try: + stream.reconfigure(encoding="utf-8", errors="replace") + except Exception: + pass + + +def _ok(rid: Any, result: dict[str, Any]) -> None: + sys.stdout.write(json.dumps({"jsonrpc": "2.0", "id": rid, "result": result}, ensure_ascii=False) + "\n") + sys.stdout.flush() + + +def _err(rid: Any, code: int, message: str) -> None: + sys.stdout.write( + json.dumps({"jsonrpc": "2.0", "id": rid, "error": {"code": code, "message": message}}, ensure_ascii=False) + + "\n" + ) + sys.stdout.flush() + + +_UNSET = object() + + +def _fetch_scopes() -> list[str] | None: + try: + envelope = http_json("GET", "/v1/auth/me") + if not isinstance(envelope, dict) or not envelope.get("ok"): + return None + data = envelope.get("data") + if not isinstance(data, dict): + return None + scopes = data.get("scopes") + if isinstance(scopes, list): + return [str(s) for s in scopes] + user = data.get("user") + if isinstance(user, dict) and isinstance(user.get("scopes"), list): + return [str(s) for s in user["scopes"]] + except Exception: + return None + return None + + +def run_stdio_loop() -> None: + cached_scopes: list[str] | None | object = _UNSET + + def scopes() -> list[str] | None: + nonlocal cached_scopes + if cached_scopes is _UNSET: + cached_scopes = _fetch_scopes() + return cached_scopes # type: ignore[return-value] + + for line in sys.stdin: + raw = line.strip() + if not raw: + continue + try: + req = json.loads(raw) + except Exception: + continue + rid = req.get("id") + method = str(req.get("method") or "") + params = req.get("params") if isinstance(req.get("params"), dict) else {} + + try: + if method == "initialize": + _ok( + rid, + { + "protocolVersion": "2024-11-05", + "capabilities": {"tools": {}}, + "serverInfo": {"name": "netx-topology-mcp", "version": "0.1.0", "mode": "http"}, + }, + ) + continue + if method == "notifications/initialized": + continue + if method == "tools/list": + _ok(rid, {"tools": tools_for_scopes(scopes())}) + continue + if method == "tools/call": + name = str(params.get("name") or "") + need = TOOL_REQUIRED_SCOPE.get(name) + granted = scopes() + if need and granted is not None and need not in {str(s).lower() for s in granted}: + _err(rid, -32001, f"insufficient_scope:{need}") + continue + args = params.get("arguments") if isinstance(params.get("arguments"), dict) else {} + _ok(rid, call_http_tool(name, args)) + continue + _err(rid, -32601, f"method not found: {method}") + except Exception as exc: + _err(rid, -32000, str(exc)) + + +def main() -> None: + _ensure_utf8_stdio() + run_stdio_loop() + + +if __name__ == "__main__": + main() diff --git a/packages/netx-topology-mcp/tests/test_mcp_topology.py b/packages/netx-topology-mcp/tests/test_mcp_topology.py new file mode 100644 index 0000000..59b088a --- /dev/null +++ b/packages/netx-topology-mcp/tests/test_mcp_topology.py @@ -0,0 +1,146 @@ +"""Tests for netx topology HTTP MCP server.""" + +from __future__ import annotations + +import json +import subprocess +import sys +from unittest.mock import patch + +from netx_topology_mcp.http_tools import HTTP_MCP_TOOLS, call_http_tool, tools_for_scopes +from netx_topology_mcp.server import _fetch_scopes + + +def test_tool_list_has_draw_and_query_tools() -> None: + names = {str(t.get("name") or "") for t in HTTP_MCP_TOOLS} + assert len(names) == 13 + assert "createTopologyView" in names + assert "addTopologyViewNodes" in names + assert "updateTopologyViewPositions" in names + assert "queryTopologyEdges" in names + assert "getTopologyTree" in names + assert "createTopologyManualEdge" not in names + assert "populateTopologyView" not in names + + +def test_add_nodes_rejects_managed_ume_ids() -> None: + out = call_http_tool( + "addTopologyViewNodes", + {"view_id": "v1", "managed_ne_ids": ["m1"], "fabric_node_ids": ["f1"]}, + ) + assert out.get("isError") is True + payload = json.loads(out["content"][0]["text"]) + assert payload["error"] == "fabric_nodes_only" + + +def test_add_nodes_posts_fabric_ids_only() -> None: + with patch("netx_topology_mcp.http_tools.http_json") as mock_http: + mock_http.return_value = {"ok": True, "data": {"nodes": []}} + out = call_http_tool( + "addTopologyViewNodes", + {"view_id": "v1", "fabric_node_ids": ["f1", "f2"], "layout": "grid"}, + ) + body = mock_http.call_args[1]["body"] + assert body["fabric_node_ids"] == ["f1", "f2"] + assert body["managed_ne_ids"] == [] + assert body["ume_ne_ids"] == [] + payload = json.loads(out["content"][0]["text"]) + assert payload["ok"] is True + + +def test_create_view_requires_folder() -> None: + out = call_http_tool("createTopologyView", {"name": "map1"}) + assert out.get("isError") is True + payload = json.loads(out["content"][0]["text"]) + assert payload["error"] == "folder_id_required" + + +def test_create_view_posts_body() -> None: + with patch("netx_topology_mcp.http_tools.http_json") as mock_http: + mock_http.return_value = {"ok": True, "data": {"id": "v1", "name": "map1"}} + out = call_http_tool( + "createTopologyView", + {"name": "map1", "folder_id": "f1", "kind": "custom"}, + ) + mock_http.assert_called_once() + assert mock_http.call_args[0][0] == "POST" + assert mock_http.call_args[0][1] == "/v1/topology/views" + body = mock_http.call_args[1]["body"] + assert body["name"] == "map1" + assert body["folder_id"] == "f1" + payload = json.loads(out["content"][0]["text"]) + assert payload["ok"] is True + + +def test_query_edges_enriches_peers() -> None: + with patch("netx_topology_mcp.http_tools.http_json") as mock_http: + mock_http.return_value = { + "ok": True, + "data": { + "total": 1, + "items": [ + { + "a_node_id": "A", + "b_node_id": "B", + "a_name": "ne-a", + "b_name": "ne-b", + "a_ip": "1.1.1.1", + "b_ip": "2.2.2.2", + } + ], + }, + } + out = call_http_tool("queryTopologyEdges", {"node_id": "A", "page_size": 100}) + payload = json.loads(out["content"][0]["text"]) + assert payload["ok"] is True + assert payload["peer_count"] == 1 + assert payload["peers"][0]["node_id"] == "B" + assert payload["peers_complete"] is True + + +def test_tools_for_scopes_filters_write() -> None: + read_only = {str(t.get("name") or "") for t in tools_for_scopes(["ne:read"])} + assert "queryTopologyEdges" in read_only + assert "createTopologyView" not in read_only + write = {str(t.get("name") or "") for t in tools_for_scopes(["ne:read", "ne:write"])} + assert "createTopologyView" in write + + +def test_fetch_scopes_unwraps_envelope() -> None: + with patch("netx_topology_mcp.server.http_json") as mock_http: + mock_http.return_value = {"ok": True, "data": {"scopes": ["ne:read", "ne:write"]}} + assert _fetch_scopes() == ["ne:read", "ne:write"] + + +def test_stdio_initialize_and_tools_list() -> None: + import os + + # Force scopes fetch to fail so tools/list returns the full catalog. + env = os.environ.copy() + env["NETX_API_URL"] = "http://127.0.0.1:1" + env.pop("NETX_API_TOKEN", None) + proc = subprocess.Popen( + [sys.executable, "-m", "netx_topology_mcp"], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + encoding="utf-8", + errors="replace", + env=env, + ) + assert proc.stdin and proc.stdout + try: + proc.stdin.write(json.dumps({"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {}}) + "\n") + proc.stdin.flush() + init_resp = json.loads(proc.stdout.readline()) + assert init_resp["result"]["serverInfo"]["name"] == "netx-topology-mcp" + + proc.stdin.write(json.dumps({"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}) + "\n") + proc.stdin.flush() + list_resp = json.loads(proc.stdout.readline()) + tools = list_resp["result"]["tools"] + assert len(tools) == 13 + finally: + proc.terminate() + proc.wait(timeout=5) diff --git a/pyproject.toml b/pyproject.toml index 150cecd..2cb74cc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,9 +32,11 @@ dependencies = [ [project.optional-dependencies] mcp = ["netx-mcp @ file:packages/netx-mcp"] +mcp-topology = ["netx-topology-mcp @ file:packages/netx-topology-mcp"] [project.scripts] netx-mcp = "netx_mcp.server:main" +netx-topology-mcp = "netx_topology_mcp.server:main" [tool.setuptools.packages.find] where = ["."] diff --git a/tests/test_auth.py b/tests/test_auth.py index 96722fe..8f58b4c 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -234,6 +234,29 @@ class AuthApiTests(unittest.TestCase): r = self.client.get("/v1/probe", headers={"Authorization": f"Bearer {api_tok}"}) self.assertEqual(r.status_code, 200) + def test_api_token_with_scopes(self) -> None: + token = self._login() + created = self.client.post( + "/v1/api-tokens", + headers={"Authorization": f"Bearer {token}"}, + json={ + "name": "topo-write", + "expires_in_days": 30, + "scopes": ["ne:read", "ne:write", "alarms:read"], + }, + ) + self.assertEqual(created.status_code, 200, created.text) + body = created.json()["token"] + self.assertEqual(sorted(body.get("scopes") or []), ["alarms:read", "ne:read", "ne:write"]) + api_tok = body["token"] + me = self.client.get("/v1/auth/me", headers={"Authorization": f"Bearer {api_tok}"}) + self.assertEqual(me.status_code, 200, me.text) + granted = sorted(me.json().get("scopes") or []) + self.assertIn("ne:write", granted) + self.assertIn("ne:read", granted) + # Token cannot escalate beyond listed scopes (admin owner still capped by token list). + self.assertNotIn("admin:users", granted) + if __name__ == "__main__": unittest.main() diff --git a/web/public/login-earth-night.webp b/web/public/login-earth-night.webp new file mode 100644 index 0000000000000000000000000000000000000000..58e36edddcd7c23f16d49c9f90228a19bd481655 GIT binary patch literal 609818 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

  • F8BHNoZT4WY(pI%np42_RmiFcEH!;! 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

    Nz`Q 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 z%0D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

    {oSMz&oQ|PFStQds>w|?Row8eZLDe-kS!L~U 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 z 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%0Akg2h?_W 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