Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@digitalocean/mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
DigitalOcean MCP Server
A Model Context Protocol (MCP) server that provides tools to interact with DigitalOcean's App Platform services.
Overview
This MCP server exposes DigitalOcean App Platform functionality through standardized tools that can be used by any MCP client, including Claude Desktop and Cursor. It enables AI assistants to directly manage your DigitalOcean apps without needing to write code or remember complex API endpoints.
Features
- Manage apps (create, update, delete, restart)
- Work with deployments (list, create, get, cancel)
- Access logs for apps and deployments
- Retrieve execution URLs for components
- View instance sizes and regions
- Validate app specifications
- Manage app alerts
- Handle app rollbacks
- View bandwidth metrics
Setting up with Claude Desktop
- Open Claude Desktop
- Go to Settings → Developer → Edit Config
- This will open
claude_desktop_config.json
- Add or update the configuration with:
{
"mcpServers": {
"digitalocean": {
"command": "npx",
"args": ["@digitalocean/mcp"],
"env": {
"DIGITALOCEAN_API_TOKEN": "your_personal_access_token"
}
}
}
}
- Replace
your_personal_access_token
with your actual DigitalOcean API token - Save the file and restart Claude Desktop
Setting up with Cursor
- Go to Cursor Settings → MCP → Click on "Add a new global MCP server"
- This will open
~/.cursor/mcp.json
- Add or update the configuration with the same JSON as used for Claude Desktop:
{
"mcpServers": {
"digitalocean": {
"command": "npx",
"args": ["@digitalocean/mcp"],
"env": {
"DIGITALOCEAN_API_TOKEN": "your_personal_access_token"
}
}
}
}
- Replace
your_personal_access_token
with your actual DigitalOcean API token - Save the file and ensure the server is activated in Cursor Settings → MCP
Using with Claude Desktop or Cursor
Once configured, you can start chatting with the AI assistant using natural language to manage your DigitalOcean App Platform resources. Here are some examples of what you can ask:
Basic App Management
- "How many DigitalOcean apps do I have?"
- "List all my current apps on DigitalOcean"
- "Show me details for my app called 'customer-portal'"
- "Restart my app 'api-backend'"
- "Delete the app named 'test-environment'"
Deployments
- "When was the last deployment for my 'production-website' app?"
- "Show me all deployments for my 'user-service' app"
- "Cancel the current deployment for my 'staging-env' app"
- "What's the status of the latest deployment for my 'data-processor' app?"
Creating and Updating Apps
- "Create a new static site app on DigitalOcean that deploys from my GitHub repo yourusername/static-website"
- "Create a Flask app on DigitalOcean with the following specification: Python 3.9, 1 CPU, 1GB RAM, connected to my GitHub repo yourusername/flask-app"
- "Update my 'api-service' app to use 2GB of RAM instead of 1GB"
- "Set up a Node.js app that uses a managed PostgreSQL database"
Logs and Debugging
- "Show me the logs for the 'web' component of my 'ecommerce' app"
- "Get the latest build logs for my 'backend-api' app"
- "What errors are showing up in my 'auth-service' deployment logs?"
Infrastructure Information
- "What regions can I deploy my DigitalOcean apps to?"
- "List all available instance sizes for app components"
- "What's the smallest instance size I can use for a service component?"
- "Show me my bandwidth usage across all apps this month"
Available Tools
Here's a quick overview of the available tools:
list_apps
- List all apps on your accountcreate_app
- Create a new app with an app specificationget_app
- Get details about a specific appupdate_app
- Update an existing appdelete_app
- Delete an apprestart_app
- Restart an applist_deployments
- List all deployments for an appcreate_deployment
- Create a new deploymentget_deployment
- Get details about a specific deploymentcancel_deployment
- Cancel a deploymentretrieve_active_deployment_logs
- Get logs for a component of the active deploymentdownload_logs
- Download logs from a URLlist_app_regions
- List all regions supported by App Platformlist_instance_sizes
- List all instance sizes for componentsvalidate_app_spec
- Validate an app specificationlist_app_alerts
- List alerts for an appupdate_app_alert_destinations
- Update alert destinationsrollback_app
- Rollback an app to a previous deploymentvalidate_app_rollback
- Validate an app rollbackcommit_app_rollback
- Commit an app rollbackrevert_app_rollback
- Revert an app rollbackget_app_bandwidth_daily_metrics
- Get bandwidth metrics for an appget_all_app_bandwidth_daily_metrics
- Get bandwidth metrics for all apps
Troubleshooting
Common Issues
- Authentication Problems: Ensure your DigitalOcean API token is valid and has the necessary permissions
If Tools Are Not Showing Up
- Check that the MCP server icon appears in the UI
- Verify your API token has the necessary permissions
- Check the app logs for any error messages
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.