digital-ocean-app-mcp

Alexheath21/digital-ocean-app-mcp

3.1

If you are the rightful owner of digital-ocean-app-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A comprehensive MCP server for managing Digital Ocean App Platform, Databases, and Cache services with full read/write capabilities.

Tools
5
Resources
0
Prompts
0

Digital Ocean MCP Server

A comprehensive MCP (Model Context Protocol) server for managing Digital Ocean infrastructure including Apps, Databases, Droplets, Kubernetes, Networking (VPC, Firewall, Load Balancers, Reserved IPs), SSH Keys, and Account resources with full read/write capabilities.

Current Coverage: 300+ tools (60% of API) - v5.0.0

Features

App Platform Management

  • Create, update, and delete apps - Full lifecycle management
  • Deploy and rollback - Trigger deployments and rollback to previous versions
  • Monitor deployments - View logs, health status, and metrics
  • Manage app specifications - Generate, validate, and update app specs

Database Management

  • Create and manage database clusters - PostgreSQL, MySQL, MongoDB, Redis
  • User and database management - Create users and databases within clusters
  • Scaling and migration - Resize clusters and migrate between regions
  • Firewall and security - Configure access rules and connection pools

Cache/Redis Management

  • Redis cluster management - Create and configure Redis instances
  • Performance optimization - Configure eviction policies and monitor metrics
  • Maintenance operations - Flush cache, manage backups, and replicas

App Spec YAML Management

  • Generate app specifications - Create specs programmatically
  • YAML/JSON conversion - Parse and convert between formats
  • Component builders - Create services, workers, jobs, and static sites
  • Template library - Access pre-built app templates

Droplet Management (NEW)

  • Create and manage virtual machines - Full lifecycle management
  • Power management - Power on/off, reboot, shutdown operations
  • Snapshots and backups - Create and manage Droplet snapshots
  • Resize operations - Scale Droplets up or down
  • Action history - View all actions performed on Droplets

SSH Key Management (NEW)

  • Manage SSH keys - Add, update, and remove SSH keys
  • Key metadata - View fingerprints and public key details
  • Secure access - Use SSH keys for passwordless Droplet access

Infrastructure Information (NEW)

  • List regions - View all available Digital Ocean regions
  • List sizes - Browse available Droplet sizes and pricing
  • Image catalog - Access distributions, applications, and snapshots
  • Image details - Get detailed information about specific images

Account Management (NEW)

  • Account information - View account details and status
  • Balance and billing - Check current balance and billing history
  • Rate limit monitoring - Track API usage and limits
  • Project management - List and view project details

Kubernetes Management (NEW - v3.0)

  • Cluster lifecycle - Create, manage, and delete Kubernetes clusters
  • Node pool management - Add, scale, and manage node pools
  • Authentication - Get kubeconfig and credentials with configurable expiry
  • Upgrades - Check available versions and upgrade clusters
  • Container registry - Integrate with Digital Ocean Container Registry
  • Clusterlint - Run best practice checks on clusters
  • Resource cleanup - Delete clusters with associated resources

Networking Management (NEW - v3.0)

  • VPC Management - Create and manage Virtual Private Clouds
  • Firewall Rules - Configure inbound/outbound security rules
  • Load Balancers - Create and manage load balancers with health checks
  • Reserved IPs - Manage static IP addresses (formerly Floating IPs)
  • Network isolation - Secure resource communication within VPCs
  • Traffic management - Configure load balancing algorithms and sticky sessions

Volume Storage Management (NEW - v4.0)

  • Block Storage - Create and manage volumes up to 16TB
  • Volume Actions - Attach, detach, and resize volumes
  • Snapshots - Create and manage volume snapshots
  • Filesystem Support - ext4 and xfs filesystem options
  • High Performance - SSD-based block storage

Spaces Object Storage (NEW - v4.0)

  • Access Keys - Manage S3-compatible API keys
  • CDN Integration - Create and manage CDN endpoints
  • Cache Purging - Purge CDN cache on demand
  • Permission Control - Granular access control per bucket
  • S3 Compatible - Works with existing S3 tools and SDKs

Container Registry (NEW - v4.0)

  • Registry Management - Create and manage container registries
  • Repository Control - Manage repositories and tags
  • Garbage Collection - Clean up unused layers
  • Docker Integration - Get Docker credentials for push/pull
  • Subscription Tiers - Starter, Basic, and Professional plans

