A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
An MCP server that can spawn linux sandbox containers using docker and run commands in them via a TTY interface.
A Model Context Protocol (MCP) server built with @smythos/sdk that can spawn an ephemeral Linux sandbox using Docker and execute commands inside it via an interactive TTY.
https://github.com/user-attachments/assets/b7b9b8c9-29da-43d1-8414-a45762245067
https://github.com/user-attachments/assets/db109ab2-65e2-40e8-be2b-fd0f01e4a217
Key Features:
When launched, it starts an MCP server over Server-Sent Events (SSE) and exposes a set of skills that MCP clients (e.g., Claude Code, gemini-cli) can call:
ubuntu:latest) and starts a TTY bash session.\r (carriage return). Use this to send shell commands terminated with \r.\r, \b, \t, \x1b, octal like \033).It uses dockerode under the hood and provides a status line UI in the terminal.
npm install
Create a vault file in one of these locations:
~/.smyth/.sre/vault.json (recommended)./.smyth/.sre/vault.json (project-local)Minimal content example:
{
"default": {
"openai": "sk-xxxxxx-Your-OpenAI-API-Key",
"anthropic": "",
"googleai": "",
"groq": "",
"togetherai": ""
}
}
npm run build
npm start
On start, you’ll see an SSE MCP URL printed like:
Smyth Docker Commander
--------------------------------
This MCP can spawn a linux sandbox container using docker and run commands in it.
--------------------------------
MCP url: http://127.0.0.1:PORT/mcp
Keep this process running; clients connect to that MCP URL.
MCP here stands for Model Context Protocol. This server exposes SSE endpoints for clients that support MCP.
Below are examples for configuring two popular clients: Claude Code and Gemini CLI.
{
"mcpServers": {
"smyth-docker-sandbox": {
"type": "sse",
"url": "http://127.0.0.1:PORT/mcp"
}
}
}
Common locations to edit configuration:
mcpServers and edit in JSON%APPDATA%/Claude/claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAfter updating settings, restart Claude Code/Desktop.
Create or edit settings.json and add an entry for this server.
User-scoped config locations:
Linux/macOS: ~/.gemini/settings.json
Windows: C:/Users/<YOU>/.gemini/settings.json
Command-based configuration:
{
"mcpServers": {
"smyth-docker-sandbox": {
"type": "sse",
"url": "http://127.0.0.1:PORT/mcp"
}
}
}
Restart gemini after editing settings.
Once the server is registered and connected, a client can orchestrate flows like:
SpawnContainerSendTTYInput with ttyInput: "ls -la\r", wait_seconds: 3SendTTYInputWithEscapeSequences for special key sequencesGetScreenContent to fetch the latest bufferStopAndDestroyContainer to cleanly end the sessionOne of the unique features of this MCP server is that it enables collaborative terminal sessions. While an AI client (Claude, Gemini, etc.) is interacting with the container through MCP calls, you can also directly interact with the same terminal session:
SendTTYInput or SendTTYInputWithEscapeSequencesThis allows for powerful "pair programming" scenarios where you and the AI can work together on the same terminal session, taking turns or collaborating on complex tasks.
ubuntu:latest; you can modify the image in src/index.ts when constructing DockerExecutor.npm run buildnpm startnpm run devThese are possible enhancements that we may add in the future. If you find this MCP server useful, we'd love your contributions to help implement any of these features:
gpt-4o) as a command-line argument or environment variableubuntu:latest)/bin/bashContributions and feature requests are welcome! Please open an issue or submit a pull request if you'd like to help implement any of these enhancements.
MIT
MCP server integration for DaVinci Resolve Studio
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba