Give your agent the API, as tools.
The DanubeData MCP server turns nearly every operation of the API into a typed tool. Point Claude Code, Cursor, VS Code, Codex or OpenCode at one address, and your agent can create, inspect and fix real infrastructure, within the limits of the token you give it.
- 253 tools
- 14 toolsets
- Streamable HTTP
- EU hosted
$ claude mcp add --transport http \
danubedata "https://danubedata.ro/mcp" \
--header "Authorization: Bearer YOUR_TOKEN"
you Create a PostgreSQL database for
staging. Tell me when it is ready.
tool database_plans
200 OK · GET /api/v1/database/plans
tool database_create
201 Created · POST /api/v1/database
tool database_get
200 OK · GET /api/v1/database/{id}
agent staging-db is ready in fsn1.What customers say
“As a developer and cloud enthusiast, I’ve tried a lot of infrastructure platforms — but DanubeData genuinely stands out as one of the most intuitive, modern, and reliable cloud services I’ve used. From signup to deployment, everything feels thoughtfully designed and developer-centric. Deploying a VPS, cache, or database instance takes under a minute — and that’s not an exaggeration! Their intuitive dashboard and instant provisioning make launching new services effortless, even if you’re just getting started with cloud infrastructure”
Three steps, then you just ask
There is nothing to install on the server side and nothing to run on your machine. The MCP server is part of DanubeData.
Make a token for the agent
On Security, API tokens, create a token of its own for the agent: locked to one project, with only the abilities the job needs. Most tools also need a payment method on file for the project.
Add one address to your client
The server speaks Streamable HTTP and takes the token as a bearer header. Every client's configuration is below, and the console can write it for you.
Ask in plain language
The agent picks the tools it needs. Each tool call is one call to the REST API, made with your token, and comes back as the API's own JSON with a status line.
Connect your client
One address for every client:
https://danubedata.ro/mcp
claude mcp add --transport http danubedata "https://danubedata.ro/mcp" --header "Authorization: Bearer YOUR_TOKEN"Replace YOUR_TOKEN with the agent's token. Add --scope user to use the server in every project, then type /mcp in Claude Code: danubedata should show Connected.
Load only what the task needs
With no options the server lists every tool your account can use. Name toolsets in the address to narrow it, or make it read-only: 134 of the 253 tools only read.
- Two toolsets
- https://danubedata.ro/mcp?toolsets=vps,database
- Read-only
- https://danubedata.ro/mcp?read_only=1
- VPSvps25 tools
- Databasesdatabase30 tools
- Cachescache17 tools
- Queuesqueue12 tools
- Object storagestorage17 tools
- Rapidsserverless37 tools
- Static sitesstatic_sites15 tools
- Appsapps12 tools
- Container registryregistry9 tools
- Backups and recoverysnapshots15 tools
- Firewallsfirewalls8 tools
- SSH keysssh_keys4 tools
- Monitoringmonitoring41 tools
- Accountaccount11 tools
Your token is the boundary
The MCP server adds no powers of its own. Everything an agent does goes through the same API, the same abilities and the same limits as your scripts.
- Each tool call is an API call made with the token you give the agent. It can do what that token can do, and nothing more.
- Lock the token to one project and tick only the abilities the job needs. A token with vps:read but not vps:write can look at servers and cannot change them.
- Read-only mode is enforced by the server: with read_only=1 in the address, tools that change something are not listed and cannot be called.
- Everything a tool returns reaches the model your client uses. Tools that return a password, a key, a connection string, environment values or logs say so in their description, so the agent knows not to repeat them.
- Leave the password abilities, such as database:credentials, off the token unless the agent has to read passwords.
- A Rapids container's environment variables come back with their values to any token that can read or change the container. Keep secrets the agent should not see out of them, or leave both serverless:read and serverless:write off its token.
- Retrying a create is safe where the API allows it: those tools take an idempotency_key, and the first answer is replayed instead of a second resource being made.
404 Not Found · GET /api/v1/ssh-keys/999999999
Not found. ssh_keys_list lists valid ssh_key values. For a project's resource, also check which project the call acts on: the one the token is locked to, or the X-Team-Id header in the connection's configuration.
422 Unprocessable Content · POST /api/v1/ssh-keys
Validation failed: fix the fields named in "errors" and call again.Every answer from the API starts with the HTTP status and the API path, followed by the API's own JSON, so the agent never has to guess what happened.
Ask for the outcome
You describe what you need. The agent finds the tools, and you can see every call it makes.
Create a PostgreSQL database for staging and tell me when it is ready.
Tools it reaches for
- database_plans
- database_create
- database_get
Why does my Rapids container keep restarting?
Tools it reaches for
- serverless_list
- serverless_diagnose
Which of my servers is nearly idle right now?
Tools it reaches for
- vps_list
- vps_metrics
Snapshot the production database before I run the migration.
Tools it reaches for
- database_list
- snapshots_database_create
Alert me when a server's CPU stays above 90%.
Tools it reaches for
- vps_list
- metric_alerts_create
Make an access key that only reaches the assets bucket.
Tools it reaches for
- storage_buckets_list
- storage_access_keys_create
Prefer a terminal, or a reviewed plan before anything changes? The same API is behind the danube CLI and the Terraform provider.
Compare the three waysQuestions about the MCP server
How agents connect, what they can reach, and how you stay in control.
Claude Code, Cursor, VS Code, Codex and OpenCode have their configuration on this page. Any MCP client that speaks Streamable HTTP and lets you set a request header works too. Clients that connect only through OAuth, such as custom connectors in claude.ai and ChatGPT, cannot connect yet: the server takes an API token.
Your agent is one address away.
Create a token, add the server to your client, and ask for what you need.