Skip to content

digitalocean-labs/mcp-digitalocean

Repository files navigation

MCP DigitalOcean Integration

MCP DigitalOcean Integration is an open-source project that provides a comprehensive interface for managing DigitalOcean resources and performing actions using the DigitalOcean API. Built on top of the godo library and the MCP framework, this project exposes a wide range of tools to simplify cloud infrastructure management.

DISCLAIMER: "Use of MCP technology to interact with your DigitalOcean account can come with risks"

Installation

Remote MCP (Recommended)

The easiest way to get started is to use DigitalOcean's hosted MCP services. Each service is deployed as a standalone MCP server accessible via HTTPS, allowing you to connect without running any local server. You can connect to multiple endpoints simultaneously by adding multiple entries to your configuration.

Available Services

Service Remote MCP URL Description
apps https://apps.mcp.digitalocean.com/mcp Manage DigitalOcean App Platform applications, including deployments and configurations.
accounts https://accounts.mcp.digitalocean.com/mcp Get information about your DigitalOcean account, billing, balance, invoices, and SSH keys.
databases https://databases.mcp.digitalocean.com/mcp Provision, manage, and monitor managed database clusters (Postgres, MySQL, Redis, etc.).
doks https://doks.mcp.digitalocean.com/mcp Manage DigitalOcean Kubernetes clusters and node pools.
droplets https://droplets.mcp.digitalocean.com/mcp Create, manage, resize, snapshot, and monitor droplets (virtual machines) on DigitalOcean.
insights https://insights.mcp.digitalocean.com/mcp Monitors your resources, endpoints and alert you when they're slow, unavailable, or SSL certificates are expiring.
marketplace https://marketplace.mcp.digitalocean.com/mcp Discover and manage DigitalOcean Marketplace applications.
networking https://networking.mcp.digitalocean.com/mcp Manage domains, DNS records, certificates, firewalls, load balancers, reserved IPs, BYOIP Prefixes, VPCs, and CDNs.
spaces https://spaces.mcp.digitalocean.com/mcp DigitalOcean Spaces object storage and Spaces access keys for S3-compatible storage.

Claude Code

Remote MCP (Recommended)

To add a remote DigitalOcean MCP server to Claude Code, run the following command in your terminal:

claude mcp add --transport http digitalocean-apps https://apps.mcp.digitalocean.com/mcp \
  --header "Authorization: Bearer YOUR_API_TOKEN"

Replace YOUR_API_TOKEN with your actual DigitalOcean API token.

You can add multiple services by running the command for each endpoint:

claude mcp add --transport http digitalocean-databases https://databases.mcp.digitalocean.com/mcp \
  --header "Authorization: Bearer YOUR_API_TOKEN"

claude mcp add --transport http digitalocean-droplets https://droplets.mcp.digitalocean.com/mcp \
  --header "Authorization: Bearer YOUR_API_TOKEN"

See the Available Services section for the complete list of available endpoints.

Local Installation

To add the DigitalOcean MCP server to Claude Code, run the following command in your terminal:

claude mcp add digitalocean-mcp \
  -e DIGITALOCEAN_API_TOKEN=YOUR_DO_API_TOKEN \
  -- npx @digitalocean/mcp --services apps,databases

This will:

  • Add the MCP server under the default (local) scope — meaning it's only available inside the current folder.
  • Register it with the name digitalocean-mcp.
  • Enable the apps and databases services.
  • Pass your DigitalOcean API token securely to the server.
  • Store the configuration in your global Claude config at ~/.claude.json, scoped to the current folder.

Verify Installation

To confirm it's been added:

claude mcp list

Inspect Details

To inspect details:

claude mcp get digitalocean-mcp

Remove Server

To remove it:

claude mcp remove digitalocean-mcp
User Scope

Local scope is great when you're testing or only using the server in one project. User scope is better if you want it available everywhere.

If you'd like to make the server available globally (so you don't have to re-add it in each project), you can use the user scope:

claude mcp add -s user digitalocean-mcp-user-scope \
  -e DIGITALOCEAN_API_TOKEN=YOUR_DO_API_TOKEN \
  -- npx @digitalocean/mcp --services apps,databases

This will:

  • Make the server available in all folders, not just the one you're in
  • Scope it to your user account
  • Store it in your global Claude config at ~/.claude.json

To remove it:

claude mcp remove -s user digitalocean-mcp-user-scope

Claude Desktop

Remote MCP (Recommended)

Add the remote MCP servers to your claude_desktop_config.json file:

