一个将 Claude Code CLI 封装为 MCP 工具的服务器,允许 Cursor/Windsurf/Claude Desktop 等客户端以 one-shot 模式调用 Claude Code,自动绕过权限确认,实现 Agent 嵌套执行架构。
项目简介#
Claude Code MCP Server 是一个 MCP (Model Context Protocol) 服务器,将 Anthropic 官方的 Claude Code CLI 封装为 MCP 工具(claude_code),使任何支持 MCP 协议的客户端都能调用 Claude Code 的完整能力。通过 --dangerously-skip-permissions 标志运行 Claude Code,消除了交互式权限确认的中断。
核心能力#
暴露的工具: claude_code#
参数定义:
prompt(string, required): 发送给 Claude Code 的完整提示options(object, optional):tools(array of strings, optional): 指定启用的 Claude 工具,如Bash、Read、Write
关键特性#
| 特性 | 说明 |
|---|---|
| 权限自动绕过 | 通过 --dangerously-skip-permissions 标志,无需交互确认即可执行所有操作 |
| 工作目录解析 | 自动从 prompt 中解析 "Your work folder is..." 指令设置当前工作目录 |
| 超时扩展 | 默认执行超时 30 分钟,适合复杂任务 |
| 自定义 CLI 路径 | 支持通过环境变量指定 Claude CLI 的二进制名称或绝对路径 |
| 调试模式 | 通过 MCP_CLAUDE_DEBUG 环境变量启用详细日志 |
解决的问题#
- 文件编辑质量差: Claude/Windsurf/Cursor 等客户端在编辑文件时经常出错,Claude Code 的文件操作更快更准确
- 上下文浪费: 复杂操作可通过 Claude Code 批量执行,减少主 Agent 的 compact 次数
- 成本优化: 文件操作、Git 等基础任务不需要消耗主对话的高价模型 token
- 能力边界突破: Claude Code 能执行某些 Cursor/Windsurf 做不到的系统级操作
使用场景#
- 代码生成、分析与重构
- 文件系统操作(创建、读取、编辑、管理)
- 版本控制 (Git)
- 运行终端命令
- Web 搜索与摘要
- 复杂多步骤工作流(版本发布、changelog 更新)
- 修复语法错误文件
- GitHub 交互(创建 PR、检查 CI 状态)
环境变量配置#
| 变量名 | 默认值 | 说明 |
|---|---|---|
CLAUDE_CLI_NAME | claude | 覆盖 Claude CLI 二进制名称 |
CLAUDE_CLI_PATH | 自动检测 | Claude CLI 可执行文件的绝对路径 |
MCP_CLAUDE_DEBUG | false | 启用调试日志输出 |
快速开始#
前置要求#
- Node.js v20 或更高版本
- Claude CLI 已本地安装
安装 Claude CLI#
npm install -g @anthropic-ai/claude-code
claude --dangerously-skip-permissions
⚠️ 重要: 必须手动执行一次
claude --dangerously-skip-permissions以接受使用条款
MCP 客户端配置#
在 mcp.json 或 mcp_config.json 中添加:
{
"mcpServers": {
"claude-code-mcp": {
"command": "npx",
"args": ["-y", "@steipete/claude-code-mcp@latest"]
}
}
}
配置文件路径#
| 客户端 | macOS | Windows | Linux |
|---|---|---|---|
| Cursor | ~/.cursor/mcp.json | %APPDATA%\Cursor\mcp.json | ~/.config/cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | %APPDATA%\Codeium\windsurf\mcp_config.json | ~/.config/.codeium/windsurf/mcp_config.json |
调用示例#
{
"toolName": "claude_code:claude_code",
"arguments": {
"prompt": "Your work folder is /Users/dev/myproject\n\nRefactor the function foo in main.py to be async.",
"options": {
"tools": ["Bash", "Read", "Write"]
}
}
}
用例示例#
代码生成:
"Generate a Python script to parse CSV data and output JSON."
文件操作:
"Your work folder is /Users/steipete/my_project
Create a new file named 'config.yml' in the 'app/settings' directory..."
Git 操作:
"Your work folder is /Users/steipete/my_project
1. Stage 'src/main.java'.
2. Commit with message 'feat: Implement user authentication'.
3. Push to 'develop' branch."