dev-manager-tauri/.blueprint/modules/mcp-server.md

47 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 内嵌 MCP Server
炼境进程内置一个 axum HTTP 服务器,实现 MCP 协议,按产品组聚合上下文数据,供组内所有项目的 Claude 实例查询。
## 决策记录
- 内嵌在 Tauri 进程而非独立进程,因为炼境托盘常驻时天然保证服务存活,无需额外进程管理
- 使用 HTTP/SSE 传输而非 stdio因为 HTTP 可被 Windows 和 WSL 两侧同时访问WSL localhost 穿透)
- 默认端口 27190冷门端口冲突概率极低可在设置页修改
- MCP 工具按 group_id 路由,不同产品组的数据完全隔离
## 任务卡
### ✅ 启动时绑定 HTTP 端口
- status: done
- complexity: M
- files: src-tauri/src/mcp_server.rs, src-tauri/src/lib.rs, src-tauri/Cargo.toml
- depends: tray-service
- acceptance: 炼境启动后 `http://localhost:27190/health` 返回 200进程退出后端口释放
### ✅ 实现 MCP JSON-RPC 基础协议
- status: done
- complexity: M
- files: src-tauri/src/mcp_server.rs
- acceptance: 支持 `initialize`、`tools/list`、`tools/call` 三个 JSON-RPC 方法,通过 MCP Inspector 验证
### ✅ 实现产品组上下文工具
- status: done
- complexity: M
- files: src-tauri/src/mcp_server.rs
- depends: mcp-server基础协议
- acceptance: 以下三个工具可用且返回正确数据
- `list_group_projects(group_id)` → 组内项目列表名称、路径、平台、tech_stack
- `get_project_blueprint(group_id, project_id)` → 对应项目的 manifest.yaml 内容
- `get_project_file(group_id, project_id, relative_path)` → 对应项目的任意文件内容
### ✅ MCP 端口可配置Rust 侧)
- status: done
- complexity: S
- files: src-tauri/src/db.rs, src-tauri/src/mcp_server.rs
- acceptance: settings 表默认写入 mcp_port=27190启动时读取该值绑定端口SettingsPage UI 见 product-group-mcp 模块)
### 💭 能力双投影UI 治理按钮 ↔ MCP 工具对齐R12 候选)
- status: concept
- notes: 2026-07-03 概念探讨成形(见 memory concept_dual_projection。现状治理动作生成蓝图提示词/同步规则/接入包/腐化扫描等)只有 UI 投影无 agent 投影agent 验证需绕道。方向:① 为治理 command 补注册 MCP 工具,实现"每个 UI 按钮有对应 agent 按钮";② 落成 R12 规则进 CONVENTIONS与 R01 同构);③ 三条件检查清单(边界单点实现/投影完整/反馈对称)纳入健康诊断。收益:统一验证路径空间——功能修复后 agent 走正规流程分钟级回归验证。