Odel
mcp server digitalocean

mcp server digitalocean

Local
@truecallerabrehamPythonMITUpdated 1mo ago

MCP server for DigitalOcean — manage Droplets, databases, domains, and more

DigitalOcean MCP Server

PyPI version License: MIT Python 3.10+

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

  1. Go to Settings > Developer > Edit Config
  2. Add the snippet above to claude_desktop_config.json
  3. Replace YOUR_DO_TOKEN with your token
  4. Save and restart Claude Desktop
  5. You'll see "digitalocean" listed as an available server

Cursor

  1. Go to Settings > Cursor Settings > MCP > Add a new global MCP server
  2. Cursor will open ~/.cursor/mcp.json
  3. Add the snippet above to this JSON file
  4. Replace YOUR_DO_TOKEN with your token
  5. Save and return to MCP Settings

Windsurf

  1. Go to Settings > Windsurf Settings > Cascade > MCP > Add Server > Add custom server
  2. Windsurf will open ~/.codeium/windsurf/mcp_config.json
  3. Add the snippet above to this JSON file
  4. Replace YOUR_DO_TOKEN with your token
  5. Save and return to MCP Settings

Claude Code

  1. Run in your terminal:
claude mcp add digitalocean -- uvx mcp-server-digitalocean
  1. Set the environment variable:
export DIGITALOCEAN_TOKEN="your-token-here"

Available Tools

CategoryTools
Accountget_account_info
Dropletslist_droplets, get_droplet, create_droplet, delete_droplet
Databaseslist_database_clusters, get_database_cluster
Domainslist_domains, create_domain, delete_domain
Infrastructurelist_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

# Clone the repo
git clone https://github.com/truecallerabreham/mcp-server-digitalocean.git
cd mcp-server-digitalocean

# Install dependencies
uv sync

# Run tests
uv run pytest

# Run linter
uv run ruff check src/ tests/

# Type check
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.

  1. Fork this repo
  2. Create a branch (git checkout -b feature/my-feature)
  3. Make your changes
  4. Run tests (uv run pytest)
  5. Open a PR

License

This project is licensed under the MIT License.