Monitoring & Metrics (NEW - v4.0)

  • Alert Policies - Create and manage monitoring alerts
  • Droplet Metrics - CPU, memory, disk, network, and load metrics
  • App Platform Metrics - Application performance monitoring
  • Uptime Monitoring - Website and service uptime checks
  • Custom Alerts - Email and Slack notifications
  • Real-time Monitoring - Live metrics and status monitoring

Security Management (NEW - v4.0)

  • SSL Certificates - Let's Encrypt and custom certificate management
  • Actions Audit Trail - Complete API action history and logging
  • Tags Management - Organize and manage resource tags
  • Image Management - Custom images, transfers, and conversions
  • Resource Tagging - Apply tags to multiple resources
  • Security Compliance - Track and audit all account activities

DNS & Domain Management (NEW - v5.0)

  • Domain Management - Register and manage domains
  • DNS Records - Full DNS record management (A, AAAA, CNAME, MX, TXT, etc.)
  • Zone Management - Complete DNS zone control
  • Domain Registration - Point domains to your infrastructure
  • Record Types - Support for all standard DNS record types
  • TTL Control - Manage DNS propagation timing

1-Click Applications (NEW - v5.0)

  • Application Marketplace - Browse available 1-Click applications
  • Kubernetes Apps - Deploy apps directly to Kubernetes clusters
  • Droplet Apps - Install applications on Droplets
  • Popular Software - Quick deployment of common applications
  • Addon Management - Manage application addons and extensions

Advanced Networking (NEW - v5.0)

  • Floating IPs - Legacy floating IP management with actions
  • VPC Peering - Connect VPCs across regions and accounts
  • Reserved IPv6 - Manage IPv6 address reservations
  • Network Actions - Track networking operation history
  • Cross-Region Connectivity - Advanced network topologies

Team Management (NEW - v5.0)

  • Team Members - Invite and manage team members
  • Role Management - Assign roles (owner, admin, member, billing)
  • Access Control - Granular permission management
  • Team Organization - Collaborative account management
  • Invitation System - Email-based team invitations

Enhanced Billing & Usage (NEW - v5.0)

  • Detailed Billing - Comprehensive billing history and invoices
  • Usage Reports - Track resource usage over time
  • Invoice Management - Download invoices as PDF
  • Billing Alerts - Set spending thresholds and notifications
  • Cost Tracking - Monitor costs across all services
  • Usage Analytics - Understand your infrastructure spend

Enhanced Project Management (NEW - v5.0)

  • Project Creation - Organize resources into projects
  • Resource Assignment - Move resources between projects
  • Default Projects - Set and manage default project
  • Project Metadata - Track purpose and environment
  • Resource Organization - Logical grouping of infrastructure

Installation

Prerequisites

  • Node.js 18+
  • Digital Ocean API token with read/write permissions

Option 1: Local Installation (Recommended)

  1. Clone or download this repository
  2. Install dependencies:
    cd digital-ocean-app-mcp
    npm install
    
  3. Set up your environment:
    ./setup-local-env.sh
    
  4. Configure your Digital Ocean API token:
    • Open the created .env file
    • Replace your_digital_ocean_api_token_here with your actual token
    • See "Getting Your API Token" section below for details

Option 2: Global Installation

cd digital-ocean-app-mcp
./install-global.sh

Configuration

Add to your Claude Desktop MCP settings:

For Local Installation:

{
  "mcpServers": {
    "digital-ocean-app": {
      "command": "node",
      "args": ["/full/path/to/digital-ocean-app-mcp/src/index.js"],
      "env": {
        "DO_API_TOKEN": "your_digital_ocean_api_token_here"
      }
    }
  }
}

For Global Installation:

The install script will show you the exact configuration to use.

Getting Your API Token

  1. Go to: https://cloud.digitalocean.com/account/api/tokens
  2. Click "Generate New Token"
  3. Give it a name (e.g., "MCP Server")
  4. Select both "Read" and "Write" scopes
  5. Copy the token and add it to your Claude Desktop config

Available Tools

App Platform Tools

Reading Operations
  • list_apps - List all App Platform apps
  • get_app - Get detailed information about an app
  • get_app_deployments - Get deployment history
  • get_deployment - Get specific deployment details
  • get_deployment_logs - Get build and deployment logs
  • get_active_deployment - Get currently active deployment
  • get_build_summary - Get build status and timing
  • verify_deployment_health - Verify deployment health
  • get_app_alerts - Get app alerts and errors
  • get_app_metrics - Get CPU and memory metrics
  • list_app_regions - List available regions
  • list_app_instance_sizes - List available instance sizes
