# Configure Remote MCP DigitalOcean provides separate remote MCP servers for [multiple services](https://github.com/digitalocean-labs/mcp-digitalocean?tab=readme-ov-file#supported-services), each exposing tools and context specific to that service. You enable the services you need by adding the corresponding server URLs and authentication details to your local `mcp.json` file. The MCP client uses this configuration to connect to the remote servers and manage your DigitalOcean resources. ## Prerequisites To use the remote MCP servers, you need the following: - An MCP client such as [Claude](#claude), [Cursor](#cursor), [VS Code](#vs-code), or [Windsurf](#windsurf) - A [DigitalOcean API token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) **Warning**: Do not commit access tokens to your Git repository. Many MCP clients require you to put access tokens directly in their configuration files. This is safe only if the configuration file is **not** checked into a Git repository and has appropriately restricted read permissions. If the configuration file is in a Git repository, add it to `.gitignore` or use any available client-specific techniques (for example, VS Code’s [input variable substitution](https://code.visualstudio.com/docs/reference/variables-reference#_input-variables)) to avoid exposing your access token. ## Configure Remote MCP Servers MCP clients use a standard JSON format to configure MCP servers. The exact location of the `mcp.json` file and how it is applied depends on your MCP client. To enable a remote MCP service, add it to the `mcpServers` block of your client’s configuration. Each remote service entry requires three pieces of information: - A unique service key, such as `apps` or `databases` - The service’s URL, pointing to the hosted MCP server - A headers block, providing your authentication (for example, a bearer token) The following example configures connections to the App Platform (apps) and Databases (databases) remote MCP servers. Replace `` with your DigitalOcean API token, or use the client-specific method of variable substitution (if available) to keep your token out of the configuration file. ```json { "mcpServers": { "apps": { "url": "https://apps.mcp.digitalocean.com/mcp", "headers": { "Authorization": "" } }, "databases": { "url": "https://databases.mcp.digitalocean.com/mcp", "headers": { "Authorization": "" } } } } ``` ## Available Remote MCP Service Endpoints | Product/Service | Remote MCP Server URL | Service Key Suggestion | |---|---|---| | **App Platform** | `https://apps.mcp.digitalocean.com/mcp` | `apps` | | **Kubernetes** | `https://doks.mcp.digitalocean.com/mcp` | `doks` or `kubernetes` | | **Droplets** | `https://droplets.mcp.digitalocean.com/mcp` | `droplets` | | **Databases** | `https://databases.mcp.digitalocean.com/mcp` | `databases` | | **Spaces** | `https://spaces.mcp.digitalocean.com/mcp` | `spaces` | | **Networking** | `https://networking.mcp.digitalocean.com/mcp` | `networking` | | **Accounts** | `https://accounts.mcp.digitalocean.com/mcp` | `accounts` | | **Insights** | `https://insights.mcp.digitalocean.com/mcp` | `insights` | | **Marketplace** | `https://marketplace.mcp.digitalocean.com/mcp` | `marketplace` | Refer to the [`mcp-digitalocean` repository](https://github.com/digitalocean-labs/mcp-digitalocean) for more information on supported DigitalOcean services and detailed lists and descriptions of their available tools. ## Add Remote MCP Servers to Your MCP Client ### Claude To use DigitalOcean remote MCP servers with Claude Code and Claude Desktop, navigate to Claude Code’s settings and add a custom connector, then provide the remote MCP server URLs. Note that Remote MCP servers do *not* use `claude mcp add`, environment variables, or local executables. For more information, see the official Claude Support article [Getting Started with Custom Connectors Using Remote MCP](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp). ### Cursor See [Cursor’s Model Context Protocol docs](https://docs.cursor.com/context/model-context-protocol) to add a DigitalOcean remote MCP server to Cursor. ### Visual Studio Code See [Use MCP servers in VS Code](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) to add a DigitalOcean remote MCP server to Visual Studio Code. ### Windsurf See the [Windsurf Cascade MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp) to learn how to add a DigitalOcean remote MCP server to Windsurf. ## Troubleshooting If your DigitalOcean MCP server is not working as expected, check the following common issues. ### Authentication Issues The DigitalOcean MCP server requires an active and properly-scoped access token: - Ensure the `DIGITALOCEAN_API_TOKEN` variable is correctly set in the headers block of the MCP server. - Verify the access token has appropriate permissions for the services you're using. - Check that the access token hasn't expired. ### Unsupported Region or Service An LLM may configure services or features that are not available in the specified region: - Check [regional availability](https://docs.digitalocean.com/platform/regional-availability/index.html.md) for the service you're setting up. - Verify the service is available in your selected region. - Use `doctl compute region list` to see available regions. ### Debugging Best Practices When debugging issues with LLMs and the DigitalOcean MCP server, consider the following: - **Keep Logs**: Save the MCP request/response logs for reproducibility. - **Start Small**: Test with small and focused operations first before moving on to complex workflows. - **Check Permissions**: Ensure your API token has the necessary scopes.