2.5 KiB
2.5 KiB
内嵌 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 走正规流程分钟级回归验证。