Writing Operations
  • create_app - Create a new app from specification
  • update_app - Update app specification
  • delete_app - Delete an app
  • validate_app_spec - Validate app spec without creating
  • create_deployment - Trigger a new deployment
  • cancel_deployment - Cancel in-progress deployment
  • rollback_app - Rollback to previous deployment
  • restart_app - Restart app or specific component

Database Tools

Database Management
  • create_database - Create database cluster (PostgreSQL, MySQL, MongoDB, Redis)
  • list_databases - List all database clusters
  • get_database - Get database details
  • delete_database - Delete database cluster
  • resize_database - Change size or node count
  • migrate_database - Migrate to different region
Database Configuration
  • create_database_user - Create database user
  • delete_database_user - Delete database user
  • create_database_db - Create database within cluster
  • delete_database_db - Delete database from cluster
  • update_database_firewall - Configure firewall rules
  • create_database_connection_pool - Create connection pool
  • create_database_replica - Create read replica

Cache/Redis Tools

  • create_redis_cluster - Create Redis cluster
  • update_redis_config - Update Redis configuration
  • get_redis_config - Get current configuration
  • list_eviction_policies - List available eviction policies
  • flush_redis_cache - Flush all cache data
  • get_database_metrics - Get performance metrics
  • update_maintenance_window - Set maintenance schedule
  • get_backups - List available backups
  • restore_from_backup - Restore from backup

App Spec Management Tools

  • generate_app_spec - Generate app specification
  • parse_yaml_to_spec - Convert YAML to JSON spec
  • convert_spec_to_yaml - Convert JSON spec to YAML
  • get_app_spec_template - Get pre-built templates
  • create_service_component - Create service configuration
  • create_worker_component - Create worker configuration
  • create_job_component - Create job configuration
  • create_static_site_component - Create static site configuration
  • create_database_component - Create database component
  • create_environment_variable - Create env var configuration
  • create_domain_config - Create domain configuration

Example Usage

Once configured in Claude Desktop, you can perform comprehensive Digital Ocean operations:

App Management Examples

"Create a new Node.js app called 'my-api' in the NYC region"
"Update my app to use 2 instances of size basic-xs"
"Deploy the latest code changes with a force rebuild"
"Rollback my-app to the previous deployment"
"Show me the build logs for the last deployment"

Database Examples

"Create a PostgreSQL database cluster in SFO region"
"Add a new user 'api_user' to my database"
"Resize my database to 4GB RAM with 2 nodes"
"Create a Redis cache with LRU eviction policy"
"Set up firewall rules to allow only my app"

App Spec Examples

"Generate an app spec for a full-stack application"
"Convert this YAML file to a Digital Ocean app spec"
"Create a microservices architecture with 3 services"
"Add environment variables to my app configuration"
"Set up a static site with custom domain"

Advanced Features

Multi-Component Apps

Create complex applications with multiple services, workers, jobs, and databases all managed through a single app specification.

Deployment Strategies

  • Blue-green deployments with rollback capability
  • Forced rebuilds for dependency updates
  • Component-specific restarts

Database Operations

  • Connection pooling for PostgreSQL
  • Redis cluster management with replicas
  • Automated backup and restore
  • Cross-region migration

Monitoring and Metrics

  • Real-time deployment logs
  • CPU and memory metrics
  • Health checks and alerts
  • Build performance analysis

Error Handling

All operations include comprehensive error handling with detailed error messages. Failed operations return structured error responses including:

  • Error message
  • HTTP status codes
  • Digital Ocean API error details
  • Suggested remediation steps

Security Considerations

  • API tokens are never logged or exposed
  • All operations use HTTPS
  • Supports VPC and private networking
  • Firewall rules for database access control
  • Environment variables marked as secrets

Limitations

  • Some operations may take time (database creation, migrations)
  • Rate limits apply based on Digital Ocean API limits
  • Logs are limited to recent entries
  • Some features require specific subscription tiers

Troubleshooting

Common Issues

  1. Authentication Errors

    • Verify your API token has read/write permissions
    • Check token hasn't expired
  2. Resource Not Found

    • Ensure resource IDs are correct
    • Check region availability
  3. Validation Errors

    • Use validate_app_spec before creating apps
    • Check instance sizes are available in selected region

Contributing

Feel free to submit issues or pull requests to improve this MCP server.

License

MIT