e2b-mcp-server
by yukkit
README.md


# E2B MCP Server
[](https://smithery.ai/server/e2b)
[](https://www.npmjs.com/package/@yukkit/e2b-mcp-server)
[](LICENSE)
[](https://github.com/yukkit/e2b-mcp-server/actions)
Production-grade [Model Context Protocol](https://modelcontextprotocol.io) servers that enable AI assistants to execute code securely in isolated [E2B](https://e2b.dev) sandboxes. Bring powerful code interpretation capabilities to Claude Desktop, Cline, and other MCP-compatible clients.
[Demo](https://x.com/mishushakov/status/1863286108433317958) • [JavaScript Docs](packages/js/README.md) • [Python Docs](packages/python/README.md) • [E2B Platform](https://e2b.dev)
## Overview
This repository contains production-ready MCP server implementations in both JavaScript/TypeScript and Python. Each server provides a complete toolkit for AI models to interact with secure, isolated code execution environments.
**What you can do:**
- Execute Python code in Jupyter-style notebooks
- Run shell commands in isolated environments
- Manage files (read, write, list) within sandboxes
- Expose services running in sandboxes via public URLs
- Manage multiple concurrent sandboxes with automatic cleanup
- Monitor sandbox usage with comprehensive logging
**Key features:**
- **10 Production Tools**: Complete sandbox interaction toolkit
- **Resource Management**: Automatic lifecycle management with configurable limits
- **Type Safety**: Full validation with Zod (JS) and Pydantic (Python)
- **Robust Error Handling**: Clear diagnostics and graceful degradation
- **Production Logging**: Multi-level logging with timestamps
- **Graceful Shutdown**: Proper cleanup on termination signals
## Quick Start
### Manual Installation
#### JavaScript/TypeScript
```bash
# With npx (no installation required)
npx @yukkit/e2b-mcp-server
# Or install globally
npm install -g @yukkit/e2b-mcp-server
```
#### Python
```bash
# With uv (recommended)
uv pip install e2b-mcp-server
# With pip
pip install e2b-mcp-server
```
## Configuration
### Claude Desktop
Add to your Claude Desktop config:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"e2b": {
"command": "npx",
"args": ["-y", "@yukkit/e2b-mcp-server"],
"env": {
"E2B_API_KEY": "your-api-key-here"
}
}
}
}
```
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `E2B_API_KEY` | Your E2B API key ([get one here](https://e2b.dev)) | Required |
| `MAX_ACTIVE_SANDBOXES` | Maximum concurrent sandboxes | `10` |
| `LOG_LEVEL` | Logging level (DEBUG, INFO, WARNING, ERROR) | `INFO` |
> [!IMPORTANT]
> Get your free E2B API key at [e2b.dev](https://e2b.dev)
## Available Tools
| Tool | Description | Parameters |
|------|-------------|------------|
| **create_sandbox** | Create a new isolated sandbox | `secure` (default: true), `timeoutMs` (optional) |
| **run_code** | Execute Python code in a sandbox | `code`, `sandboxId` (optional) |
| **run_command** | Run shell commands | `command`, `sandboxId`, `background` |
| **read_file** | Read file contents | `filePath`, `sandboxId` |
| **write_file** | Write to a file | `filePath`, `fileContents`, `sandboxId` |
| **list_files** | List directory contents | `folderPath`, `sandboxId` |
| **get_sandbox_url** | Get public URL for a port | `port`, `sandboxId` |
| **get_file_download_url** | Get download URL for a file | `filePath`, `sandboxId`, `useSignatureExpiration` (default: 300000ms / 5 min) |
| **list_sandbox_ids** | List all active sandboxes | None |
| **kill_sandbox** | Terminate a sandbox | `sandboxId` |
## Language Support
Choose the implementation that fits your stack:
### JavaScript/TypeScript
- Built with TypeScript for type safety
- Uses Zod for input validation
- Compatible with Node.js 20+
- Full documentation: [packages/js/README.md](packages/js/README.md)
**Install:**
```bash
npm install @yukkit/e2b-mcp-server
```
### Python
- Type-safe with full type annotations
- Pydantic models for validation
- Python 3.10+ required
- Full documentation: [packages/python/README.md](packages/python/README.md)
**Install:**
```bash
pip install e2b-mcp-server
```
## Development
This is a monorepo managed with pnpm workspaces.
### Prerequisites
- Node.js 20+
- pnpm 9+
- Python 3.10+ (for Python package)
- Poetry (for Python package)
### Setup
```bash
# Clone the repository
git clone https://github.com/e2b-dev/mcp-server.git
cd mcp-server
# Install dependencies
pnpm install
# Build all packages
pnpm build
```
### Project Structure
```
.
├── packages/
│ ├── js/ # TypeScript/JavaScript implementation
│ │ ├── src/ # Source code
│ │ └── build/ # Compiled output
│ └── python/ # Python implementation
│ └── e2b_mcp_server/ # Package source
├── .changeset/ # Changesets for version management
└── .github/ # CI/CD workflows
```
### Publishing
This project uses [Changesets](https://github.com/changesets/changesets) for version management:
```bash
# Create a changeset
pnpm changeset
# Version packages
pnpm run version
# Publish to npm/PyPI
pnpm run publish
```
## Use Cases
**AI-Powered Code Assistants**: Let AI models write and execute code with immediate feedback
**Data Analysis**: Enable AI to analyze datasets, create visualizations, and generate reports
**DevOps Automation**: Allow AI to interact with systems and run diagnostic commands
**Educational Tools**: Create interactive coding tutorials with safe execution environments
**API Testing**: Let AI test and validate APIs by running actual requests
**Code Generation & Testing**: Generate code and verify it works through execution
## Resources
- [E2B Documentation](https://e2b.dev/docs)
- [Model Context Protocol](https://modelcontextprotocol.io)
- [E2B Code Interpreter](https://github.com/e2b-dev/code-interpreter)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [Claude Desktop](https://claude.ai/download)
- [Smithery MCP Registry](https://smithery.ai)
## Support
- **Documentation**: Check the [JavaScript](packages/js/README.md) or [Python](packages/python/README.md) READMEs
- **Issues**: [Open an issue](https://github.com/yukkit/e2b-mcp-server/issues)
- **E2B Platform**: [support@e2b.dev](mailto:support@e2b.dev)
- **Discord**: Join the [E2B Community](https://discord.gg/U7KEcGErtQ)
## Security
E2B sandboxes provide secure, isolated execution environments. However, always:
- Keep your E2B API key secure and never commit it to version control
- Use environment variables for sensitive configuration
- Monitor sandbox usage and set appropriate limits
- Review code before execution in production environments
For security concerns, please email [security@e2b.dev](mailto:security@e2b.dev).
## Contributing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
1. Fork the repository
2. Create a feature branch
3. Make your changes with tests
4. Create a changeset: `pnpm changeset`
5. Submit a pull request
## License
Apache 2.0 - See [LICENSE](LICENSE) for details.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues