使用说明
克劳德代码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,默认情况下此服务器会检查。
安装
- 克隆或下载此存储库:
git clone https://github.com/yourusername/claude-mcp-server.git
cd claude-mcp-server
- 安装依赖项(这也将安装
tsx用于直接执行TypeScript):
npm install
- 使启动脚本可执行:
chmod +x start.sh
连接到游标/Windsurf/Visual Studio代码
macOS
-
找到MCP配置文件:
~/.cursor/mcp.json如果此文件不存在,请创建它。
-
将服务器配置添加到文件中:
{
"mcpServers": {
"claude_code": {
"type": "stdio",
"command": "/absolute/path/to/claude-mcp-server/start.sh",
"args": []
}
}
}
确保更换 /absolute/path/to/claude-mcp-server 以及安装此服务器的实际路径。
视窗
-
找到MCP配置文件:
%APPDATA%\cursor\mcp.json如果此文件不存在,请创建它。
-
将服务器配置添加到文件中,确保使用Windows路径格式:
{
"mcpServers": {
"claude_code": {
"type": "stdio",
"command": "C:\\path\\to\\claude-mcp-server\\start.bat",
"args": []
}
}
}
对于Windows,您应该使用批处理文件(start.bat)而不是shell脚本。
Linux
-
找到MCP配置文件:
~/.config/cursor/mcp.json如果此文件不存在,请创建它。
-
将服务器配置添加到文件中:
{
"mcpServers": {
"claude_code": {
"type": "stdio",
"command": "/absolute/path/to/claude-mcp-server/start.sh",
"args": []
}
}
}
- 更新配置后,重新启动IDE以加载MCP服务器。
环境变量
您可以使用以下环境变量自定义服务器行为(在中编辑它们 start.sh 或 start.bat):
CLAUDE_CLI_PATH: 可选。 设置Claude CLI可执行文件的自定义绝对路径。如果设置并且路径指向现有文件,则将直接使用此路径。MCP_CLAUDE_DEBUG:设置为true为了实现从服务器到stderr的详细调试日志记录(例如。,MCP_CLAUDE_DEBUG=true ./start.sh).
Claude CLI发现顺序:
- 由指定的路径
CLAUDE_CLI_PATH环境变量(如果已设置且有效)。 - 类Unix系统的默认安装路径:
~/.claude/local/claude(其中~是用户的主目录)。对于Windows用户,此自动检查可能不适用;依赖CLAUDE_CLI_PATH或确保claude建议在系统中使用PATH。 - 默认为简单
claude,依赖于系统的PATH进行解决(如果使用此回退,将记录警告)。
连接到VSCode克劳德
要在VSCode中与Claude一起使用此MCP服务器:
-
在VSCode中安装Claude扩展
-
创建或编辑MCP设置文件:
~/.vscode/extensions/saoudrizwan.claude-dev/settings/cline_mcp_settings.json -
添加服务器配置:
{
"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."
}
}
工具说明
服务器提供两个工具:
-
工具名称:
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 CLICLAUDE_CLI_PATH环境变量,然后查看~/.claude/local/claude,最后又回到claude在系统PATH中。
- 描述:“直接使用Claude Code CLI执行给定的提示,绕过所有权限检查(
-
工具名称:
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 CLICLAUDE_CLI_PATH环境变量,然后查看~/.claude/local/claude,最后又回到claude在系统PATH中。
- 描述:“根据自然语言指令编辑指定文件,利用Claude Code CLI绕过所有编辑权限(
故障排除
- 工具未显示:启动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可执行。
- 确保正确安装了Claude CLI。对于类Unix系统,这通常是
- 权限错误:确保
start.sh脚本是可执行的,Node.js有权执行tsx以及Claude CLI(是否通过以下方式找到CLAUDE_CLI_PATH、默认路径或系统path)。
许可证
麻省理工学院
服务器测试完成。