容器化Claude代码环境

提供带有MCP服务器支持的沙盒化Claude代码环境,用于安全隔离开发与API调用。

  • by louiemontes
  • Dockerfile
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 louiemontes/containerized-mcp-yolo-setup

使用说明

带MCP的容器化克劳德代码

沙盒克劳德代码环境,支持MCP服务器。

先决条件

Docker&Docker编写

你需要在你的机器上安装并运行Docker:

验证安装:

docker --version
docker-compose --version

无烟煤API密钥

您需要来自Anthropic控制台的API密钥(不是Claude订阅):

  1. 首选 Anthropic 控制台
  2. 注册或登录
  3. 导航至 API密钥
  4. 点击“创建密钥”
  5. 复制您的密钥(以开头 sk-ant-...)

备注:这使用付费即用API计费,而不是您的Claude.ai订阅。确保在控制台中监控使用情况,以避免意外收费。

警告:切勿共享或签入您的API密钥。把它当作密码。

更大的警告:此设置绕过容器内Claude的所有权限。请勿在生产机器上或使用敏感数据运行此程序。使用风险自负。

更大的警告:在Anthropic控制台中设置API键的限制,以防止成本失控。例如,将每日限额设置为5美元或1000个代币。

设置

  1. 按照示例填写两个env文件(均为gitignored):
agent.env
gateway.env
  • agent.env 已加载到 克劳德密码 集装箱。代理人可以 阅读这里的任何内容并采取行动,全权代理(它与 --dangerously-skip-permissions)--只要保守秘密,你就没事了 给它最大的机会,就像你的 ANTHROPIC_API_KEY 或一个 细粒度的GitHub PAT适用于特定的仓库。填写 ANTHROPIC_API_KEY 此处(参见 API密钥). 还设置 AGENT_GIT_NAME/AGENT_GIT_EMAIL --这些成为容器的 git config --global user.name/user.email 在启动时,所以提交 代理商的品牌归因于它,而不是你。
  • gateway.env 已加载到 mcp网关 仅限集装箱。这 理想情况下,代理永远不会直接看到这些值——它只能调用狭义 中定义的工具 gateway/server.js,使用秘密 代理人的代表。
  1. 将别名添加到 .zshrc:
alias cdev='docker-compose down && docker-compose build && docker-compose up -d && docker-compose exec claude-code bash'
  1. 重新加载你的shell:
source ~/.zshrc
  1. 克隆此仓库并运行:
cdev
  1. 集装箱内部:
c  # Starts Claude Code
  1. 对API键提示说“是”(每次重建一次)

特性

  • ✅ 隔离沙箱(仅限访问 ./workspace 目录)
  • ✅ MCP网关示例(gateway/server.js)用于凭证隔离的工具调用
  • ✅ 通过绕过权限 --dangerously-skip-permissions
  • ✅ 非root用户安全
  • ✅ 一个命令rebuild和exec

测试MCP

内部克劳德代码:

/mcp   # View MCP servers

添加更多MCP服务器

编辑 mcpServers Dockerfile中的部分 .claude.json 创造。对于一个 需要密钥的服务器,请添加工具 gateway/server.js 相反 凭证永远不会直接到达代理容器。