{
  "markdown": "<!-- mcp-name: io.github.truecallerabreham/mcp-server-digitalocean -->\n\n# DigitalOcean MCP Server\n\n[![PyPI version](https://img.shields.io/pypi/v/mcp-server-digitalocean.svg)](https://pypi.org/project/mcp-server-digitalocean/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for [DigitalOcean](https://www.digitalocean.com/) cloud infrastructure. Manage Droplets, databases, domains, and more — all through your AI assistant.\n\n## What Can You Do With It?\n\n- **Manage Droplets** — list, create, get details, and delete Droplets\n- **Query Databases** — list and inspect managed database clusters\n- **Handle Domains** — list, create, and delete domain records\n- **Explore Infrastructure** — browse available regions and Droplet sizes with pricing\n- **Check Account** — view account info and usage limits\n\n## Table of Contents\n\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Setup](#setup)\n  - [Generate Your API Token](#1-generate-your-api-token)\n  - [Add the Server to Your MCP Client](#2-add-the-server-to-your-mcp-client)\n    - [Claude Desktop](#claude-desktop)\n    - [Cursor](#cursor)\n    - [Windsurf](#windsurf)\n    - [Claude Code](#claude-code)\n- [Available Tools](#available-tools)\n- [Example Prompts](#example-prompts)\n- [Development](#development)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Prerequisites\n\n- **Python** >= 3.10\n- A [DigitalOcean Personal Access Token](https://cloud.digitalocean.com/account/api/tokens)\n- A supported MCP client:\n  - [Claude Desktop](https://claude.ai/download)\n  - [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview)\n  - [Cursor](https://docs.cursor.com/context/model-context-protocol)\n  - [Windsurf](https://windsurf.com)\n\n---\n\n## Installation\n\n### Using uv (recommended)\n\n```bash\nuv tool install mcp-server-digitalocean\n```\n\n### Using pip\n\n```bash\npip install mcp-server-digitalocean\n```\n\n---\n\n## Setup\n\n### 1. Generate Your API Token\n\nGo to [DigitalOcean API Tokens](https://cloud.digitalocean.com/account/api/tokens) and create a new **Personal Access Token**.\n\n### 2. Add the Server to Your MCP Client\n\nAdd this JSON snippet to your client's MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"digitalocean\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-digitalocean\"],\n      \"env\": {\n        \"DIGITALOCEAN_TOKEN\": \"YOUR_DO_TOKEN\"\n      }\n    }\n  }\n}\n```\n\nThen follow the instructions for your specific client:\n\n### Claude Desktop\n\n1. Go to **Settings > Developer > Edit Config**\n2. Add the snippet above to `claude_desktop_config.json`\n3. Replace `YOUR_DO_TOKEN` with your token\n4. Save and **restart Claude Desktop**\n5. You'll see \"digitalocean\" listed as an available server\n\n### Cursor\n\n1. Go to **Settings > Cursor Settings > MCP > Add a new global MCP server**\n2. Cursor will open `~/.cursor/mcp.json`\n3. Add the snippet above to this JSON file\n4. Replace `YOUR_DO_TOKEN` with your token\n5. Save and return to MCP Settings\n\n### Windsurf\n\n1. Go to **Settings > Windsurf Settings > Cascade > MCP > Add Server > Add custom server**\n2. Windsurf will open `~/.codeium/windsurf/mcp_config.json`\n3. Add the snippet above to this JSON file\n4. Replace `YOUR_DO_TOKEN` with your token\n5. Save and return to MCP Settings\n\n### Claude Code\n\n1. Run in your terminal:\n\n```bash\nclaude mcp add digitalocean -- uvx mcp-server-digitalocean\n```\n\n2. Set the environment variable:\n\n```bash\nexport DIGITALOCEAN_TOKEN=\"your-token-here\"\n```\n\n---\n\n## Available Tools\n\n| Category | Tools |\n|----------|-------|\n| **Account** | `get_account_info` |\n| **Droplets** | `list_droplets`, `get_droplet`, `create_droplet`, `delete_droplet` |\n| **Databases** | `list_database_clusters`, `get_database_cluster` |\n| **Domains** | `list_domains`, `create_domain`, `delete_domain` |\n| **Infrastructure** | `list_regions`, `list_sizes` |\n\n---\n\n## Example Prompts\n\nOnce configured, try asking your assistant:\n\n```\n\"List all my Droplets\"\n\"Create a new 1GB Droplet in NYC1 running Ubuntu 24.04\"\n\"Show me all available regions\"\n\"List my database clusters\"\n\"Delete droplet 42\"\n\"What Droplet sizes are available and how much do they cost?\"\n```\n\n---\n\n## Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/truecallerabreham/mcp-server-digitalocean.git\ncd mcp-server-digitalocean\n\n# Install dependencies\nuv sync\n\n# Run tests\nuv run pytest\n\n# Run linter\nuv run ruff check src/ tests/\n\n# Type check\nuv run pyright\n```\n\n---\n\n## Troubleshooting\n\n### The server doesn't appear in your client?\n\n- Make sure your JSON config is saved and valid (no trailing commas)\n- Restart your MCP client (Claude, Cursor, Windsurf)\n- Check that `uvx` is in your PATH\n\n### Token not working?\n\n- Verify the token has the correct scopes\n- Try generating a fresh one at [DigitalOcean API Tokens](https://cloud.digitalocean.com/account/api/tokens)\n\n### Still having issues?\n\nTest the server directly:\n\n```bash\nDIGITALOCEAN_TOKEN=\"your-token\" uvx mcp-server-digitalocean\n```\n\n---\n\n## Contributing\n\nContributions are welcome! Bug reports, new features, and docs improvements are all appreciated.\n\n1. Fork this repo\n2. Create a branch (`git checkout -b feature/my-feature`)\n3. Make your changes\n4. Run tests (`uv run pytest`)\n5. Open a PR\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n",
  "bytes": 5541,
  "sha": "cd30eb015979c433607f27620ccf0c78e116cfac72d94b5f6c2a7c89f9e67042",
  "repo_slug": "truecallerabreham/mcp-server-digitalocean",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_truecallerabreham_mcp_server_d_84dc1689/readme"
}