Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Digitalocean Mcp Server

    A Model Context Protocol (MCP) server that provides programmatic access to DigitalOcean's API. This server exposes tools for managing droplets, Kubernetes clusters, and container registries through the MCP interface.

    3 stars
    Go
    Updated Jul 20, 2025

    Table of Contents

    • Features
    • Prerequisites
    • Installation
    • From Source
    • Using Go Install
    • Configuration
    • Environment Variables
    • Getting a DigitalOcean API Token
    • Usage
    • Running the Server
    • Available Tools (48 Total)
    • Connection & Testing
    • Droplet Management (7 tools)
    • Volume Management (8 tools)
    • Snapshot Operations (6 tools)
    • Image Management (6 tools)
    • Floating IP Management (6 tools)
    • Load Balancer Operations (9 tools)
    • Firewall Management (11 tools)
    • Kubernetes Clusters (4 tools)
    • Container Registry (2 tools)
    • Example MCP Client Usage
    • Basic Operations
    • Volume Management
    • Load Balancer Setup
    • Floating IP Management
    • Firewall Configuration
    • Development
    • Project Structure
    • Development Commands
    • Adding New Tools
    • Dependencies
    • Error Handling
    • Contributing
    • License
    • Support
    • Changelog
    • v2.0.1
    • v2.0.0
    • v1.0.0

    Table of Contents

    • Features
    • Prerequisites
    • Installation
    • From Source
    • Using Go Install
    • Configuration
    • Environment Variables
    • Getting a DigitalOcean API Token
    • Usage
    • Running the Server
    • Available Tools (48 Total)
    • Connection & Testing
    • Droplet Management (7 tools)
    • Volume Management (8 tools)
    • Snapshot Operations (6 tools)
    • Image Management (6 tools)
    • Floating IP Management (6 tools)
    • Load Balancer Operations (9 tools)
    • Firewall Management (11 tools)
    • Kubernetes Clusters (4 tools)
    • Container Registry (2 tools)
    • Example MCP Client Usage
    • Basic Operations
    • Volume Management
    • Load Balancer Setup
    • Floating IP Management
    • Firewall Configuration
    • Development
    • Project Structure
    • Development Commands
    • Adding New Tools
    • Dependencies
    • Error Handling
    • Contributing
    • License
    • Support
    • Changelog
    • v2.0.1
    • v2.0.0
    • v1.0.0

    Documentation

    DigitalOcean MCP Server

    A comprehensive Model Context Protocol (MCP) server that provides programmatic access to DigitalOcean's API. This server exposes 48 tools across 7 major service categories for complete infrastructure management through the MCP interface.

    Features

    • 🖥️ Droplet Management: Complete lifecycle management with resize and snapshot capabilities
    • 💾 Volume Management: Block storage operations including attach/detach and snapshots
    • 📸 Snapshot Operations: Backup and restore functionality for droplets and volumes
    • 🖼️ Image Management: Custom image operations, transfers, and conversions
    • 🌐 Floating IP Management: Static IP allocation, assignment, and management
    • ⚖️ Load Balancer Operations: Traffic distribution with full CRUD operations
    • 🔥 Firewall Management: Complete network security with rule and policy management
    • ☸️ Kubernetes Operations: Comprehensive cluster and node pool management
    • 📦 Container Registry: Access and manage DigitalOcean container registries
    • ✅ Connection Testing: Verify API connectivity and authentication

    Prerequisites

    • Go 1.19 or higher
    • DigitalOcean API token (required - see Configuration section)

    Installation

    From Source

    bash
    git clone https://github.com/rohit-kaundal/digitalocean-mcp-server.git
    cd digitalocean-mcp-server
    go mod tidy
    go build -o digitalocean-mcp-server

    Using Go Install

    bash
    go install github.com/rohit-kaundal/digitalocean-mcp-server@latest

    Configuration

    Environment Variables

    REQUIRED: Set your DigitalOcean API token before running the server:

    bash
    export DIGITALOCEAN_ACCESS_TOKEN="your_digitalocean_api_token"

    ⚠️ The server will not function without this environment variable set.

    Getting a DigitalOcean API Token

    1. Log in to your DigitalOcean Control Panel

    2. Navigate to API in the left sidebar

    3. Click Generate New Token

    4. Give your token a name and select appropriate scopes

    5. Copy the generated token (you won't be able to see it again)

    Usage

    Running the Server

    First, ensure your DigitalOcean API token is set:

    bash
    export DIGITALOCEAN_ACCESS_TOKEN="your_digitalocean_api_token"

    Then run the server:

    bash
    ./digitalocean-mcp-server

    Or run directly with Go:

    bash
    go run main.go

    The server will start and listen for MCP requests via stdio transport.

    Available Tools (48 Total)

    Connection & Testing

    • **test_connection** - Test API connectivity and authentication

    Droplet Management (7 tools)

    • **list_droplets** - List all droplets with pagination support
    • **get_droplet** - Get detailed information about a specific droplet
    • **create_droplet** - Create a new droplet with custom specifications
    • **delete_droplet** - Permanently delete a droplet
    • **resize_droplet** - Resize droplet to different size (CPU/RAM/disk)
    • **create_droplet_snapshot** - Create a snapshot backup of a droplet

    Volume Management (8 tools)

    • **list_volumes** - List all block storage volumes (optionally by region)
    • **get_volume** - Get detailed volume information
    • **create_volume** - Create new block storage volume
    • **delete_volume** - Delete a volume
    • **attach_volume** - Attach volume to a droplet
    • **detach_volume** - Detach volume from a droplet
    • **resize_volume** - Expand volume storage capacity
    • **create_volume_snapshot** - Create snapshot backup of a volume

    Snapshot Operations (6 tools)

    • **list_snapshots** - List all snapshots (filter by droplet/volume)
    • **list_volume_snapshots** - List volume-specific snapshots
    • **list_droplet_snapshots** - List droplet-specific snapshots
    • **get_snapshot** - Get detailed snapshot information
    • **delete_snapshot** - Delete a snapshot

    Image Management (6 tools)

    • **list_images** - List available images (distribution/application/user)
    • **get_image** - Get image details by ID or slug
    • **update_image** - Update image metadata (name, description)
    • **delete_image** - Delete custom images
    • **transfer_image** - Transfer image to different region
    • **convert_image_to_snapshot** - Convert image to snapshot format

    Floating IP Management (6 tools)

    • **list_floating_ips** - List all floating IP addresses
    • **get_floating_ip** - Get floating IP details and assignment status
    • **create_floating_ip** - Create new floating IP (regional or assigned)
    • **delete_floating_ip** - Release floating IP
    • **assign_floating_ip** - Assign floating IP to droplet
    • **unassign_floating_ip** - Unassign floating IP from droplet

    Load Balancer Operations (9 tools)

    • **list_load_balancers** - List all load balancers
    • **get_load_balancer** - Get load balancer configuration and status
    • **create_load_balancer** - Create new load balancer with forwarding rules
    • **update_load_balancer** - Update load balancer configuration
    • **delete_load_balancer** - Delete load balancer
    • **add_droplets_to_load_balancer** - Add droplets to load balancer pool
    • **remove_droplets_from_load_balancer** - Remove droplets from pool
    • **add_forwarding_rules_to_load_balancer** - Add traffic forwarding rules
    • **remove_forwarding_rules_from_load_balancer** - Remove forwarding rules

    Firewall Management (11 tools)

    • **list_firewalls** - List all firewalls in the account
    • **get_firewall** - Get detailed firewall configuration and rules
    • **create_firewall** - Create new firewall with inbound/outbound rules
    • **update_firewall** - Update firewall configuration and rules
    • **delete_firewall** - Remove firewall from account
    • **add_droplets_to_firewall** - Assign droplets to firewall protection
    • **remove_droplets_from_firewall** - Remove droplets from firewall
    • **add_tags_to_firewall** - Add tags to firewall for organization
    • **remove_tags_from_firewall** - Remove tags from firewall
    • **add_rules_to_firewall** - Add new security rules to firewall
    • **remove_rules_from_firewall** - Remove existing security rules

    Kubernetes Clusters (4 tools)

    • **list_k8s_clusters** - List all Kubernetes clusters
    • **get_k8s_cluster** - Get cluster details and status
    • **create_k8s_cluster** - Create new Kubernetes cluster
    • **delete_k8s_cluster** - Delete Kubernetes cluster

    Container Registry (2 tools)

    • **list_registries** - List all container registries
    • **get_registry** - Get registry details and repositories

    Example MCP Client Usage

    Basic Operations

    json
    {
      "method": "tools/call",
      "params": {
        "name": "list_droplets",
        "arguments": {
          "page": 1,
          "per_page": 25
        }
      }
    }
    json
    {
      "method": "tools/call",
      "params": {
        "name": "create_droplet",
        "arguments": {
          "name": "my-server",
          "region": "nyc3",
          "size": "s-1vcpu-1gb",
          "image": "ubuntu-22-04-x64"
        }
      }
    }

    Volume Management

    json
    {
      "method": "tools/call",
      "params": {
        "name": "create_volume",
        "arguments": {
          "name": "my-storage",
          "region": "nyc3",
          "size_gigabytes": 100,
          "description": "Additional storage for applications"
        }
      }
    }
    json
    {
      "method": "tools/call",
      "params": {
        "name": "attach_volume",
        "arguments": {
          "volume_id": "volume-123",
          "droplet_id": 456
        }
      }
    }

    Load Balancer Setup

    json
    {
      "method": "tools/call",
      "params": {
        "name": "create_load_balancer",
        "arguments": {
          "name": "web-lb",
          "algorithm": "round_robin",
          "region": "nyc3",
          "forwarding_rules": [
            {
              "entry_protocol": "http",
              "entry_port": 80,
              "target_protocol": "http",
              "target_port": 8080
            }
          ],
          "droplet_ids": [123, 456]
        }
      }
    }

    Floating IP Management

    json
    {
      "method": "tools/call",
      "params": {
        "name": "create_floating_ip",
        "arguments": {
          "region": "nyc3"
        }
      }
    }
    json
    {
      "method": "tools/call",
      "params": {
        "name": "assign_floating_ip",
        "arguments": {
          "ip": "192.168.1.100",
          "droplet_id": 123
        }
      }
    }

    Firewall Configuration

    json
    {
      "method": "tools/call",
      "params": {
        "name": "create_firewall",
        "arguments": {
          "name": "web-firewall",
          "inbound_rules": [
            {
              "protocol": "tcp",
              "ports": "80",
              "sources": {
                "addresses": ["0.0.0.0/0"]
              }
            },
            {
              "protocol": "tcp",
              "ports": "443",
              "sources": {
                "addresses": ["0.0.0.0/0"]
              }
            }
          ],
          "outbound_rules": [
            {
              "protocol": "tcp",
              "ports": "all",
              "destinations": {
                "addresses": ["0.0.0.0/0"]
              }
            }
          ],
          "droplet_ids": [123, 456]
        }
      }
    }
    json
    {
      "method": "tools/call",
      "params": {
        "name": "add_droplets_to_firewall",
        "arguments": {
          "firewall_id": "firewall-123",
          "droplet_ids": [789, 101112]
        }
      }
    }

    Development

    Project Structure

    code
    digitalocean-mcp-server/
    ├── main.go                 # Entry point
    ├── server/
    │   ├── server.go          # MCP server initialization
    │   └── tools.go           # Tool registration
    ├── client/
    │   └── digitalocean.go    # DigitalOcean API client
    ├── handlers/
    │   ├── common.go          # Shared handler functionality
    │   ├── droplets.go        # Droplet operations
    │   ├── volumes.go         # Volume operations
    │   ├── snapshots.go       # Snapshot operations
    │   ├── images.go          # Image operations
    │   ├── floating_ips.go    # Floating IP operations
    │   ├── load_balancers.go  # Load balancer operations
    │   ├── firewalls.go       # Firewall operations
    │   ├── kubernetes.go      # Kubernetes operations
    │   └── registry.go        # Registry operations
    ├── types/
    │   └── args.go            # Request argument types
    └── CLAUDE.md              # AI assistant instructions

    Development Commands

    bash
    # Run the server
    go run main.go
    
    # Run tests
    go test ./...
    
    # Build binary
    go build -o digitalocean-mcp-server
    
    # Update dependencies
    go mod tidy

    Adding New Tools

    1. Define argument types in types/args.go

    2. Implement handler logic in the appropriate file under handlers/

    3. Register the tool in server/tools.go

    4. Update this documentation

    Dependencies

    • godo - DigitalOcean API client
    • mcp-golang - MCP protocol implementation
    • oauth2 - OAuth2 authentication

    Error Handling

    All tools return standardized MCP responses:

    • Success: JSON-formatted data with the requested information
    • Error: Structured error messages with details about what went wrong

    Common error scenarios:

    • Invalid or missing API token
    • Insufficient permissions
    • Resource not found
    • API rate limiting
    • Network connectivity issues

    Contributing

    We welcome contributions! Please see CONTRIBUTING.md for guidelines.

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Support

    • Report issues on GitHub Issues
    • Check DigitalOcean API Documentation
    • Review MCP Protocol Specification

    Changelog

    v2.0.1

    • Firewall Management: Added comprehensive network security with 11 firewall tools
    • Security Rules: Complete inbound/outbound rule management and configuration
    • Droplet Protection: Assign and manage firewall protection for droplets
    • Tag Management: Organize firewalls with tag-based categorization
    • Rule Modification: Dynamic addition and removal of security rules
    • Enhanced Documentation: Updated with firewall management examples

    v2.0.0

    • MAJOR EXPANSION: Added 30+ new API tools across 5 additional service categories
    • Volume Management: Complete block storage lifecycle (8 tools)
    • Snapshot Operations: Backup and restore functionality (6 tools)
    • Image Management: Custom image operations and transfers (6 tools)
    • Floating IP Management: Static IP allocation and assignment (6 tools)
    • Load Balancer Operations: Traffic distribution with full CRUD (9 tools)
    • Enhanced Droplets: Added resize and snapshot capabilities
    • Comprehensive Documentation: Updated with detailed API coverage
    • Improved Architecture: Modular handler design for scalability

    v1.0.0

    • Initial release
    • Droplet management tools (5 tools)
    • Kubernetes cluster tools (4 tools)
    • Container registry tools (2 tools)
    • Connection testing

    Similar MCP

    Based on tags & features

    • MC

      Mcpjungle

      Go·
      617
    • AN

      Anyquery

      Go·
      1.4k
    • YU

      Yutu

      Go·
      317
    • MC

      Mcp Cyclops

      Go·
      29

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcpjungle

      Go·
      617
    • AN

      Anyquery

      Go·
      1.4k
    • YU

      Yutu

      Go·
      317
    • MC

      Mcp Cyclops

      Go·
      29

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k