Daytona MCP Interpreter Server

Provides an ephemeral MCP Python interpreter and related tools via Daytona sandboxes for code execution, file operations, and web previews.
  • typescript

18

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "nkkko-daytona-mcp-interpreter": {
      "command": "uv",
      "args": [
        "run",
        "src/daytona_mcp_interpreter/server.py"
      ],
      "env": {
        "MCP_VERIFY_SSL": "false",
        "MCP_DAYTONA_TARGET": "eu",
        "MCP_DAYTONA_API_KEY": "YOUR_API_KEY",
        "MCP_DAYTONA_TIMEOUT": "180.0",
        "MCP_DAYTONA_SERVER_URL": "https://app.daytona.io/api"
      }
    }
  }
}

Daytona MCP Interpreter lets you run Python code and shell commands inside secure, ephemeral Daytona sandboxes via the Model Context Protocol (MCP). It exposes tools for code execution, shell access, file transfer, Git operations, and web previews, all in isolated workspaces that are automatically cleaned up after use. This enables AI assistants to perform complex, real-world tasks safely and reproducibly.

How to use

You connect your MCP-compatible client to the Daytona interpreter to run code, manage files, clone repositories, and preview web servers inside temporary sandboxes. Each operation happens in a Daytona workspace that is created on demand and cleaned up after the task completes. Use the provided tools to execute Python code or shell commands, upload and download files, clone Git repositories, and generate web previews for running servers.

Common usage patterns include: running a Python snippet or script directly in the sandbox, performing exploratory data work, uploading configuration files, cloning a repository to inspect code, and launching a local web server inside the sandbox to generate a preview link. All interactions happen through the MCP client you use, which talks to the Daytona MCP Interpreter server over your chosen connection method.

How to install

Prerequisites: Ensure you have a runtime that can host MCP clients and a tool to run MCP servers locally. You will also need an API key for Daytona and access to the Daytona server URL if you intend to use the HTTP-based path.

  1. Install uv if you haven’t already. Use the installer provided by the Daytona ecosystem.
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Create and activate a virtual environment for your Python dependencies. If you have an existing environment, deactivate and remove it first.
deactivate
rm -rf .venv
uv venv
source .venv/bin/activate
(On Windows: .venv\Scripts\activate)
  1. Install the MCP client and Daytona SDK dependencies.
uv add "mcp[cli]" pydantic python-dotenv "daytona-sdk>=0.10.5"
  1. Set up environment variables for proper operation. The following variables are required or recommended.
MCP_DAYTONA_API_KEY=your_api_key
MCP_DAYTONA_SERVER_URL=https://app.daytona.io/api
MCP_DAYTONA_TIMEOUT=180.0
MCP_DAYTONA_TARGET=eu
MCP_VERIFY_SSL=false

Starting the Daytona MCP Interpreter server

Run the interpreter as a local stdio server. This starts the MCP server in a way that your MCP client can connect directly for command execution and tool operations.

uv run src/daytona_mcp_interpreter/server.py

Testing the server with an inspector

If you want to verify the server is reachable and responding, you can test it with an MCP inspector tool from your development environment.

npx @modelcontextprotocol/inspector \
  uv \
  --directory . \
  run \
  src/daytona_mcp_interpreter/server.py

Logs and troubleshooting

View runtime logs to diagnose startup issues or failed operations. Logs are typically written to a log file in /tmp.

tail -f /tmp/daytona-interpreter.log

Integration with Claude Desktop

Configure your MCP client to connect to the Daytona interpreter by providing the runtime command, arguments, and environment variables. This enables Claude Desktop or other MCP-compatible clients to access the Daytona Python interpreter tools.

{
  "mcpServers": {
    "daytona-interpreter": {
      "command": "/Users/USER/.local/bin/uv",
      "args": [
        "run",
        "src/daytona_mcp_interpreter/server.py"
      ],
      "env": {
        "PYTHONUNBUFFERED": "1",
        "MCP_DAYTONA_API_KEY": "api_key",
        "MCP_DAYTONA_SERVER_URL": "api_server_url",
        "MCP_DAYTONA_TIMEOUT": "30.0",
        "MCP_VERIFY_SSL": "false",
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
      }
    }
  }
}

Security and best practices

All executions happen inside ephemeral Daytona workspaces that are automatically cleaned up after use. Treat the environment as isolated per task, and avoid transferring secrets unless you encrypt or securely manage them within the sandbox.

Available tools

shell_exec

Executes shell commands inside the Daytona workspace

file_upload

Uploads files to the Daytona workspace, supporting text and binary content

file_download

Downloads files from the Daytona workspace with options for large files, partial content, or text extraction

git_clone

Clones a Git repository into the Daytona workspace with options for branch, depth, and LFS support

web_preview

Generates a preview URL for web servers running inside the Daytona workspace

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational