Skip to the page content

API and MCPAPI and MCP

API and MCP

API and MCP

Deploy and manage Ubuntu VPS instances with the RepoCloud REST API or from MCP clients that can send a custom Authorization header

Overview

The RepoCloud API lets you deploy, manage, and destroy Ubuntu VPS instances programmatically. It works on servers that were created through the API with a key: an Ubuntu VPS made in the dashboard answers 404 to every API call. It is ideal for:

  • AI coding agents (Cursor, Claude Code, Codex) that need to provision servers on demand
  • Automation scripts that deploy infrastructure as part of CI/CD pipelines
  • Custom dashboards that manage RepoCloud instances alongside other services

The API is available at https://repocloud.io/api/v1/ and follows REST conventions with JSON request and response bodies, with the exceptions listed under Response Format.

MCP Integration

The same API powers the Model Context Protocol (MCP) integration. An MCP client that can send a custom Authorization header connects to RepoCloud as a tool server at https://mcp.repocloud.io/mcp, and its AI agent can deploy servers, check instance status, and manage Ubuntu VPS servers created through the API, in natural language. The server offers five tools, and each one calls one REST endpoint with your own key.

Quick Start

  1. Get an API Key

    Make a payment of $1 or more on your account, then go to the API / MCP tab in your dashboard. The first visit creates a key called Default and shows it once (“Copy it now — it won’t be shown again.”). Later keys come from Generate New Key. Without the payment, the page shows no key.

  2. Deploy a VPS

    bash
    curl -X POST https://repocloud.io/api/v1/instances \
      -H "Authorization: Bearer rcmcp_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{"project_name": "my-server", "flavor": "s-1vcpu-2gb"}'

    The call needs a balance above $3 and answers HTTP 202 with the details of the new server, including the instance_id that the next call uses. See Deploy Instances for the whole reply.

  3. Check Status

    bash
    curl https://repocloud.io/api/v1/instances/123 \
      -H "Authorization: Bearer rcmcp_your_key_here"

    The number is the instance_id of the deploy reply, an integer.

Scope

The API currently supports Ubuntu VPS instances only, and it sees only the servers created through it with a key. It has no endpoints for snapshots, SSH keys, custom domains, billing, Container Apps, or AI Deploy. Container App deployment and management are available through the web dashboard. Applications that RepoCloud installs on a VPS (Coolify, Dokploy, and others) go through AI Deploy, which puts a GitHub project on an Ubuntu VPS and is not part of the API.

Base URL

All API endpoints use the base URL:

https://repocloud.io/api/v1/

Paths are appended directly, for example https://repocloud.io/api/v1/instances.

Response Format

Responses are JSON. Successful responses return the requested data directly. Errors return a JSON object with an error field and an optional detail field; some also carry hint, retry_after, or balance:

json
{
  "error": "Insufficient balance",
  "detail": "Balance must be greater than $3 to deploy. Deposit at /billing.",
  "balance": 2.5
}

Not every failure is JSON. An unknown path answers an HTML 404 page and a wrong method an HTML 405 page. A request body that is not a JSON object (or that has a number where text is expected) answers the default HTML 500 page, as does an unexpected fault while deleting a server.

Rate Limits

Scope Limit
General (every call that carries a key) 60 requests per 60 seconds per API key
Deploy (POST /instances) 5 requests per hour per API key; every attempt counts, including one that fails validation

When rate-limited, the API returns HTTP 429 with a Retry-After header indicating how many seconds to wait (at most 60 for the general limit and at most 3600 for deploys), and the same number in the JSON field retry_after:

json
{
  "error": "Rate limit exceeded",
  "retry_after": 42
}

The key management routes (which use your dashboard session) and the OpenAPI file are not counted. The counters live in the memory of each web server process.

Search the documentation

Type to search the documentation.

Get started for free

Sign up and get free credit for your first 30 days at RepoCloud

Get Started

This offer applies to new customers