项目简介
该项目是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在将 Anthropic 的 Claude Code 命令行工具的能力暴露给兼容 MCP 的 LLM 客户端(如 Claude Desktop)。它作为客户端和本地安装的 Claude Code CLI 之间的桥梁,接收 MCP 请求,调用 CLI,并将结果返回给客户端。
主要功能点
- 工具提供: 注册并提供一系列围绕代码操作的工具,包括代码解释、代码评审、代码修复、代码编辑、代码测试生成以及通用查询。
- 请求处理: 接收来自 MCP 客户端的工具调用请求(JSON-RPC 格式)。
- 命令执行: 根据接收到的工具请求,构建并执行相应的本地 Claude Code CLI 命令。
- 数据传输优化: 采用 Base64 编码处理输入和输出中的特殊字符,提高稳定性和兼容性。
- 结果返回: 将 Claude Code CLI 的执行结果封装为 MCP 响应格式返回给客户端。
- 日志记录: 支持将服务器运行日志输出到文件或控制台,便于调试和监控。
安装步骤
该服务器可以通过几种方式安装和运行:
- 使用 npx (推荐): 无需全局安装,直接运行:
npx @kunihiros/claude-code-mcp - 全局安装:
安装后可直接运行命令:npm install -g claude-code-mcpclaude-code-mcp - 本地安装 (开发用): 克隆仓库,安装依赖,构建后运行:
git clone https://github.com/KunihiroS/claude-code-mcp.git cd claude-code-mcp/claude-code-server npm install npm run build node build/index.js
前置条件:
- 已安装 Node.js (推荐 v18+)。
- 已安装 npm 或 yarn。
- 已在本地安装 Claude Code 命令行工具并完成授权。
服务器配置 (在MCP客户端/Host中配置)
MCP 服务器通过 MCP 客户端(Host)启动和管理。您需要在您的 MCP 客户端应用程序的设置中添加此服务器的配置信息。配置内容通常是一个 JSON 结构,用于告诉客户端如何启动并连接到此服务器。
关键配置信息包括:
- 服务器名称: 用于标识此 MCP 服务器,例如 '"claude-code-server"'。
- 启动命令 ('command'): 实际执行的命令,例如 '"npx"' 或 '"claude-code-mcp"' (如果全局安装)。
- 启动参数 ('args'): 传递给启动命令的参数,例如使用 npx 时的 '["-y", "@kunihiros/claude-code-mcp"]'。
- 环境变量 ('env'): 最重要的配置项是设置 'CLAUDE_BIN' 环境变量,其值必须是您本地安装的 Claude Code CLI 可执行文件的绝对路径。例如:'"CLAUDE_BIN": "/home/youruser/.claude/bin/claude"' 或 'C:\Users\YourUser\AppData\Local\bin\claude.exe'。您也可以在此设置 'LOG_LEVEL' 控制日志详细度。
- 是否禁用 ('disabled'): 布尔值,控制是否启用此服务器。
MCP 客户端会使用这些配置来启动 'claude-code-mcp' 进程,并通过标准输入/输出来进行 MCP 通信。
注意: 如果不通过 MCP Host 设置 'CLAUDE_BIN' 环境变量,也可以创建 '.env' 文件(在运行命令的目录或用户主目录下 '.claude-code-mcp.env')来配置 'CLAUDE_BIN' 的路径,但这通常不如在 MCP Host 中统一管理方便。
基本使用方法
一旦在您的 MCP 客户端(Host)中配置并成功启动了 'claude-code-mcp' 服务器,客户端将能够发现并列出此服务器提供的工具。LLM 模型(通过客户端)可以根据需要选择并调用这些工具,传递必要的参数(如代码、描述等)。服务器会调用本地 Claude Code CLI 处理请求,并将CLI返回的结果通过 MCP 响应发送回客户端,LLM 即可利用这些结果来完成任务。用户通过与 MCP 客户端交互,间接使用了此服务器提供的 Claude Code 能力。
信息
分类
开发者工具