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:
target
(default: “us”): Target regionimage
: Sandbox image (optional)auto_stop_interval
(default: “15”): Auto-stop interval in minutes (0 disables)
-
Destroy Sandbox
- Removes an existing Daytona sandbox
File Operations
-
Download File
- Downloads a file from the Daytona workspace
- Returns content as text or base64 encoded image
- Parameters:
file_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:
file_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 workspace
- Parameters:
folder_path
: Path to createmode
: Directory permissions (default: 0755)
-
Get File Info
- Retrieves information about a file
- Parameters:
file_path
: Path to the file
-
List Files
- Lists contents of a directory
- Parameters:
path
: Directory path (defaults to current directory)
-
Move File
- Moves or renames a file
- Parameters:
source_path
: Source locationdest_path
: Destination location
-
Delete File
- Removes a file or directory
- Parameters:
file_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:
port
: 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:
url
: 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:
command
: 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