{
  "mcpServers": {
    "digitalocean-apps": {
      "url": "https://apps.mcp.digitalocean.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    },
    "digitalocean-databases": {
      "url": "https://databases.mcp.digitalocean.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

You can add any of the endpoints listed in the Available Services section.

Local Installation

Add the following to your claude_desktop_config.json file:

{
  "mcpServers": {
    "digitalocean": {
      "command": "npx",
      "args": ["@digitalocean/mcp", "--services", "apps"],
      "env": {
        "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Cursor

Remote MCP (Recommended)

Add the remote MCP servers to your Cursor settings file located at ~/.cursor/config.json:

{
  "mcpServers": {
    "digitalocean-apps": {
      "url": "https://apps.mcp.digitalocean.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    },
    "digitalocean-databases": {
      "url": "https://databases.mcp.digitalocean.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

You can add any of the endpoints listed in the Available Services section.

Local Installation

Install MCP Server

Add the following to your Cursor settings file located at ~/.cursor/config.json:

{
  "mcpServers": {
    "digitalocean": {
      "command": "npx",
      "args": ["@digitalocean/mcp", "--services", "apps"],
      "env": {
        "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}
Verify Installation
  1. Open Cursor and open Command Pallet ( Shift + ⌘ + P on Mac or Ctrl+ Shift + P on Windows/Linux )
  2. Search for "MCP" in the command pallet search bar
  3. Select "View: Open MCP Settings"
  4. Select "Tools & Integrations" from the left sidebar
  5. You should see "digitalocean" listed under Available MCP Servers
  6. Click on "N tools enabled" (N is the number of tools currently enabled).
Debugging

To check MCP server logs and debug issues:

  1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
  2. Type "Developer: Toggle Developer Tools" and press Enter
  3. Navigate to the Console tab to view MCP server logs
  4. You'll find MCP related logs as you interact with the MCP server
Testing the Connection

In Cursor's chat, try asking: "List all my DigitalOcean apps" - this should trigger the MCP server to fetch your apps if properly configured. If you are getting an 401 error or authentication related errors, it is likely due to misconfiguring your access token.


VS Code

Remote MCP (Recommended)

Add the remote MCP servers to your VS Code MCP configuration file:

{
  "mcp": {
    "inputs": [],
    "servers": {
      "digitalocean-apps": {
        "url": "https://apps.mcp.digitalocean.com/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      },
      "digitalocean-databases": {
        "url": "https://databases.mcp.digitalocean.com/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

You can add any of the endpoints listed in the Available Services section.

Local Installation

Add the following to your VS Code MCP configuration file:

{
  "mcp": {
    "inputs": [],
    "servers": {
      "mcpDigitalOcean": {
        "command": "npx",
        "args": [
          "@digitalocean/mcp",
          "--services",
          "apps"
        ],
        "env": {
          "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
        }
      }
    }
  }
}
Verify Installation
  1. Open VS Code and open Command Pallet ( Shift + ⌘ + P on Mac or Ctrl+ Shift + P on Windows/Linux )
  2. Search for "MCP" in the command pallet search bar
  3. Select "MCP: List Servers"
  4. Verify that "mcpDigitalOcean" appears in the list of configured servers
Viewing Available Tools

To see what tools are available from the MCP server:

  1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
  2. Select "Agent" mode in the chatbox,
  3. Click "Configure tools" on the right, and check for digitalocean related tools under MCP Server: mcpDigitalocean. You should be able to list available tools like app-create, app-list, app-delete, etc.
Debugging

To troubleshoot MCP connections:

  1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
  2. Type "Developer: Toggle Developer Tools" and press Enter
  3. Navigate to the Console tab to view MCP server logs
  4. Check for connection status and error messages

If you are getting an 401 error or authentication related errors, it is likely due to misconfiguring your access token.


Prerequisites for Local Installation

If you're using the local installation method (not Remote MCP), you'll need:

  • Node.js (v18 or later)
  • NPM (v8 or later)

You can find installation guides at https://nodejs.org/en/download

Verify your installation:

node --version
npm --version

Quick Test

To verify the local MCP server works correctly, you can test it directly from the command line:

npx @digitalocean/mcp --services apps

Configuration

Local Installation Configuration

When using the local installation, you use the --services flag to specify which service you want to enable. It is highly recommended to only enable the services you need to reduce context size and improve accuracy. See list of supported services below.

npx @digitalocean/mcp --services apps,droplets

Documentation

Each service provides a detailed README describing all available tools, resources, arguments, and example queries. See the following files for full documentation:

Example Tools

  • Deploy an app from a GitHub repo: create-app-from-spec
  • Resize a droplet: droplet-resize
  • Add a new SSH key: key-create
  • Create a new domain: domain-create
  • Enable backups on a droplet: droplet-enable-backups
  • Flush a CDN cache: cdn-flush-cache
  • Create a VPC peering connection: vpc-peering-create
  • Delete a VPC peering connection: vpc-peering-delete

Contributing

Contributions are welcome! If you encounter any issues or have ideas for improvements, feel free to open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Submit a pull request with a clear description of your changes.

License

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

About

MCP DigitalOcean Integration

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages