MCP Server
Manage Cloudback backup definitions, storages, schedules, and retention policies from AI assistants like Claude Code, Claude Desktop, Cursor, and VS Code.
Last updated
Was this helpful?
Manage Cloudback backup definitions, storages, schedules, and retention policies from AI assistants like Claude Code, Claude Desktop, Cursor, and VS Code.
Want to manage Cloudback from your AI chat? Connect the Cloudback MCP server to Claude Code, Claude Desktop, Cursor, VS Code, or any other MCP-compatible client and change schedules, storages, and retention policies just by asking.

You need Docker installed and an MCP-compatible client. You can connect multiple accounts across different platforms in a single setup — each account uses its own API key.
Open the API Keys page and create an Operations API key for each account you want the assistant to manage. You can configure as many accounts as you like — one key per account.
appsettings.jsonSave this file anywhere on your machine (for example, at ~/cloudback-mcp/appsettings.json). You'll point the container at it in the next step.
Add one entry per account you want to expose. Each entry's value is Platform::Account::ApiKey, and the keys (1, 2, ...) just need to be unique. Supported platforms (case-insensitive): GitHub, AzureDevOps, GitLab, Linear.
In VS Code, open (or create) .vscode/mcp.json in your workspace — or your user-level mcp.json — and paste:
Replace /absolute/path/to/appsettings.json with the full path to the file you created in step 2.
The same docker run invocation works with Claude Code, Claude Desktop, Cursor, and any other stdio MCP client — check your client's docs for where to put its MCP config.
Reload the client and you're done.
Once connected, ask things like:
"List my Cloudback accounts."
"What backup definitions are enabled in my GitHub account?"
"Switch every repo with prod in the name to daily backups at 3 AM UTC."
"Create a new schedule that runs at 2 AM every day and make it the default."
"Change the retention policy to Keep 30 days for all GitLab definitions using the S3-main storage."
"Show me which storages are configured for my Linear workspace and delete the old S3-test one."
"Update my account defaults: timezone Europe/Berlin, default schedule Daily at 2 AM."
No accounts configured — the appsettings.json mount is wrong. Double-check the host path after -v and that it maps to /app/appsettings.json inside the container.
No API key configured for platform '...' and account '...' — the platform/account the assistant tried to use isn't in your appsettings.json. Ask it to list configured accounts first; lookup is case-insensitive but typos still fail.
Client shows a protocol error, or nothing happens — the MCP client must use the stdio transport. Don't wrap or redirect stdout; server logs go to stderr.
Operations API — the underlying HTTP API the server wraps
Last updated
Was this helpful?
Was this helpful?
{
"OpsApi": {
"BaseUrl": "https://app.cloudback.it/",
"Account": {
"1": "GitHub::your-org::your-api-key",
"2": "GitLab::your-group::your-api-key"
}
}
}{
"servers": {
"cloudback-ops": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v", "/absolute/path/to/appsettings.json:/app/appsettings.json:ro",
"myrtlelabs/cloudback-mcp:latest"
],
"type": "stdio"
}
}
}