DigitalOcean MCP Server

A Model Context Protocol server for DigitalOcean cloud infrastructure. Manage Droplets, databases, domains, and more — all through your AI assistant.
What Can You Do With It?
- Manage Droplets — list, create, get details, and delete Droplets
- Query Databases — list and inspect managed database clusters
- Handle Domains — list, create, and delete domain records
- Explore Infrastructure — browse available regions and Droplet sizes with pricing
- Check Account — view account info and usage limits
Table of Contents
Prerequisites
Installation
Using uv (recommended)
uv tool install mcp-server-digitalocean
Using pip
pip install mcp-server-digitalocean
Setup
1. Generate Your API Token
Go to DigitalOcean API Tokens and create a new Personal Access Token.
2. Add the Server to Your MCP Client
Add this JSON snippet to your client's MCP config file:
{
"mcpServers": {
"digitalocean": {
"command": "uvx",
"args": ["mcp-server-digitalocean"],
"env": {
"DIGITALOCEAN_TOKEN": "YOUR_DO_TOKEN"
}
}
}
}
Then follow the instructions for your specific client:
Claude Desktop
- Go to Settings > Developer > Edit Config
- Add the snippet above to
claude_desktop_config.json
- Replace
YOUR_DO_TOKEN with your token
- Save and restart Claude Desktop
- You'll see "digitalocean" listed as an available server
Cursor
- Go to Settings > Cursor Settings > MCP > Add a new global MCP server
- Cursor will open
~/.cursor/mcp.json
- Add the snippet above to this JSON file
- Replace
YOUR_DO_TOKEN with your token
- Save and return to MCP Settings
Windsurf
- Go to Settings > Windsurf Settings > Cascade > MCP > Add Server > Add custom server
- Windsurf will open
~/.codeium/windsurf/mcp_config.json
- Add the snippet above to this JSON file
- Replace
YOUR_DO_TOKEN with your token
- Save and return to MCP Settings
Claude Code
- Run in your terminal:
claude mcp add digitalocean -- uvx mcp-server-digitalocean
- Set the environment variable:
export DIGITALOCEAN_TOKEN="your-token-here"
| Category | Tools |
|---|
| Account | get_account_info |
| Droplets | list_droplets, get_droplet, create_droplet, delete_droplet |
| Databases | list_database_clusters, get_database_cluster |
| Domains | list_domains, create_domain, delete_domain |
| Infrastructure | list_regions, list_sizes |
Example Prompts
Once configured, try asking your assistant:
"List all my Droplets"
"Create a new 1GB Droplet in NYC1 running Ubuntu 24.04"
"Show me all available regions"
"List my database clusters"
"Delete droplet 42"
"What Droplet sizes are available and how much do they cost?"
Development
git clone https://github.com/truecallerabreham/mcp-server-digitalocean.git
cd mcp-server-digitalocean
uv sync
uv run pytest
uv run ruff check src/ tests/
uv run pyright
Troubleshooting
The server doesn't appear in your client?
- Make sure your JSON config is saved and valid (no trailing commas)
- Restart your MCP client (Claude, Cursor, Windsurf)
- Check that
uvx is in your PATH
Token not working?
Still having issues?
Test the server directly:
DIGITALOCEAN_TOKEN="your-token" uvx mcp-server-digitalocean
Contributing
Contributions are welcome! Bug reports, new features, and docs improvements are all appreciated.
- Fork this repo
- Create a branch (
git checkout -b feature/my-feature)
- Make your changes
- Run tests (
uv run pytest)
- Open a PR
License
This project is licensed under the MIT License.