From 5b23ac81d0aab3182f9e1c45fb7d060a4e5b1386 Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Thu, 4 Jun 2026 23:09:44 +0800 Subject: [PATCH] docs: add MCP service feature documentation --- docs/features/mcp-service.md | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/docs/features/mcp-service.md b/docs/features/mcp-service.md index 9bba8337e..01bfc26f7 100644 --- a/docs/features/mcp-service.md +++ b/docs/features/mcp-service.md @@ -92,33 +92,28 @@ Add to `claude_desktop_config.json`: ```mermaid sequenceDiagram participant Client as Claude Code / Claude Desktop - participant MCP as MCP Service
(/v3/mcp/transport) + participant MCP as MCP Service participant Auth as JWT Auth participant GNS3 as GNS3 REST API - participant DB as Controller / Database - - Note over Client: Step 1: Connect with JWT - Client->>MCP: GET /sse?token=<jwt>
or Authorization: Bearer <jwt> + Note over Client: 1. Connect with JWT + Client->>MCP: GET /sse (token in header or query) MCP->>Auth: Validate Token Auth-->>MCP: Token Valid - MCP-->>Client: event: endpoint
data: /messages/?session_id=xxx + MCP-->>Client: event: endpoint /messages/?session_id=xxx - Note over Client: Step 2: Initialize Protocol - Client->>MCP: POST /messages/?session_id=xxx
{"method":"initialize", ...} - MCP-->>Client: event: message
{"result": {"protocolVersion": "...", ...}} + Note over Client: 2. Initialize + Client->>MCP: POST /messages/ (initialize) + MCP-->>Client: event: message (protocolVersion, capabilities) - Note over Client: Step 3: List & Call Tools - Client->>MCP: POST /messages/
{"method":"tools/list"} - MCP-->>Client: event: message
{"result": {"tools": [...]}} + Note over Client: 3. List & Call Tools + Client->>MCP: POST /messages/ (tools/list) + MCP-->>Client: event: message (tools list) - Client->>MCP: POST /messages/
{"method":"tools/call",
"params": {"name":"list_projects"}} - - MCP->>GNS3: Gns3Connector (HTTP) - GNS3->>DB: Query Projects - DB-->>GNS3: Project Data - GNS3-->>MCP: JSON Response - MCP-->>Client: event: message
{"result": {"content": [...]}} + Client->>MCP: POST /messages/ (tools/call list_projects) + MCP->>GNS3: Gns3Connector HTTP request + GNS3-->>MCP: Projects data + MCP-->>Client: event: message (tool result) ``` ## Internal Implementation