@digitalocean/mcp 1.0.9 → 1.0.10
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 +123 -82
- 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/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,28 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
MCP DigitalOcean Integration is an open-source project that provides a comprehensive interface for managing DigitalOcean resources and performing actions using the [DigitalOcean API](https://docs.digitalocean.com/reference/api/). Built on top of the [godo](https://github.com/digitalocean/godo) library and the [MCP framework](https://github.com/mark3labs/mcp-go), this project exposes a wide range of tools to simplify cloud infrastructure management.
|
|
4
4
|
|
|
5
|
-
> DISCLAIMER
|
|
5
|
+
> **DISCLAIMER:** "Use of MCP technology to interact with your DigitalOcean account [can come with risks](https://www.wiz.io/blog/mcp-security-research-briefing)"
|
|
6
6
|
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
#### Prerequisites
|
|
7
|
+
## Prerequisites
|
|
10
8
|
|
|
11
9
|
- Node.js (v18 or later)
|
|
12
10
|
- NPM (v8 or later)
|
|
13
11
|
|
|
12
|
+
You can find installation guides at [https://nodejs.org/en/download](https://nodejs.org/en/download)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Verify your installation:
|
|
14
16
|
```bash
|
|
15
17
|
node --version
|
|
16
18
|
npm --version
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
## Quick Test
|
|
20
22
|
|
|
23
|
+
To verify the MCP server works correctly, you can test it directly from the command line:
|
|
21
24
|
```bash
|
|
22
|
-
npx @digitalocean/mcp --services apps
|
|
25
|
+
npx @digitalocean/mcp --services apps
|
|
23
26
|
```
|
|
24
|
-
---
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
### Claude Code
|
|
27
31
|
|
|
28
32
|
To add the DigitalOcean MCP server to [Claude Code](https://www.anthropic.com/claude-code), run the following command in your terminal:
|
|
29
33
|
|
|
@@ -34,32 +38,33 @@ claude mcp add digitalocean-mcp \
|
|
|
34
38
|
```
|
|
35
39
|
|
|
36
40
|
This will:
|
|
41
|
+
- Add the MCP server under the default (local) scope — meaning it's only available inside the current folder.
|
|
42
|
+
- Register it with the name `digitalocean-mcp`.
|
|
43
|
+
- Enable the `apps` and `databases` services.
|
|
44
|
+
- Pass your DigitalOcean API token securely to the server.
|
|
45
|
+
- Store the configuration in your global Claude config at `~/.claude.json`, scoped to the current folder.
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
* Register it with the name `digitalocean-mcp`.
|
|
40
|
-
* Enable the `apps` and `databases` services.
|
|
41
|
-
* Pass your DigitalOcean API token securely to the server.
|
|
42
|
-
* Store the configuration in your global Claude config at `~/.claude.json`, scoped to the current folder.
|
|
43
|
-
|
|
47
|
+
#### Verify Installation
|
|
44
48
|
To confirm it's been added:
|
|
45
|
-
|
|
46
49
|
```bash
|
|
47
50
|
claude mcp list
|
|
48
51
|
```
|
|
49
52
|
|
|
53
|
+
#### Inspect Details
|
|
50
54
|
To inspect details:
|
|
51
|
-
|
|
52
55
|
```bash
|
|
53
56
|
claude mcp get digitalocean-mcp
|
|
54
57
|
```
|
|
55
58
|
|
|
59
|
+
#### Remove Server
|
|
56
60
|
To remove it:
|
|
57
|
-
|
|
58
61
|
```bash
|
|
59
62
|
claude mcp remove digitalocean-mcp
|
|
60
63
|
```
|
|
61
64
|
|
|
62
|
-
|
|
65
|
+
### Claude Desktop
|
|
66
|
+
|
|
67
|
+
Alternatively, add the following to your claude_desktop_config.json file.
|
|
63
68
|
|
|
64
69
|
```json
|
|
65
70
|
{
|
|
@@ -75,13 +80,11 @@ Alternatively, add the following to your **claude_desktop_config.json** file.
|
|
|
75
80
|
}
|
|
76
81
|
```
|
|
77
82
|
|
|
78
|
-
|
|
83
|
+
### Claude Code (User Scope)
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
**Local scope** is great when you're testing or only using the server in one project.
|
|
82
|
-
**User scope** is better if you want it available everywhere.
|
|
85
|
+
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.
|
|
83
86
|
|
|
84
|
-
If you
|
|
87
|
+
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:
|
|
85
88
|
|
|
86
89
|
```bash
|
|
87
90
|
claude mcp add -s user digitalocean-mcp-user-scope \
|
|
@@ -90,22 +93,20 @@ claude mcp add -s user digitalocean-mcp-user-scope \
|
|
|
90
93
|
```
|
|
91
94
|
|
|
92
95
|
This will:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
* Store it in your global Claude config at `~/.claude.json`
|
|
96
|
+
- Make the server available in all folders, not just the one you're in
|
|
97
|
+
- Scope it to your user account
|
|
98
|
+
- Store it in your global Claude config at `~/.claude.json`
|
|
97
99
|
|
|
98
100
|
To remove it:
|
|
99
|
-
|
|
100
101
|
```bash
|
|
101
102
|
claude mcp remove -s user digitalocean-mcp-user-scope
|
|
102
103
|
```
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
### Cursor
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
[](https://cursor.com/en/install-mcp?name=digitalocean&config=eyJjb21tYW5kIjoibnB4IEBkaWdpdGFsb2NlYW4vbWNwIC0tc2VydmljZXMgYXBwcyIsImVudiI6eyJESUdJVEFMT0NFQU5fQVBJX1RPS0VOIjoiWU9VUl9BUElfVE9LRU4ifX0%3D)
|
|
107
108
|
|
|
108
|
-
|
|
109
|
+
Add the following to your Cursor settings file located at `~/.cursor/config.json`:
|
|
109
110
|
|
|
110
111
|
```json
|
|
111
112
|
{
|
|
@@ -121,29 +122,77 @@ claude mcp remove -s user digitalocean-mcp-user-scope
|
|
|
121
122
|
}
|
|
122
123
|
```
|
|
123
124
|
|
|
124
|
-
####
|
|
125
|
+
#### Verify Installation in Cursor
|
|
126
|
+
|
|
127
|
+
1. Open Cursor and open Command Pallet ( `Shift + ⌘ + P` on Mac or `Ctrl+ Shift + P` on Windows/Linux )
|
|
128
|
+
2. Search for "MCP" in the command pallet search bar
|
|
129
|
+
3. Select "View: Open MCP Settings"
|
|
130
|
+
4. Select "Tools & Integrations" from the left sidebar
|
|
131
|
+
5. You should see "digitalocean" listed under Available MCP Servers
|
|
132
|
+
6. Click on "N tools enabled" (N is the number of tools currently enabled).
|
|
133
|
+
|
|
134
|
+
#### Debugging in Cursor
|
|
135
|
+
|
|
136
|
+
To check MCP server logs and debug issues:
|
|
137
|
+
1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
|
|
138
|
+
2. Type "Developer: Toggle Developer Tools" and press Enter
|
|
139
|
+
3. Navigate to the Console tab to view MCP server logs
|
|
140
|
+
4. You'll find MCP related logs as you interact with the MCP server
|
|
141
|
+
|
|
142
|
+
#### Testing the Connection
|
|
143
|
+
|
|
144
|
+
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.
|
|
145
|
+
|
|
146
|
+
### VS Code
|
|
147
|
+
|
|
148
|
+
Add the following to your VS Code MCP configuration file:
|
|
149
|
+
|
|
125
150
|
```json
|
|
126
151
|
{
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
}
|
|
152
|
+
"mcp": {
|
|
153
|
+
"inputs": [],
|
|
154
|
+
"servers": {
|
|
155
|
+
"mcpDigitalOcean": {
|
|
156
|
+
"command": "npx",
|
|
157
|
+
"args": [
|
|
158
|
+
"@digitalocean/mcp",
|
|
159
|
+
"--services",
|
|
160
|
+
"apps"
|
|
161
|
+
],
|
|
162
|
+
"env": {
|
|
163
|
+
"DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
|
|
141
164
|
}
|
|
165
|
+
}
|
|
142
166
|
}
|
|
167
|
+
}
|
|
143
168
|
}
|
|
144
169
|
```
|
|
145
170
|
|
|
146
|
-
|
|
171
|
+
#### Verify Installation in VS Code
|
|
172
|
+
|
|
173
|
+
1. Open Cursor and open Command Pallet ( `Shift + ⌘ + P` on Mac or `Ctrl+ Shift + P` on Windows/Linux )
|
|
174
|
+
2. Search for "MCP" in the command pallet search bar
|
|
175
|
+
3. Select "MCP: List Servers"
|
|
176
|
+
4. Verify that "mcpDigitalOcean" appears in the list of configured servers
|
|
177
|
+
|
|
178
|
+
#### Viewing Available Tools
|
|
179
|
+
|
|
180
|
+
To see what tools are available from the MCP server:
|
|
181
|
+
1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
|
|
182
|
+
2. Select "Agent" mode in the chatbox,
|
|
183
|
+
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.
|
|
184
|
+
|
|
185
|
+
#### Debugging in VS Code
|
|
186
|
+
|
|
187
|
+
To troubleshoot MCP connections:
|
|
188
|
+
1. Open the Command Palette (⌘+Shift+P on Mac or Ctrl+Shift+P on Windows/Linux)
|
|
189
|
+
2. Type "Developer: Toggle Developer Tools" and press Enter
|
|
190
|
+
3. Navigate to the Console tab to view MCP server logs
|
|
191
|
+
3. Check for connection status and error messages
|
|
192
|
+
|
|
193
|
+
If you are getting an 401 error or authentication related errors, it is likely due to misconfiguring your access token.
|
|
194
|
+
|
|
195
|
+
## Configuration
|
|
147
196
|
|
|
148
197
|
To configure tools, you use the `--services` flag to specify which service you want to enable. It is highly recommended to only
|
|
149
198
|
enable the services you need to reduce context size and improve accuracy. See list of supported services below.
|
|
@@ -156,36 +205,33 @@ npx @digitalocean/mcp --services apps,droplets
|
|
|
156
205
|
|
|
157
206
|
The MCP DigitalOcean Integration supports the following services, allowing users to manage their DigitalOcean infrastructure effectively
|
|
158
207
|
|
|
159
|
-
|
|
|
160
|
-
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
Each service provides a detailed README describing all available tools, resources, arguments, and example queries.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
- [
|
|
177
|
-
- [
|
|
178
|
-
- [
|
|
179
|
-
- [
|
|
180
|
-
- [
|
|
181
|
-
- [
|
|
182
|
-
- [
|
|
183
|
-
- [
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
### Example Tool Usage
|
|
208
|
+
| Service | Description |
|
|
209
|
+
|--------------|-----------------------------------------------------------------------------------------|
|
|
210
|
+
| apps | Manage DigitalOcean App Platform applications, including deployments and configurations. |
|
|
211
|
+
| droplets | Create, manage, resize, snapshot, and monitor droplets (virtual machines) on DigitalOcean. |
|
|
212
|
+
| accounts | Get information about your DigitalOcean account, billing, balance, invoices, and SSH keys. |
|
|
213
|
+
| networking | Manage domains, DNS records, certificates, firewalls, reserved IPs, VPCs, and CDNs. |
|
|
214
|
+
| insights | Monitors your resources, endpoints and alert you when they're slow, unavailable, or SSL certificates are expiring. |
|
|
215
|
+
| spaces | DigitalOcean Spaces object storage and Spaces access keys for S3-compatible storage. |
|
|
216
|
+
| databases | Provision, manage, and monitor managed database clusters (Postgres, MySQL, Redis, etc.). |
|
|
217
|
+
| marketplace | Discover and manage DigitalOcean Marketplace applications. |
|
|
218
|
+
| doks | Manage DigitalOcean Kubernetes clusters and node pools. |
|
|
219
|
+
|
|
220
|
+
## Documentation
|
|
221
|
+
|
|
222
|
+
Each service provides a detailed README describing all available tools, resources, arguments, and example queries. See the following files for full documentation:
|
|
223
|
+
|
|
224
|
+
- [Apps Service](internal/apps/README.md)
|
|
225
|
+
- [Droplet Service](internal/droplet/README.md)
|
|
226
|
+
- [Account Service](internal/account/README.md)
|
|
227
|
+
- [Networking Service](internal/networking/README.md)
|
|
228
|
+
- [Databases Service](internal/dbaas/README.md)
|
|
229
|
+
- [Insights Service](internal/insights/README.md)
|
|
230
|
+
- [Spaces Service](internal/spaces/README.md)
|
|
231
|
+
- [Marketplace Service](internal/marketplace/README.md)
|
|
232
|
+
- [DOKS Service](internal/doks/README.md)
|
|
233
|
+
|
|
234
|
+
## Example Tools
|
|
189
235
|
|
|
190
236
|
- Deploy an app from a GitHub repo: `create-app-from-spec`
|
|
191
237
|
- Resize a droplet: `droplet-resize`
|
|
@@ -196,19 +242,14 @@ See the following files for full documentation:
|
|
|
196
242
|
- Create a VPC peering connection: `vpc-peering-create`
|
|
197
243
|
- Delete a VPC peering connection: `vpc-peering-delete`
|
|
198
244
|
|
|
199
|
-
---
|
|
200
|
-
|
|
201
245
|
## Contributing
|
|
202
246
|
|
|
203
247
|
Contributions are welcome! If you encounter any issues or have ideas for improvements, feel free to open an issue or submit a pull request.
|
|
204
248
|
|
|
205
|
-
### How to Contribute
|
|
206
249
|
1. Fork the repository.
|
|
207
250
|
2. Create a new branch for your feature or bug fix.
|
|
208
251
|
3. Submit a pull request with a clear description of your changes.
|
|
209
252
|
|
|
210
|
-
---
|
|
211
|
-
|
|
212
253
|
## License
|
|
213
254
|
|
|
214
255
|
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitalocean/mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "DigitalOcean MCP Implementation,",
|
|
5
5
|
"author": "DigitalOcean",
|
|
6
6
|
"homepage": "https://github.com/digitalocean-labs/mcp-digitalocean?tab=readme-ov-file#mcp-digitalocean-integration",
|