Claude Sidecar MCP 后端服务器
使用说明
-
项目简介 Claude Sidecar 是一个与 Claude Code/Cowork 等集成的 MCP 服务端实现。它暴露了一组 MCP 服务,使 LLM 客户端能够通过统一的 JSON-RPC 调用访问资源、执行工具、获取和渲染 Prompt 提示,并在后端进行会话管理与能力声明。
-
主要功能点
- 资源与数据托管:后端提供对资源的读取与管理能力,便于 LLM 客户端在对话中获取上下文数据。
- 工具注册与执行:注册并暴露外部工具,LLM 客户端可以请求调用这些工具,并获得结果。
- Prompt 模板渲染:定义和渲染可定制的 Prompt 模板,支持不同的交互模式与上下文格式。
- JSON-RPC 通信:服务器通过 JSON-RPC 与客户端对接,请求包括读取资源、调用工具、获取 Prompt 等,响应返回标准化的 JSON。
- 会话与能力管理:负责会话追踪、能力声明以及状态管理,支持多模型、多客户端并发访问。
- 多传输协议支持:设计支持多种传输渠道,便于在不同环境下与 LLM 客户端进行通信。
- MCP 集成:可在 Claude Desktop/Cowork 场景中自动注册 MCP 服务器,工具与 Skill 资源在 UI 中原生暴露。
- 安全与扩展性:通过权限、会话隔离和插件/工具扩展机制,确保上下文服务的安全可控。
-
安装与运行
- 环境准备
- 运行环境:Node.js 18 及以上。
- 安装依赖
- 在仓库根目录执行:npm install
- 启动 MCP 服务
- 通过命令行启动 MCP 服务器,例如使用 Node 直接执行 MCP 服务入口,或者通过已有的 CLI 工具触发 MCP 模式。常见的启动方式是运行内置的 MCP 启动入口,触发 sidecar 脚本的 mcp 模式,从而启动 MCP 服务器并对外暴露 JSON-RPC 入口。
- 客户端配置
- MCP 客户端需要配置 MCP 服务器的启动命令与参数,以建立与 MCP 服务器的连接。此处给出配置信息示例,具体放在客户端的配置中(示例仅供理解,不需要在客户端实现中直接使用代码): { "server": "sidecar", "command": "node", "args": ["/path/to/sidecar/bin/sidecar.js", "mcp"], "description": "Claude Sidecar MCP 服务器,用于 Claude Desktop/Cowork 的并行上下文服务" } 注释说明:上述配置指定了 MCP 服务器的启动命令和参数,客户端通过该信息启动并连接 MCP 服务器。该客户端配置是用于描述连接方式,实际连接由客户端实现读取该字段后进行连接。
- 环境准备
-
基本使用方法
- MCP 请求与响应:客户端通过 JSON-RPC 发送请求,如读取资源、调用工具、获取 Prompt,服务器返回标准的 JSON-RPC 响应或通知。
- 会话管理:服务器维护会话状态,提供会话创建、读取、续订和中止等能力,方便多模型、多客户端协同工作。
- 安全性与扩展性:通过明确的能力声明和工具注册机制,支持对资源访问和工具调用进行权限控制,并可扩展新增资源、工具和 Prompts。
-
设备与集成要点
- MCP 集成:Sidecar 的 MCP 服务与 Claude Desktop/Cowork 的工作流无缝集成,侧边工具在 UI 中原生暴露,便于淘汰式扩展或替换实现。
- 传输通道:设计考虑多种传输协议,确保在本地开发环境和远程服务环境下都能稳定工作。
- 安全与合规:会话和任务数据在本地持久化,提供日志和错误处理机制,便于排错和审计。
-
参考与扩展
- 如需自定义新增模型、资源或工具,请在 MCP 服务内注册对应的实现,并通过 JSON-RPC 将能力暴露给客户端。
- 如需在 CI/CD 中验证 MCP 协议实现的正确性,可以参考仓库中的大量 MCP 集成测试用例和协议集成测试。
注意事项
- MCP 客户端的具体配置要与服务端提供的能力保持一致,确保正确的 command/args 组合能够启动 MCP 服务并建立通信。
- 由于 MCP 服务器是一种服务端实现,请确保在生产环境中对连接、鉴权、并发和资源访问进行适当的保护与监控。