Claude代码执行服务器

一个MCP服务器,允许绕过权限直接执行Claude代码,提供代码生成、文件编辑等功能,适用于开发环境集成。

  • by steipete
  • JavaScript
  • 本地部署
  • 1315 星标
  • 更新于
在 GitHub 查看 steipete/claude-code-mcp

使用说明

克劳德代码MCP服务器

一种MCP(模型上下文协议)服务器,允许在单次模式下运行Claude代码,并自动绕过权限。

概述

此MCP服务器提供了两个工具,LLM可以使用它们与Claude Code进行交互。当与Claude Desktop或其他MCP客户端集成时,它允许LLM:

  • 绕过所有权限运行Claude代码(使用 --dangerously-skip-permissions)
  • 在没有许可中断的情况下,以任何提示执行克劳德代码
  • 直接访问文件编辑功能
  • 默认情况下启用特定工具

先决条件

  • Node.js v16或更高版本
  • TypeScript(用于开发)
  • Claude CLI已安装并正常工作。确保Claude CLI已安装且可访问,最好通过运行 /doctor。这将安装/更新CLI以 ~/.claude/local/claude,默认情况下此服务器会检查。

安装

  1. 克隆或下载此存储库:
git clone https://github.com/yourusername/claude-mcp-server.git
cd claude-mcp-server
  1. 安装依赖项(这也将安装 tsx 用于直接执行TypeScript):
npm install
  1. 使启动脚本可执行:
chmod +x start.sh

连接到游标/Windsurf/Visual Studio代码

macOS

  1. 找到MCP配置文件:

    ~/.cursor/mcp.json
    

    如果此文件不存在,请创建它。

  2. 将服务器配置添加到文件中:

{
  "mcpServers": {
    "claude_code": {
      "type": "stdio",
      "command": "/absolute/path/to/claude-mcp-server/start.sh",
      "args": []
    }
  }
}

确保更换 /absolute/path/to/claude-mcp-server 以及安装此服务器的实际路径。

视窗

  1. 找到MCP配置文件:

    %APPDATA%\cursor\mcp.json
    

    如果此文件不存在,请创建它。

  2. 将服务器配置添加到文件中,确保使用Windows路径格式:

{
  "mcpServers": {
    "claude_code": {
      "type": "stdio",
      "command": "C:\\path\\to\\claude-mcp-server\\start.bat",
      "args": []
    }
  }
}

对于Windows,您应该使用批处理文件(start.bat)而不是shell脚本。

Linux

  1. 找到MCP配置文件:

    ~/.config/cursor/mcp.json
    

    如果此文件不存在,请创建它。

  2. 将服务器配置添加到文件中:

{
  "mcpServers": {
    "claude_code": {
      "type": "stdio",
      "command": "/absolute/path/to/claude-mcp-server/start.sh",
      "args": []
    }
  }
}
  1. 更新配置后,重新启动IDE以加载MCP服务器。

环境变量

您可以使用以下环境变量自定义服务器行为(在中编辑它们 start.sh 或 start.bat):

  • CLAUDE_CLI_PATH: 可选。 设置Claude CLI可执行文件的自定义绝对路径。如果设置并且路径指向现有文件,则将直接使用此路径。
  • MCP_CLAUDE_DEBUG:设置为 true 为了实现从服务器到stderr的详细调试日志记录(例如。, MCP_CLAUDE_DEBUG=true ./start.sh).

Claude CLI发现顺序:

  1. 由指定的路径 CLAUDE_CLI_PATH 环境变量(如果已设置且有效)。
  2. 类Unix系统的默认安装路径: ~/.claude/local/claude (其中 ~ 是用户的主目录)。对于Windows用户,此自动检查可能不适用;依赖 CLAUDE_CLI_PATH 或确保 claude 建议在系统中使用PATH。
  3. 默认为简单 claude,依赖于系统的PATH进行解决(如果使用此回退,将记录警告)。

连接到VSCode克劳德

要在VSCode中与Claude一起使用此MCP服务器:

  1. 在VSCode中安装Claude扩展

  2. 创建或编辑MCP设置文件:

    ~/.vscode/extensions/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    
  3. 添加服务器配置:

