Daytona MCP Server
The Daytona Model Context Protocol (MCP) Server enables AI agents to interact with Daytona’s features programmatically. This guide covers how to set up and use the MCP server with various AI agents.
Prerequisites
Before getting started, ensure you have:
- A Daytona account
- Daytona CLI installed
- A compatible AI agent (Claude Desktop App, Claude Code, Cursor, or Windsurf)
Installation and Setup
1. Install Daytona CLI
brew install daytonaio/cli/daytona
powershell -Command "irm https://get.daytona.io/windows | iex"
2. Authenticate with Daytona
daytona login
3. Initialize MCP Server
Initialize the Daytona MCP server with your preferred AI agent:
daytona mcp init [claude/cursor/windsurf]
4. Open Your AI Agent
After initialization, open your AI agent application to begin using Daytona features.
Integration with Other AI Agents
To integrate Daytona MCP with other AI agents, follow these steps:
- Generate the MCP configuration:
daytona mcp config
This command outputs a JSON configuration that you can copy into your agent’s settings:
{ "mcpServers": { "daytona-mcp": { "command": "daytona", "args": ["mcp", "start"], "env": { "HOME": "${HOME}", "PATH": "${HOME}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin" }, "logFile": "${HOME}/Library/Logs/daytona/daytona-mcp-server.log" } }}
- Open or restart your AI agent to apply the configuration.
Available Tools
Sandbox Management
-
Create Sandbox
- Creates a new Daytona sandbox
- Parameters:
name
: Name of the sandbox (optional)target
(default: “us”): Target regionsnapshot
: Snapshot for the sandbox (optional)auto_stop_interval
(default: “15”): Auto-stop interval in minutes (0 disables)auto_archive_interval
(default: “10080”): Auto-archive interval in minutes (0 means the maximum interval will be used)auto_delete_interval
(default: “-1”): Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)volumes
: Volumes to attach to the sandbox (optional)network_block_all
: Whether to block all network access for the sandbox (optional)network_allow_list
: Comma-separated list of allowed CIDR network addresses for the sandbox (optional)public
: Whether the sandbox http preview is publicly accessible (optional)cpu
: CPU cores allocated to the sandbox (optional)gpu
: GPU units allocated to the sandbox (optional)memory
: Memory allocated to the sandbox in GB (optional)disk
: Disk space allocated to the sandbox in GB (optional)user
: User associated with the sandbox (optional)build_info
: Build information for the sandbox (optional)env
: Environment variables for the sandbox (optional)labels
: Labels for the sandbox (optional)
-
Destroy Sandbox
- Removes an existing Daytona sandbox
- Parameters:
id
: ID of the sandbox to destroy
File Operations
-
Download File
- Downloads a file from the Daytona sandbox
- Returns content as text or base64 encoded image
- Parameters:
id
: ID of the sandbox to download the file fromfile_path
: Path to the file
-
Upload File
- Uploads a file to the Daytona sandbox
- Supports text or base64-encoded binary content
- Creates necessary parent directories automatically
- Files persist during the session with appropriate permissions
- Supports overwrite controls and maintains original file formats
- Parameters:
id
: ID of the sandbox to upload the file tofile_path
: Path to the file to uploadcontent
: Content of the file to uploadencoding
: Encoding of the file to uploadoverwrite
: Overwrite the file if it already exists
-
Create Folder
- Creates a new directory in the sandbox
- Parameters:
id
: ID of the sandbox to create the folder infolder_path
: Path to createmode
: Directory permissions (default: 0755)
-
Get File Info
- Retrieves information about a file
- Parameters:
id
: ID of the sandbox to get the file information fromfile_path
: Path to the file
-
List Files
- Lists contents of a directory
- Parameters:
id
: ID of the sandbox to list the files frompath
: Directory path (defaults to current directory)
-
Move File
- Moves or renames a file
- Parameters:
id
: ID of the sandbox to move the file insource_path
: Source locationdest_path
: Destination location
-
Delete File
- Removes a file or directory
- Parameters:
id
: ID of the sandbox to delete the file infile_path
: Path to delete
Preview
- Preview Link
- Generates accessible preview URLs for web applications
- Creates secure tunnels to expose local ports externally
- Validates server status on specified ports
- Provides diagnostic information for troubleshooting
- Supports custom descriptions and metadata for service organization
- Parameters:
id
: ID of the sandbox to preview the link fromport
: Port to exposedescription
: Description of the servicecheck_server
: Check if a server is running on the port
Git Operations
- Git Clone
- Clones a Git repository
- Parameters:
id
: ID of the sandbox to clone the repository inurl
: Repository URLpath
: Target directory (defaults to current)branch
: Branch to clonecommit_id
: Specific commit to cloneusername
: Git usernamepassword
: Git password
Command Execution
- Execute Command
- Runs shell commands in the Daytona environment
- Returns stdout, stderr, and exit code
- Commands run with sandbox user permissions
- Parameters:
id
: ID of the sandbox to execute the command incommand
: Command to execute
Troubleshooting
Common issues and solutions:
-
Authentication Issues
- Run
daytona login
to refresh credentials
- Run
-
Connection Errors
- Verify MCP server configuration
- Check server status
-
Sandbox Errors
- Use
daytona sandbox list
to check sandbox status
- Use
Support
For additional assistance:
- Visit daytona.io
- Contact support at support@daytona.io