backupd

API and MCP

Automate backupd with API keys from CI or scripts, and connect Claude, Cursor and other MCP clients to read your databases, backups and usage.

Open Settings โ†’ API & MCP to create API keys and find the MCP server's address. Both are personal: they act as you, with the access your roles give you in each workspace.

API keys

Use an API key to automate backupd from CI pipelines or scripts.

Create a key

  1. Click Create key.
  2. Give it a Name, for example CI pipeline.
  3. Choose when it Expires: 30 days, 90 days, 1 year or Never. The default is 90 days.
  4. Click Create key and copy it. This is the only time it's shown.

Store the key in a secret manager, never in source code. It acts as you, with access to every workspace you belong to.

Use a key

Send the key in the x-api-key header. Requests are rate limited to 120 per minute.

curl -H "x-api-key: $BACKUPD_API_KEY" https://<api-address>/api-reference

Copy the exact address from Example request on the API & MCP page. The API reference served there lists every endpoint. A database's ID and its workspace are shown in the database's Settings tab, under Identifiers.

Manage keys

Each key shows its name, the start of the key, when it was last used, and when it expires. Expired keys are marked Expired. Click Revoke to stop a key working straight away.

MCP server

The MCP server lets Claude, Cursor and other MCP clients read your databases, backups and usage. Clients sign in with OAuth in your browser, so there is no key to paste.

Connect a client

Copy the MCP URL from Settings โ†’ API & MCP and add it to your client as a remote HTTP server. For Claude Code, copy the Command shown on the page:

claude mcp add --transport http backupd <MCP URL>

The first time the client connects, your browser opens to sign in to backupd and approve access.

Tools

All tools are read-only and only see workspaces you belong to.

ToolWhat it returns
list_workspacesWorkspaces you belong to, with your role.
list_databasesDatabases backed up in a workspace: engine, host, schedule, retention and status.
list_backupsThe most recent backup files with status and restore test result. Optionally only one database, by name.
get_usagePlan, storage used against included, projected extra storage, spending cap, and whether backups are copied to your own buckets.

Every tool except list_workspaces takes the workspace's slug, which list_workspaces returns.

Example prompts

  • "Which of my databases failed a backup this week?"
  • "When did production last pass a restore test?"
  • "How close is the Acme workspace to its included storage?"

Discovery for agents

Agents can find the API and the MCP server without reading these pages:

WhereWhat
https://backupd.dev/.well-known/api-catalogAPI catalog (RFC 9727): the OpenAPI description, reference and health check
https://backupd.dev/.well-known/mcp/server-card.jsonMCP server card: endpoint, transport, sign-in and tools
https://backupd.dev/.well-known/agent-skills/index.jsonAn agent skill that explains how to use backupd
https://api.backupd.dev/.well-known/oauth-protected-resourceOAuth metadata for the MCP server
https://backupd.dev/llms.txt and https://docs.backupd.dev/llms.txtEvery page of the site and the docs, for language models

Every page of the site and these docs also comes as Markdown: send Accept: text/markdown, or add .md to a docs URL.

On this page