LetsCloud
v2.0.0 running

LetsCloud MCP Server

Remote Model Context Protocol server + REST API to manage LetsCloud infrastructure directly from AI assistants like Claude, Cursor, Windsurf and any MCP-compatible client.

📚 API Docs (Swagger UI)
Interactive REST API explorer with request/response schemas.
📖 ReDoc
Reference-style API documentation.
🧾 OpenAPI Schema
Raw JSON schema for code-gen and integrations.
💚 Health
Liveness check endpoint.
ℹ️ Service info (JSON)
Machine-readable endpoint catalog.
🐙 GitHub
Source code, issues, and releases.

🔌 Connect an MCP client

Add this snippet to your client's MCP config (Claude Desktop, Cursor, Windsurf…):

{
  "mcpServers": {
    "letscloud": {
      "url": "https://mcp.letscloud.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_LETSCLOUD_API_KEY"
      }
    }
  }
}

⚡ Try it from curl

curl -H "Authorization: Bearer YOUR_LETSCLOUD_API_KEY" \
     https://mcp.letscloud.io/api/v1/account

🤖 Talk to your cloud — prompt examples

Once connected, just chat with the AI in plain English (or Portuguese). The assistant will pick the right tool, ask for confirmation when needed, and execute against your LetsCloud account.

📊 Inventory & billing
• "List all my LetsCloud servers and their status."
• "Which instances are powered off right now?"
• "Show my account balance and current plan."
🚀 Provisioning
• "Create a 2 GB Ubuntu 22.04 VPS in Miami called web-prod-01."
• "Spin up 3 Debian 12 servers in São Paulo with my SSH key laptop."
• "What plans are available in the Brazil region?"
⚙️ Lifecycle ops
• "Reboot the server web-prod-01."
• "Shutdown every server whose name starts with staging."
• "Reset the root password of db-01."
💾 Snapshots & backups
• "Take a snapshot of db-01 called pre-upgrade."
• "List all snapshots older than 30 days."
• "Rename the snapshot snap-12 to weekly-backup."
🔑 SSH keys
• "Add this public key to my account as laptop-2026."
• "Which servers were created with my laptop key?"
• "Delete the SSH key old-macbook."
🧹 Cleanup & cost saving
• "Find shutdown servers I haven't powered on in 14 days."
• "Estimate my monthly spend if I delete every staging-*."
• "Snapshot test-vm-07, then delete the server."

💬 Full conversation example

You → Provision a small Ubuntu server in Miami for a personal blog,
       use my "laptop" SSH key, and call it blog-prod.

AI  → I'll do this in 4 steps:
       1. list_locations → confirm Miami slug is MIA1
       2. list_plans     → pick the cheapest 1 GB plan (1c-1gb-25ssd)
       3. list_ssh_keys  → resolve "laptop" to key slug laptop-abc
       4. create_server(hostname="blog-prod", location="MIA1",
                        plan_slug="1c-1gb-25ssd", image="ubuntu-22.04",
                        ssh_slugs=["laptop-abc"])
       Shall I proceed? (yes/no)

You → yes

AI  → ✅ Created server blog-prod (id 91234, IP 192.0.2.45).
       Root login is disabled; use: ssh ubuntu@192.0.2.45

🛠️ Available MCP tools (21)

get_account_info · list_locations · list_plans · list_images · list_ssh_keys · get_ssh_key · create_ssh_key · delete_ssh_key · list_servers · get_server · create_server · delete_server · start_server · shutdown_server · reboot_server · reset_server_password · list_snapshots · get_snapshot · create_snapshot · update_snapshot · delete_snapshot

🔐 Authentication

Every request must carry your LetsCloud API key in Authorization: Bearer <api-key> (or the alternative X-LetsCloud-Token header). Tokens are never stored; they are only relayed to the LetsCloud upstream API.