{"id":28578137,"url":"https://github.com/digitalocean/digitalocean-mcp","last_synced_at":"2025-10-08T14:36:26.235Z","repository":{"id":293679894,"uuid":"972340106","full_name":"digitalocean/digitalocean-mcp","owner":"digitalocean","description":"DigitalOcean MCP Server for deploying and managing apps on App Platform","archived":false,"fork":false,"pushed_at":"2025-06-07T22:12:32.000Z","size":312,"stargazers_count":60,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-07T17:19:21.648Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitalocean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-24T23:21:14.000Z","updated_at":"2025-07-06T16:23:23.000Z","dependencies_parsed_at":"2025-05-16T15:46:43.568Z","dependency_job_id":"9d280f62-0ca7-454b-acd4-c765cb91a58b","html_url":"https://github.com/digitalocean/digitalocean-mcp","commit_stats":null,"previous_names":["digitalocean/digitalocean-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/digitalocean/digitalocean-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalocean%2Fdigitalocean-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalocean%2Fdigitalocean-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalocean%2Fdigitalocean-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalocean%2Fdigitalocean-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitalocean","download_url":"https://codeload.github.com/digitalocean/digitalocean-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalocean%2Fdigitalocean-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278959311,"owners_count":26075840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-11T01:08:54.195Z","updated_at":"2025-10-08T14:36:26.228Z","avatar_url":"https://github.com/digitalocean.png","language":"TypeScript","funding_links":[],"categories":["Cloud Platforms"],"sub_categories":["How to Submit"],"readme":"# DigitalOcean MCP Server\n\n\u003e **⚠️ ARCHIVE NOTICE**  \n\u003e This repository has been archived. Please use **[@digitalocean-labs/mcp-digitalocean](https://github.com/digitalocean-labs/mcp-digitalocean/)**\n\n[![npm version](https://img.shields.io/npm/v/@digitalocean/mcp.svg)](https://www.npmjs.com/package/@digitalocean/mcp) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\nThis MCP server exposes DigitalOcean App Platform functionality through standardized tools that can be used by any MCP client, including [Claude Desktop](https://claude.ai/download) and [Cursor](https://docs.cursor.com/context/model-context-protocol). It enables AI assistants to directly manage your DigitalOcean apps without writing code or memorizing API endpoints.\n\n## [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=digitalocean\u0026config=eyJjb21tYW5kIjoibnB4IEBkaWdpdGFsb2NlYW4vbWNwIiwiZW52Ijp7IkRJR0lUQUxPQ0VBTl9BUElfVE9LRU4iOiJZT1VSX0RPX1RPS0VOIn19)\n\n## 📚 Table of Contents\n\n- [🚀 What Can You Do With It?](#-what-can-you-do-with-it)\n- [🧰 Prerequisites](#-prerequisites)\n- [⚙️ Setting up your DigitalOcean MCP Server](#️-setting-up-your-digitalocean-mcp-server)\n\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 Setup](#windsurf-setup)\n\n- [💬 Example Prompts](#-example-prompts)\n- [🛠 Available Tools](#available-tools)\n- [🧯 Troubleshooting](#troubleshooting)\n- [🤝 Contributing](#contributing)\n- [📄 License](#license)\n\n---\n\n## 🚀 What Can You Do With It?\n\nYou can now do things like:\n\n- **Deploy a new app** from a GitHub repo\n- **Quickly redeploy an existing app** with the latest changes\n- **See logs,** restart components, or delete old environments\n- **Check available regions** and create apps based on what’s supported\n- **Build and deploy an app from scratch**, entirely through your assistant\n\n...and more!\n\n---\n\n## 🧰 Prerequisites\n\nTo use the DigitalOcean MCP Server, you’ll need:\n\n- **Node.js** (≥ 12) \u0026 **npm**\n- A [DigitalOcean Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) with **App Platform** scopes\n- A supported MCP client:\n  - [Claude Desktop](https://claude.ai/download) (v1.9+)\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- (Optional but helpful): [GitHub CLI (gh)](https://cli.github.com) - useful for cloning repos, creating projects, and working with GitHub-based apps.\n\n\u003e 💡 You do not need to install anything—this server runs via npx, with just a one-line config added to your MCP client.\n\n---\n\n## ⚙️ Setting up your DigitalOcean MCP Server\n\n### 1. Generate Your API Token\n\nHead to [DigitalOcean’s API settings](https://cloud.digitalocean.com/account/api/tokens) and create a new **Personal Access Token** with **App Platform** permissions.\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\": \"npx\",\n      \"args\": [\"@digitalocean/mcp\"],\n      \"env\": {\n        \"DIGITALOCEAN_API_TOKEN\": \"YOUR_DO_TOKEN\"\n      }\n    }\n  }\n}\n```\n\nHere’s what each part of the snippet does:\n\n- - **command**: how to launch the server (`npx` or full path)\n- - **args**: the package name\n- - **env**: insert your DO token here\n\nThen follow the instructions for your specific tool:\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![Claude Desktop MCP Setup](https://github.com/user-attachments/assets/15ff8aed-c2ff-4bba-a0cc-0efabfdb0bcd)\n_Setting up DigitalOcean MCP Server in Claude Desktop_\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.\n6. You should now see “digitalocean” in Cursor’s MCP settings\n\n![Cursor MCP Setup](https://github.com/user-attachments/assets/da87617b-a368-4ffb-a5f1-2d3fa9a168a4)\n_Setting up DigitalOcean MCP Server in Cursor_\n\n### Windsurf Setup\n\n1. In Windsurf: **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.\n6. You should now see “digitalocean” in Windsurf's MCP settings\n\n![Windsurf MCP Setup](https://github.com/user-attachments/assets/4408c955-34bd-4f51-92a9-b971bebbd785)\n\n_Setting up DigitalOcean MCP Server in Windsurf_\n\n---\n\n## 💬 Example Prompts\n\nOnce it’s configured, try asking your assistant:\n\n```\n“List all active apps on my account”\n“Create a new app from https://github.com/do-community/do-one-click-deploy-flask with 1GB RAM in NYC3”\n“Show logs for checkout-service”\n“Cancel the current deployment for marketing-site”\n“Delete the old `staging-env` app”\n```\n\nThe assistant will send the request → the MCP server talks to DigitalOcean → you get structured results, ready to act on.\n\n---\n\n## Available Tools\n\n| Category        | Commands                                                                              |\n| --------------- | ------------------------------------------------------------------------------------- |\n| **Apps**        | `list_apps`, `create_app`, `get_app`, `update_app`, `delete_app`, `restart_app`       |\n| **Deployments** | `list_deployments`, `create_deployment`, `get_deployment`, `cancel_deployment`        |\n| **Logs**        | `retrieve_active_deployment_logs`, `download_logs`                                    |\n| **Infra**       | `list_app_regions`, `list_instance_sizes`                                             |\n| **Alerts**      | `list_app_alerts`, `update_app_alert_destinations`                                    |\n| **Rollbacks**   | `validate_app_rollback`, `rollback_app`, `commit_app_rollback`, `revert_app_rollback` |\n| **Metrics**     | `get_app_bandwidth_daily_metrics`, `get_all_app_bandwidth_daily_metrics`              |\n| **Validation**  | `validate_app_spec`                                                                   |\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\n- Restart your MCP client (Claude, Cursor, Windsurf)\n\n### Token not working?\n\n- Check that it has App Platform access\n- Try generating a fresh one\n\n### JSON errors?\n\n- No trailing commas\n- No comments allowed in JSON\n\nYou can also test the server directly by running:\n\n```\nnpx @digitalocean/mcp\n```\n\n---\n\n## Contributing\n\nWe’d love your help improving this! Bug reports, new features, and docs improvements are all welcome.\n\n1. Fork this repo\n2. Create a branch (`git checkout -b feature/awesome-tool`)\n3. Open a PR\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalocean%2Fdigitalocean-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalocean%2Fdigitalocean-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalocean%2Fdigitalocean-mcp/lists"}