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
- Sign in, open your dashboard and create an API key. It is shown once; store it in your agent's secret manager.
- Set your MCP client's HTTP server URL to
https://YOUR-DEPLOYMENT/api/mcpand sendAuthorization: Bearer bs_…. - 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.