MCP Server

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.

Cloudback MCP Server in Visual Studio Code

Quick setup

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.

1. Create API keys

Open the API Keys pagearrow-up-right 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.

2. Create appsettings.json

Save 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.

3. Register the server with your MCP client

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.

Typical prompts

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."

Troubleshooting

  • 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.

References

Last updated

Was this helpful?