Skip to content
Agentmart
Submit a tool

digitalocean-connect

Connect the DigitalOcean MCP server, choose OAuth or a scoped token, and fix 401, 403, and 429 errors.

Skill by digitaloceanOfficial

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/digitalocean-digitalocean-connect

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Connect the DigitalOcean MCP server, choose OAuth or a scoped token, and fix 401, 403, and 429 errors. Use for "connect DigitalOcean", "DO auth error", "token", or "permission denied".

Use cases: backend, security, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/digitalocean-connect

What's inside

Skill name
digitalocean-connect
Description
Connect the DigitalOcean MCP server, choose OAuth or a scoped token, and fix 401, 403, and 429 errors. Use for "connect DigitalOcean", "DO auth error", "token", or "permission denied".
License
MIT
Instructions
74 lines in SKILL.md · view on GitHub

Files (3)

  • METADATA.yml
  • SKILL.md
  • scope-bundles.md · references/

SKILL.md (first lines)

# Connect DigitalOcean MCP

This plugin ships a **single hosted MCP server** — **DigitalOcean MCP** at
`https://mcp.digitalocean.com/mcp`. It fronts every first-party DigitalOcean
service, so you connect **once** and reach all of them.

DigitalOcean MCP exposes three meta-tools (a discovery-to-run flow):

- `find_tools` — natural-language search that returns candidate tools by their
  qualified `service/tool` name.
- `retrieve_schema` — full input/output schema for one qualified tool name.
- `invoke_tool` — runs a tool by its qualified name with matching `arguments`.

Approval tiers still apply: the plugin hook unwraps the `invoke_tool` target
(for example `droplets/droplet-delete`) and enforces the tier maps.

## Default auth (v1)

- **OAuth** on first use — a single browser sign-in for DigitalOcean MCP. No
  per-service grants and no long-lived credentials stored in config.
- **Never ask for or accept a Personal Access Token (PAT) or API token in chat.**
  If the user pastes a token, tell them to **revoke it immediately** in the
  DigitalOcean control panel and authenticate through **Customize → MCP** OAuth
  instead.
- Configure an optional PAT only in the MCP server settings UI or local MCP
  config (`mcp.json` / Cursor MCP settings) as an `Authorization: Bearer` header,
  never in prompts, skills output, or committed files.
- **Database connection strings** (URI, password, CA material): never echo them,
  never write them to workspace files unless the user explicitly asks for a
  local copy in a named file.

## Connect workflow

DigitalOcean MCP is a single server, so there is nothing to connect per service.

1. In Cursor: **Customize → MCP** — enable the **digitalocean** server and
   complete OAuth when prompted.
1. Confirm the connection with a read-only discovery call (`find_tools`) or a
   Tier 1 read (for example `invoke_tool` → `droplets/droplet-list`) before any
   write.
1. The same OAuth grant covers accounts, droplets, apps, databases, networking,
   insights, docs, and the other services it fronts.

The public documentation MCP (`docs`) tools require no sign-in; they are reached
through the same DigitalOcean MCP connection.

## Errors

| Symptom | Likely cause                  | What to do                                                       |
| ------- | ----------------------------- | ---------------------------------------------------------------- |
| 401     | Missing or expired OAuth      | Re-authenticate the **digitalocean** server in Customize → MCP   |
| 403     | Insufficient scopes           | Reconnect with broader OAuth scopes — **not** chat-pasted tokens |
| 429     | Rate limit (5000/hr, 250/min) | Back off; honor `Retry-After`; reduce polling                    |

**App Platform + private GitHub** is separate from MCP OAuth. Signing in to
DigitalOcean MCP does not install the DigitalOcean GitHub app or grant repo
access. If `apps-create-app-from-spec` / `apps-update` return `GitHub user not authenticated`, use **digitalocean-app-platform** (user steps at
[Create an app](https://cloud.digitalocean.com/apps/new)), then retry the deploy call.

Public OAuth clients use **1-hour** access tokens and **single-use** refresh tokens.
Persist the latest refresh token only in MCP server configuration if the user runs
a custom client (not the default hosted flow).

## Scoped token (break-glass only)

Do **not** solicit PATs. If the user already configured a PAT in MCP settings
outside chat:

- Recommend **Read Only** (`api:read`) for inventory and troubleshooting.
- Require explicit opt-in before **write** scopes.
- Never echo the token in chat or logs.

See `skills/digitalocean-connect/references/scope-bundles.md` for suggested scope sets per skill.

From digitalocean/grokbot-plugin, MIT.

More from digitalocean/grokbot-plugin

Signals

Stars
1
Forks
2
Open issues
0
Last commit (this folder)
Oct 23, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from digitalocean

Cite this page

digitalocean-connect skill. Agent Mart. https://agentmart.dev/skills/digitalocean-digitalocean-connect (last updated 2026-10-24)