Claude Code Harness MCP 服务器集成(Serena MCP)
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了与 MCP 客户端对接的服务器端组件(以 Serena MCP 为代表),提供一个可运行的 MCP 服务端框架,用于向 LLM 客户端暴露资源、工具、以及可渲染的 Prompt 模板,并通过 JSON-RPC 进行请求/响应通信。
-
主要功能点
- MCP 请求/响应支持:按照 MCP 规范实现 JSON-RPC 的请求/响应处理,支持资源读取、工具注册与执行、以及 Prompt 的获取与渲染。
- 资源与工具托管:服务器端能够托管 Resources(数据访问能力)以及 Tools(外部功能接口)的注册与执行逻辑。
- Prompt 模板渲染:提供可定制化的 Prompt 模板渲染,帮助 LLM 客户端以一致的格式获得所需上下文与指令集。
- 会话与能力声明:实现会话管理、能力声明,以及对不同客户端能力的自适应支持。
- 传输协议扩展:在实现中设计了多种传输通道(如 Stdio、SSE、WebSocket 等)的占位能力,便于在真实环境中替换为具体实现。
- 与 Serena MCP 服务的集成:示例实现通过启动外部 Serena MCP 服务进程来提供实际的 MCP 服务能力,客户端通过 JSON-RPC 调用来使用工具与资源。
-
安装与运行
- 该 MCP 服务的核心能力包含在 SerenaMCPServer 及相关 MCP 客户端实现中,运行依赖外部 MCP 服务进程(如 Serena MCP 服务)。请确保你的环境中具备 Node.js 运行环境与必要的 MCP 服务依赖。
- SerenaMCPServer 的启动会通过一个工作目录(work_dir)来定位工作空间,并可选传入 pyright 配置文件路径以对代码进行静态检查集成。
- 提示:在测试环境中,启动过程通常会通过模拟进程来进行单元测试,实际运行需真实启动 Serena MCP 服务进程并保持与客户端的 IO 通道。
-
服务器配置(示例性 JSON 配置,适用于 MCP 客户端连接) 注:以下配置仅用于示意,实际使用应以仓库提供的实现为准并结合你的环境路径与工作目录进行调整。配置文件中的 server 名称与启动参数应与 Serena MCP 服务器的实现保持一致。JSON 中的注释用于解释字段含义,实际配置请去除注释后使用。
{ "mcpServers": { "serena-mcp": { "type": "stdio", "command": "npx", "args": [ "@anthropic/serena-mcp", "--workspace", "<workspace_directory>" ], "description": "启动 Serena MCP 服务并通过标准输入/输出进行 JSON-RPC 通信" }, "task-master-ai": { "type": "stdio", "command": "node", "args": [ "/path/to/task-master-ai/mcp-server.js" ], "description": "Task Master MCP 服务(可选,可扩展为多服务器)" } } }
说明
- server-name:MCP 服务器的唯一标识,用于客户端在配置中引用。
- command:启动服务器进程的主命令。
- args:传递给启动命令的参数数组。
- type:传输类型,示例为 stdio,可扩展为 SSE、WebSocket 等。
- workspace_directory: Serena MCP 服务所使用的工作空间路径,请替换为你实际的工作目录。
- 该配置用于 MCP 客户端将服务器作为外部服务接入,客户端需要以该配置中的 server 名称、命令与参数来建立连接。
-
基本使用方法
- 启动与连接
- 在服务器环境中,根据上述配置启动 Serena MCP 服务器(示例中是 serena-mcp),确保工作目录及可执行环境正确无误。
- 使用 MCP 客户端(仓库内提供的 MCPClient 等组件)通过 JSON-RPC 方式向 Serena MCP 服务器发送请求,例如读取资源、调用工具、获取 Prompt 等。
- 资源与工具调用
- 通过 MCP 客户端的对应接口,向服务器请求资源数据,或执行已注册的工具,返回的结果以标准的 JSON-RPC 响应格式返还。
- 安全与扩展
- 服务器实现支持会话管理、能力声明,便于在多轮对话中维持上下文与能力可用性。
- 如需扩展传输协议,可在配置中增加新的 server-type(如 SSE、WebSocket)并实现对应的 IO 适配层。
- 启动与连接
-
运行时注意
- 生产环境中请确保对 Serena MCP 服务的网络与权限进行适当控制,避免未授权访问。
- 将敏感密钥放在安全的凭据管理中,避免将配置文件直接提交到版本控制系统。
-
关键词 LLM 上下文服务, 资源与工具管理, JSON-RPC 通信, 外部工具调用, 协同代理
-
分类ID 6