@digitalocean/mcp 0.0.13 → 1.0.0-aplha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -190
- package/dist/app-create-schema.json +1946 -0
- package/dist/app-update-schema.json +1957 -0
- package/dist/mcp-digitalocean-darwin-amd64 +0 -0
- package/dist/mcp-digitalocean-darwin-arm64 +0 -0
- package/dist/mcp-digitalocean-linux-386 +0 -0
- package/dist/mcp-digitalocean-linux-amd64 +0 -0
- package/dist/mcp-digitalocean-linux-arm +0 -0
- package/dist/mcp-digitalocean-linux-arm64 +0 -0
- package/dist/mcp-digitalocean-windows-386.exe +0 -0
- package/dist/mcp-digitalocean-windows-amd64.exe +0 -0
- package/dist/mcp-digitalocean-windows-arm.exe +0 -0
- package/dist/mcp-digitalocean-windows-arm64.exe +0 -0
- package/index.js +87 -0
- package/package.json +36 -30
- package/build/DOMcpServer.js +0 -18
- package/build/api.js +0 -95
- package/build/index.js +0 -18
- package/build/index.js.map +0 -7
- package/build/logger.js +0 -47
- package/build/server.js +0 -29
- package/build/specs/digitalocean-openapi.yaml.zod.js +0 -10231
- package/build/tools/app.js +0 -613
- package/build/tools/databases.js +0 -306
- package/build/version.js +0 -5
package/README.md
CHANGED
|
@@ -1,191 +1,3 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Digitalocean MCP Server
|
|
2
2
|
|
|
3
|
-
[
|
|
4
|
-
|
|
5
|
-
This MCP server exposes DigitalOcean App Platform functionality through standardized tools that can be used by any MCP client, including [Claude Desktop](https://claude.ai/download) and [Cursor](https://docs.cursor.com/context/model-context-protocol). It enables AI assistants to directly manage your DigitalOcean apps without writing code or memorizing API endpoints.
|
|
6
|
-
|
|
7
|
-
[](https://cursor.com/install-mcp?name=digitalocean&config=eyJjb21tYW5kIjoibnB4IEBkaWdpdGFsb2NlYW4vbWNwIiwiZW52Ijp7IkRJR0lUQUxPQ0VBTl9BUElfVE9LRU4iOiJZT1VSX0RPX1RPS0VOIn19)
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 📚 Table of Contents
|
|
11
|
-
|
|
12
|
-
* [🚀 What Can You Do With It?](#-what-can-you-do-with-it)
|
|
13
|
-
* [🧰 Prerequisites](#-prerequisites)
|
|
14
|
-
* [⚙️ Setting up your DigitalOcean MCP Server](#️-setting-up-your-digitalocean-mcp-server)
|
|
15
|
-
|
|
16
|
-
* [Generate Your API Token](#1-generate-your-api-token)
|
|
17
|
-
* [Add the Server to Your MCP Client](#2-add-the-server-to-your-mcp-client)
|
|
18
|
-
* [Claude Desktop](#claude-desktop)
|
|
19
|
-
* [Cursor](#cursor)
|
|
20
|
-
* [Windsurf Setup](#windsurf-setup)
|
|
21
|
-
* [💬 Example Prompts](#-example-prompts)
|
|
22
|
-
* [🛠 Available Tools](#available-tools)
|
|
23
|
-
* [🧯 Troubleshooting](#troubleshooting)
|
|
24
|
-
* [🤝 Contributing](#contributing)
|
|
25
|
-
* [📄 License](#license)
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
## 🚀 What Can You Do With It?
|
|
29
|
-
|
|
30
|
-
You can now do things like:
|
|
31
|
-
|
|
32
|
-
- **Deploy a new app** from a GitHub repo
|
|
33
|
-
- **Quickly redeploy an existing app** with the latest changes
|
|
34
|
-
- **See logs,** restart components, or delete old environments
|
|
35
|
-
- **Check available regions** and create apps based on what’s supported
|
|
36
|
-
- **Build and deploy an app from scratch**, entirely through your assistant
|
|
37
|
-
|
|
38
|
-
...and more!
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 🧰 Prerequisites
|
|
43
|
-
To use the DigitalOcean MCP Server, you’ll need:
|
|
44
|
-
|
|
45
|
-
- **Node.js** (≥ 12) & **npm**
|
|
46
|
-
- A [DigitalOcean Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) with **App Platform** scopes
|
|
47
|
-
- A supported MCP client:
|
|
48
|
-
- [Claude Desktop](https://claude.ai/download) (v1.9+)
|
|
49
|
-
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview)
|
|
50
|
-
- [Cursor](https://docs.cursor.com/context/model-context-protocol)
|
|
51
|
-
- [Windsurf](https://windsurf.com)
|
|
52
|
-
- (Optional but helpful): [GitHub CLI (gh)](https://cli.github.com) - useful for cloning repos, creating projects, and working with GitHub-based apps.
|
|
53
|
-
|
|
54
|
-
> 💡 You do not need to install anything—this server runs via npx, with just a one-line config added to your MCP client.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## ⚙️ Setting up your DigitalOcean MCP Server
|
|
60
|
-
|
|
61
|
-
### 1. Generate Your API Token
|
|
62
|
-
Head to [DigitalOcean’s API settings](https://cloud.digitalocean.com/account/api/tokens) and create a new **Personal Access Token** with **App Platform** permissions.
|
|
63
|
-
|
|
64
|
-
### 2. Add the Server to Your MCP Client
|
|
65
|
-
Add this JSON snippet to your client’s MCP config file:
|
|
66
|
-
|
|
67
|
-
```json
|
|
68
|
-
{
|
|
69
|
-
"mcpServers": {
|
|
70
|
-
"digitalocean": {
|
|
71
|
-
"command": "npx",
|
|
72
|
-
"args": ["@digitalocean/mcp"],
|
|
73
|
-
"env": {
|
|
74
|
-
"DIGITALOCEAN_API_TOKEN": "YOUR_DO_TOKEN"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Here’s what each part of the snippet does:
|
|
82
|
-
|
|
83
|
-
- * **command**: how to launch the server (`npx` or full path)
|
|
84
|
-
- * **args**: the package name
|
|
85
|
-
- * **env**: insert your DO token here
|
|
86
|
-
|
|
87
|
-
Then follow the instructions for your specific tool:
|
|
88
|
-
|
|
89
|
-
### Claude Desktop
|
|
90
|
-
|
|
91
|
-
1. Go to **Settings → Developer → Edit Config**
|
|
92
|
-
2. Add the snippet above to `claude_desktop_config.json`
|
|
93
|
-
3. Replace `YOUR_DO_TOKEN` with your token
|
|
94
|
-
4. Save and **restart Claude Desktop**
|
|
95
|
-
5. You'll see “digitalocean” listed as an available server
|
|
96
|
-
|
|
97
|
-

|
|
98
|
-
*Setting up DigitalOcean MCP Server in Claude Desktop*
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
### Cursor
|
|
102
|
-
|
|
103
|
-
1. Go to **Settings → Cursor Settings → MCP → Add a new global MCP server**
|
|
104
|
-
2. Cursor will open `~/.cursor/mcp.json`
|
|
105
|
-
3. Add the snippet above to this json file
|
|
106
|
-
4. Replace `YOUR_DO_TOKEN` with your token
|
|
107
|
-
5. Save, and return to MCP Settings.
|
|
108
|
-
6. You should now see “digitalocean” in Cursor’s MCP settings
|
|
109
|
-
|
|
110
|
-

|
|
111
|
-
*Setting up DigitalOcean MCP Server in Cursor*
|
|
112
|
-
|
|
113
|
-
### Windsurf Setup
|
|
114
|
-
|
|
115
|
-
1. In Windsurf: **Settings → Windsurf Settings → Cascade → MCP → Add Server → Add custom server**
|
|
116
|
-
2. Windsurf will open `~/.codeium/windsurf/mcp_config.json`
|
|
117
|
-
3. Add the snippet above to this json file
|
|
118
|
-
4. Replace `YOUR_DO_TOKEN` with your token
|
|
119
|
-
5. Save, and return to MCP Settings.
|
|
120
|
-
6. You should now see “digitalocean” in Windsurf's MCP settings
|
|
121
|
-
|
|
122
|
-

|
|
123
|
-
|
|
124
|
-
*Setting up DigitalOcean MCP Server in Windsurf*
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
## 💬 Example Prompts
|
|
128
|
-
|
|
129
|
-
Once it’s configured, try asking your assistant:
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
“List all active apps on my account”
|
|
133
|
-
“Create a new app from https://github.com/do-community/do-one-click-deploy-flask with 1GB RAM in NYC3”
|
|
134
|
-
“Show logs for checkout-service”
|
|
135
|
-
“Cancel the current deployment for marketing-site”
|
|
136
|
-
“Delete the old `staging-env` app”
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
The assistant will send the request → the MCP server talks to DigitalOcean → you get structured results, ready to act on.
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Available Tools
|
|
144
|
-
|
|
145
|
-
| Category | Commands |
|
|
146
|
-
| --------------- | ------------------------------------------------------------------------------------- |
|
|
147
|
-
| **Apps** | `list_apps`, `create_app`, `get_app`, `update_app`, `delete_app`, `restart_app` |
|
|
148
|
-
| **Deployments** | `list_deployments`, `create_deployment`, `get_deployment`, `cancel_deployment` |
|
|
149
|
-
| **Logs** | `retrieve_active_deployment_logs`, `download_logs` |
|
|
150
|
-
| **Infra** | `list_app_regions`, `list_instance_sizes` |
|
|
151
|
-
| **Alerts** | `list_app_alerts`, `update_app_alert_destinations` |
|
|
152
|
-
| **Rollbacks** | `validate_app_rollback`, `rollback_app`, `commit_app_rollback`, `revert_app_rollback` |
|
|
153
|
-
| **Metrics** | `get_app_bandwidth_daily_metrics`, `get_all_app_bandwidth_daily_metrics` |
|
|
154
|
-
| **Validation** | `validate_app_spec` |
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Troubleshooting
|
|
159
|
-
|
|
160
|
-
### The server doesn’t appear in your client?
|
|
161
|
-
- Make sure your JSON config is saved and valid
|
|
162
|
-
- Restart your MCP client (Claude, Cursor, Windsurf)
|
|
163
|
-
|
|
164
|
-
### Token not working?
|
|
165
|
-
- Check that it has App Platform access
|
|
166
|
-
- Try generating a fresh one
|
|
167
|
-
|
|
168
|
-
### JSON errors?
|
|
169
|
-
- No trailing commas
|
|
170
|
-
- No comments allowed in JSON
|
|
171
|
-
|
|
172
|
-
You can also test the server directly by running:
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
npx @digitalocean/mcp
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Contributing
|
|
181
|
-
We’d love your help improving this! Bug reports, new features, and docs improvements are all welcome.
|
|
182
|
-
|
|
183
|
-
1. Fork this repo
|
|
184
|
-
2. Create a branch (`git checkout -b feature/awesome-tool`)
|
|
185
|
-
3. Open a PR
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## License
|
|
190
|
-
|
|
191
|
-
This project is licensed under the [MIT License](LICENSE).
|
|
3
|
+
NPM package for DigitalOcean MCP server, providing integration with DigitalOcean's services. For full documentation, see [DigitalOcean MCP](https://github.com/digitalocean-labs/mcp-digitalocean/blob/main/README.md)
|