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