README.mdβ’2.49 kB
# Code Executor MCP
**One MCP to orchestrate them all.** Progressive disclosure pattern - 98% token savings vs exposing all tools.
> Based on [Anthropic's Code Execution with MCP](https://www.anthropic.com/engineering/code-execution-with-mcp)
> Built for Claude Code. Untested on other MCP clients.
## Problem
47 MCP tools = 141k tokens just for schemas. Context exhausted before you start working.
## Solution
**Disable all MCPs. Enable only code-executor.**
2 tools (`executeTypescript`, `executePython`) access all other MCPs on-demand:
```typescript
// Claude writes this to access zen MCP
const result = await callMCPTool('mcp__zen__codereview', {...});
```
**Result:** 47 tools β 2 tools = 141k tokens β 1.6k tokens (98% reduction)
## When to Use
β
**Use if:**
- 3+ MCP servers (context bloat problem)
- Mix of local + remote + APIs
- Need audit logs, allowlisting, rate limiting
β **Skip if:**
- 1-2 MCPs (just enable them directly)
- Simple filesystem/git ops (use Node.js directly)
## Wrappers (Optional)
**Auto-discover tool parameters from MCP schemas:**
```bash
npm run generate-wrappers # Queries MCPs, generates ~/.code-executor/wrappers/*.ts
```
```typescript
// Before: Blind guessing
await callMCPTool('mcp__zen__thinkdeep', {...}); // What params?
// After: TypeScript-enforced parameters (auto-discovered from schema)
await thinkdeep(step, step_number, total_steps, ...)
```
Wrappers are auto-generated from `tools/list` schemas, not manually written.
## Features
- **Executors:** TypeScript (Deno), Python
- **Security:** Sandboxed, allowlist, audit logs, rate limiting
- **Config:** Auto-discovery, env vars, MCP integration
- **Quality:** TypeScript, 105 tests, 90%+ coverage
## Installation
```bash
# NPM
npm install -g code-executor-mcp
code-executor-mcp
# Or local dev
git clone https://github.com/aberemia24/code-executor-MCP.git
cd code-executor-mcp
npm install && npm run build
npm run server
# Docker (production)
docker-compose up -d
```
See [DOCKER_TESTING.md](DOCKER_TESTING.md) for Docker security details.
## Configuration
Add to `.mcp.json`:
```json
{
"mcpServers": {
"code-executor": {
"command": "node",
"args": ["/path/to/code-executor-mcp/dist/index.js"],
"env": {
"MCP_CONFIG_PATH": "/path/to/.mcp.json"
}
}
}
}
```
**Then disable all other MCPs. Enable only code-executor.**
## License
MIT
---
Full docs: [GitHub](https://github.com/aberemia24/code-executor-MCP)