Your agent.
The same account.

The HTTP MCP endpoint at /api/mcp works on the same account as the website and REST API, with the access of an API key.

Connect

  1. Sign in, open your dashboard and create an API key. It is shown once; store it in your agent's secret manager.
  2. Set your MCP client's HTTP server URL to https://YOUR-DEPLOYMENT/api/mcp and send Authorization: Bearer bs_….
  3. Initialize, list tools, then call list_sources. Revoke the key on the dashboard when you no longer need it.

The endpoint speaks stateless JSON-RPC over HTTP POST, protocol version 2025-03-26. initialize and ping work without a key; tools/list and tools/call need one. Notifications return 202. There is no GET stream or server-initiated event; GET returns the server's name and protocol. A failed tool call returns its error as text with isError: true.

Tools

list_sources
List your sources, with each one's host link and execution state. none
add_source
Save a database, server, service or computer. Passwords are ignored and saving starts nothing. name, kind, storageMode; engine, host, user, database for a database
list_destinations
List your storage, its probeStatus and usage. none
add_destination
Save storage. New storage is unverified until a host reaches it. name, vendor, bucket, place?
start_backup
Queue a PostgreSQL backup on the source's main host, outside any plan. Returns the job, not a finished backup. sourceId, requestId?
list_backup_plans
List backup plans with schedule, storage, the host each runs on, next run and last backup. none
save_backup_plan
Create a plan, or update one by id: source, storage, schedule and the host that runs it. Saving does not run a backup. sourceId, name, id?, destinationIds?, scheduleMinutes?, firstRunAt?, enabled?, coordinatorId?, selection?, dumpStreams?
remove_backup_plan
Remove a plan. Its past backups and archives are kept. planId
run_backup_plan
Queue a plan's run now on its host, with its storage and settings. Returns the job. planId, requestId?
cancel_backup
Stop a queued or running job. A running host stops within about 15 seconds and keeps nothing from that run. jobId
list_backups
Up to 100 recent backup jobs with status and the host's reported result. sourceId?
run_restore_check
Queue an isolated restore check of one backup on the host that made it. sourceId, backupId, requestId?
start_restore
Always returns unavailable (503). Recovery into a separate database is manual. sourceId, backupId, location

Destination vendors are r2, b2, s3, hetzner, wasabi, gcs, azure, digitalocean, scaleway, s3compat and ssh. For ssh, place is ssh://user@host[:port] and bucket is an absolute directory. Poll list_backups, or GET /api/v1/restore-checks for restore checks, to see results. Queued is not finished.

Before you automate

An agent can only queue work on a source the owner has already linked to a private host. Host enrollment, source links, automatic restore checks, encryption keys and API keys need the signed-in owner on the website. An agent can create, change, run and remove backup plans with save_backup_plan and the other plan tools; schedules belong to each plan.

If the owner turned on automatic restore checks for a source, a successful backup an agent queues can trigger one. A passing check shows the archive restores into PostgreSQL. It does not test your application or prove an offsite copy. See the API reference for request bodies and errors, or practice the recovery workflow.