What to build
在 VibeGuard 代理进程中内嵌一个 MCP Server,通过 Streamable HTTP 协议暴露 POST /mcp 端点。该端点复用现有代理端口 127.0.0.1:28657,与 Admin 面板共享 HTTP 服务。
本切片是后续所有 MCP 工具的骨架,需实现:
- JSON-RPC 2.0 解析层:支持 JSON-RPC request/response 序列化与反序列化,错误码使用标准范围(-32600 ~ -32603 用于协议错误,-32000 ~ -32099 用于业务错误)。
- Bearer Token 认证中间件:Token 由 admin 密码派生(HMAC)。未认证请求返回 JSON-RPC error code
-32001。
get_proxy_status tracer bullet 工具:作为第一个可用工具验证全链路。Claude Code 配置 MCP 后能查询 VibeGuard 代理是否在线、监听地址、启动时间、统计信息。
- 配置开关:
config.yaml 新增 mcp.enabled(默认 true)。
端到端可验证:用户配置 Claude Code MCP → 调用 get_proxy_status → 返回代理状态。
Acceptance criteria
Blocked by
None - can start immediately
What to build
在 VibeGuard 代理进程中内嵌一个 MCP Server,通过 Streamable HTTP 协议暴露
POST /mcp端点。该端点复用现有代理端口127.0.0.1:28657,与 Admin 面板共享 HTTP 服务。本切片是后续所有 MCP 工具的骨架,需实现:
-32001。get_proxy_statustracer bullet 工具:作为第一个可用工具验证全链路。Claude Code 配置 MCP 后能查询 VibeGuard 代理是否在线、监听地址、启动时间、统计信息。config.yaml新增mcp.enabled(默认true)。端到端可验证:用户配置 Claude Code MCP → 调用
get_proxy_status→ 返回代理状态。Acceptance criteria
POST /mcp端点正确解析 JSON-RPC 2.0 请求并路由到对应工具-32001(Unauthorized)get_proxy_status返回代理运行状态、监听端口、启动时间、请求统计mcp.enabled为false时 MCP 端点返回 404 或不可用Blocked by
None - can start immediately