Self-hosted MCP server exposing Claude Code as an agentic AI tool over streamable HTTP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A runtime harness for Claude Code — the agentic coding CLI from Anthropic — running in a fully isolated Docker container with every dev tool pre-installed, passwordless sudo, docker-in-docker support, and --permission-mode bypassPermissions enabled by default.
v2.0.0 — rebased on
psyb0t/aicodebox. claudebox is now a thin child image of the shared aicodebox base (same pattern aspsyb0t/pibox). Every mode surface (API / Telegram / Cron / MCP) is inherited from the base and stays in lockstep with future base fixes. SeeCHANGELOG.mdfor the full migration guide (endpoint shape changes, env-var namespace, path renames — all mitigated by aliases + symlinks so existing configs keep working).
Runtime hardening (recommended docker run flags):
--cap-drop=ALL --cap-add=NET_BIND_SERVICE — drop every Linux capability, add back only bind-below-1024 if you actually need it.--security-opt no-new-privileges:true — block setuid privilege escalation inside the container.--memory=2g --cpus=2 --pids-limit=512 — cap runtime resource use so a runaway process can't starve the host.--read-only --tmpfs /tmp:rw,noexec,nosuid (only if you don't use /workspace for writes — otherwise skip).
The container drops from root to aicode (UID 1000) at boot via setpriv in the base entrypoint, so the process running your code is never root even without --user.claudebox wraps Claude Code with several distinct interfaces:
claude command, with persistent containers and automatic session resumption across runschat/completions adapter that lets LiteLLM, OpenAI SDKs, and any OpenAI-compatible client talk to Claude Code, complete with streaming SSE, multi-turn conversations, and multimodal image handlingBeyond just running Claude Code in Docker, claudebox adds skill injection (auto-load SKILL.md files into every session), init hooks, custom script directories, structured JSON logging, and a workspace management layer that handles multi-tenant isolation with automatic busy/idle tracking.
Renamed from
docker-claude-code: This project was previously calleddocker-claude-codewith the Docker image atpsyb0t/claude-code. Starting with v1.0.0, it isclaudebox— the Docker image is nowpsyb0t/claudebox, the default binary name isclaudebox, the GitHub repository ispsyb0t/docker-claudebox, and the SSH key directory defaults to~/.ssh/claudebox. If you were using the old names, update your image references, wrapper scripts, and SSH paths accordingly.
Docker installed and running. That's it.
The install script pulls the Docker image, generates SSH keys for git operations inside the container, downloads the wrapper script, and installs it as a command on your system.
v2 note: the variant naming flipped in v2.
latestis now the minimal image (was the full image pre-v2);latest-fullis the toolchain-loaded variant (waslatestpre-v2). TheCLAUDEBOX_MINIMAL=1opt-in from v1 is now a no-op — you already get minimal by default. SetCLAUDEBOX_FULL=1to opt into the toolchain image. Installing withCLAUDEBOX_FULL=1(as above) bakes the choice into the installed wrapper, so the full variant sticks for every run — you don't need to keep the env var set afterward.
Heads up on env vars:
VAR=x curl … | bashdoes not setVARfor the install script — bash semantics attach the var tocurlonly. Alwaysexportthe var first (or put it on thebashside of the pipe).
If you prefer not to pipe scripts to bash:
psyb0t/claudebox:latest (minimal, default)The default v2 image. Just enough to run Claude Code on top of the aicodebox base: Ubuntu 24.04, git/curl/wget/jq, Node.js 24 LTS + npm, Python 3.14 + uv, Docker CE. Claude has passwordless sudo, so it will install whatever else it needs on the fly via apt-get, pip, npm, etc. Smaller image, faster pull, first run may take longer while Claude sorts out its own tooling.
Claude Code is installed on first run, not baked into the image. Anthropic's Claude Code CLI is proprietary and can't be redistributed, so the image ships only the pinned version (
CLAUDEBOX_CLAUDE_VERSION, default set at build) and the entrypoint runsnpm install -g @anthropic-ai/claude-code@<version>from npm the first time a fresh container starts. This means the published image redistributes none of Anthropic's software, and each container pulls Claude Code straight from npm. First container start needs network and takes a few extra seconds; warm restarts skip it. To pin a different version, setCLAUDEBOX_CLAUDE_VERSIONatdocker run.
Use /aicodebox-init.d/*.sh hooks (see Init Hooks) to pre-install your tools on first container create so Claude doesn't burn tokens figuring out package management.
psyb0t/claudebox:latest-full (toolchain-loaded)Everything pre-installed. Layered on top of the minimal image: Go 1.26.7, Python 3.14.7 via pyenv, Node.js dev tools, C/C++ toolchain, terraform, kubectl, helm, gh, database clients (sqlite/postgres/mysql/redis), editors (vim/nano/htop/tmux), linters + formatters (flake8/black/isort/pyright/mypy/ruff/eslint/prettier/gofumpt/…). Larger image but Claude wakes up ready.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/claudebox)<a href="https://allmcps.com/mcp/claudebox"><img src="https://allmcps.com/api/badge/claudebox?style=directory" alt="Claudebox on AllMCPs" /></a>