{
  "mcpServers": {
    "claude_code": {
      "command": "/absolute/path/to/claude-mcp-server/start.sh",
      "args": [],
      "disabled": false
    }
  }
}

用法

安装并连接到MCP客户端后,您可以使用以下格式调用工具:

Claude代码工具(重命名为 code)

{
  "tool_name": "code",
  "params": {
    "prompt": "Your prompt to Claude Code here",
    "options": {
      "tools": ["Bash", "Read", "Write"]
    }
  }
}

如果没有指定工具,服务器默认启用常用工具。

Claude文件编辑工具(重命名为 magic_file)

{
  "tool_name": "magic_file",
  "params": {
    "file_path": "/path/to/your/file.js",
    "instruction": "Refactor the processData function to use async/await instead of promises."
  }
}

工具说明

服务器提供两个工具:

  1. 工具名称: code

    • 描述:“直接使用Claude Code CLI执行给定的提示,绕过所有权限检查(--dangerously-skip-permissions).非常适合各种任务,包括:复杂的代码生成、分析和重构;执行网络搜索并总结内容;运行任意终端命令(例如。, open . 要打开Finder, open -a Calculator 打开应用程序,或 open https://example.com 在web浏览器中打开URL)。例如,当所有测试均为绿色时,您可以打开GitHub PR页面。无需交互式提示即可处理需要Claude CLI广泛功能的一般任务。 options.tools 可用于指定内部Claude工具(例如。, Bash, Read, Write);如果省略此项,则默认启用常用工具。"
    • 参数:
      • prompt (必填):发送给Claude Code的提示
      • options.tools (可选):要启用的特定工具数组
    • 实施:用途 claude --dangerously-skip-permissions (通过调用 child_process.spawn)绕过所有权限检查。服务器通过首先检查以下内容来定位Claude CLI CLAUDE_CLI_PATH 环境变量,然后查看 ~/.claude/local/claude,最后又回到 claude 在系统PATH中。
  2. 工具名称: magic_file

    • 描述:“根据自然语言指令编辑指定文件,利用Claude Code CLI绕过所有编辑权限(--dangerously-skip-permissions).最适合复杂或语义文件修改,在这些修改中,用简单的语言描述所需的更改比精确的逐行编辑更有效。需要绝对 file_path 以及描述性 instruction如果是通用的,这也是一个很好的选择 edit_file 该工具正在努力处理复杂的编辑或特定的文件类型。示例指令:'重构processData函数以使用async/await而不是promise。'"
    • 参数:
      • file_path (必填):要编辑的文件的绝对路径
      • instruction (必填):对文件进行编辑的自由文本描述
    • 实施:用途 claude --dangerously-skip-permissions (通过调用 child_process.spawn)启用编辑工具。服务器通过首先检查以下内容来定位Claude CLI CLAUDE_CLI_PATH 环境变量,然后查看 ~/.claude/local/claude,最后又回到 claude 在系统PATH中。

故障排除

  • 工具未显示:启动MCP服务器时,请检查Claude日志是否有错误。确保 start.sh 或 start.bat 可执行且 tsx 已安装并可运行(通常通过 npx).
  • 找不到命令/“错误:生成claude ENOENT”/“[警告]找不到claude CLI…在PATH中回退到“claude”…”:这意味着服务器找不到 claude 可通过 CLAUDE_CLI_PATH 环境变量(如果已设置),位于默认的类Unix位置(~/.claude/local/claude),或者在系统PATH中(如果它回落到刚好 'claude').
    • 确保正确安装了Claude CLI。对于类Unix系统,这通常是 ~/.claude/local/claude (通过运行验证 /doctor 在克劳德的语境中)。对于Windows,请确保它在您的系统PATH中或设置 CLAUDE_CLI_PATH.
    • 明确设置 CLAUDE_CLI_PATH 环境变量 start.sh 或 start.bat 走正确的绝对道路 claude 可执行。
  • 权限错误:确保 start.sh 脚本是可执行的,Node.js有权执行 tsx 以及Claude CLI(是否通过以下方式找到 CLAUDE_CLI_PATH、默认路径或系统path)。

许可证

麻省理工学院

服务器测试完成。