LetsCloud MCP Server
Manage LetsCloud infrastructure through natural language conversations. Supports both English and Portuguese.
LetsCloud MCP Server
๐ง๐ท Versรฃo em portuguรชs
Remote MCP server + REST API to manage LetsCloud infrastructure with AI assistants.
This project exposes LetsCloud's cloud platform through the Model Context Protocol (MCP) so AI assistants like Claude, Cursor, Windsurf, VS Code Copilot, and any MCP-compatible client can create and manage servers, snapshots and SSH keys on behalf of the user.
Unlike "local" MCP servers, this is a hosted service: any LetsCloud customer can connect by providing their API key โ no installation required on the client side.
The same backend also exposes a clean REST API under /api/v1 for plain HTTP integrations (curl, scripts, automations).
โจ Features
- ๐ Native MCP transport (Streamable HTTP) at
/mcp - ๐ REST API at
/api/v1mirroring every MCP tool - ๐ Per-request authentication via
Authorization: Bearer <api-key> - ๐ฆ Full coverage of the LetsCloud API โ instances, SSH keys, snapshots, plans, images, locations, account
- โก Async, fast and lightweight (FastAPI + httpx + official MCP SDK)
- ๐ณ Docker-ready
- ๐ Auto-generated OpenAPI docs at
/docs
๐ง How it works
โโโโโโโโโโโโโโโโโโโโ Authorization: Bearer <api-key> โโโโโโโโโโโโโโโโโโโโโโโโ
โ AI client (MCP) โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ โ mcp.letscloud.io/mcp โ
โ Claude, Cursorโฆ โ โ (this server) โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ api-token: <key>
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ core.letscloud.io/api โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The user's API key never leaves the request: the server just relays it to the LetsCloud upstream and returns the response. The server itself stores no credentials.
๐ Quick start (using the hosted server)
Get your API key
Generate an API key in the LetsCloud dashboard.
Configure your MCP client
Claude Desktop / Cursor / Windsurf (remote MCP)
{
"mcpServers": {
"letscloud": {
"url": "https://mcp.letscloud.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_LETSCLOUD_API_KEY"
}
}
}
}
Note: the exact field names may differ slightly between clients (some use
transport: "streamable-http", others auto-detect). Check your client's docs for "remote MCP server".
Test from curl (REST API)
curl -H "Authorization: Bearer YOUR_LETSCLOUD_API_KEY" \
https://mcp.letscloud.io/api/v1/account
curl -H "Authorization: Bearer YOUR_LETSCLOUD_API_KEY" \
https://mcp.letscloud.io/api/v1/instances
๐ ๏ธ Available tools
| MCP tool | REST endpoint | Description |
|---|---|---|
get_account_info | GET /api/v1/account | Account profile (name, balance, emailโฆ) |
list_locations | GET /api/v1/locations | All datacenter locations |
list_plans | GET /api/v1/locations/{slug}/plans | Plans available at a location |
list_images | GET /api/v1/locations/{slug}/images | OS images at a location |
list_ssh_keys | GET /api/v1/ssh-keys | List SSH keys |
get_ssh_key | GET /api/v1/ssh-keys/{title} | Get one SSH key |
create_ssh_key | POST /api/v1/ssh-keys | Create SSH key |
delete_ssh_key | DELETE /api/v1/ssh-keys/{slug} | Delete SSH key |
list_servers | GET /api/v1/instances | List instances |
get_server | GET /api/v1/instances/{id} | Instance details |
create_server | POST /api/v1/instances | Create instance |
delete_server | DELETE /api/v1/instances/{id} | Delete instance |
start_server | PUT /api/v1/instances/{id}/power-on | Power on |
shutdown_server | PUT /api/v1/instances/{id}/power-off | Power off |
reboot_server | PUT /api/v1/instances/{id}/reboot | Reboot |
reset_server_password | PUT /api/v1/instances/{id}/reset-password | Reset root password |
list_snapshots | GET /api/v1/snapshots | List snapshots |
get_snapshot | GET /api/v1/snapshots/{slug} | Snapshot details |
create_snapshot | POST /api/v1/instances/{id}/snapshots | Create snapshot |
update_snapshot | PUT /api/v1/snapshots/{slug} | Rename snapshot |
delete_snapshot | DELETE /api/v1/snapshots/{slug} | Delete snapshot |
Full interactive docs (with request/response schemas) are available at /docs.
๐ก Hosted vs self-hosted
This project ships as a hosted service at https://mcp.letscloud.io, operated by the LetsCloud team. As an end user you only need your LetsCloud API key โ there is nothing to install locally.
If you want to run your own private instance (corporate VPC, offline tests, contributions), see DEPLOY.md for a one-command Docker or Python setup.
๐ Authentication
Every request to /mcp and /api/v1/* must carry the user's LetsCloud API key in one of:
Authorization: Bearer <api-key>(recommended, MCP-friendly)X-LetsCloud-Token: <api-key>(fallback)
The server forwards the key to LetsCloud's API as api-token: <key> (matching the official Go SDK behavior). The server stores nothing.
๐๏ธ Architecture
src/letscloud_mcp/
โโโ main.py # FastAPI app, mounts /mcp and /api/v1
โโโ __main__.py # uvicorn entrypoint (python -m letscloud_mcp)
โโโ config.py # Settings via pydantic-settings
โโโ auth.py # Per-request token extraction (ContextVar)
โโโ logging_setup.py # structlog
โโโ letscloud/
โ โโโ client.py # Async httpx client for core.letscloud.io
โ โโโ models.py # Pydantic models (Profile, Instance, Snapshotโฆ)
โ โโโ exceptions.py
โโโ mcp_app/
โ โโโ server.py # FastMCP server (Streamable HTTP)
โ โโโ tools.py # @mcp.tool functions
โโโ rest/
โโโ routes.py # FastAPI router for /api/v1
๐ License
MIT โ see LICENSE.
๐ Links
- LetsCloud โ cloud provider
- Official Go SDK โ the basis for this client
- Model Context Protocol
- Self-hosting guide
- Security policy ยท Contributing
Related Servers
ๆๆๆ ๅคงๆฐๆฎๆๅก
Provides cloud migration services, including asset usage analysis, technology stack evaluation, and migration planning.
Commvault
Interact with Commvault software to access job details, security posture, and SLA status of the commcell.
MCP Gemini CLI
An MCP server for Google's Gemini CLI, allowing AI assistants to leverage Gemini's capabilities.
Dacast MCP Live Stream Server
Dacast MCP Live Stream Server connects your AI tools to Dacastโs live streaming and video hosting APIs, so you can create and manage live streams, playlists, thumbnails, and simulcasts using simple natural-language prompts.
MemOS
MemOS (Memory Operating System) is a memory management operating system designed for AI applications.
Merlin Energy โ BESS Quoting & Sales Intelligence
AI-powered BESS quoting & energy sales agent for Claude and other MCP clients. Generate TrueQuoteโข estimates, qualify leads, compare competitors, and produce proposals โ in seconds.
Cloudflare MCP Server
Deploy a remote, authentication-free MCP server on Cloudflare Workers.
Koyeb
Manage Koyeb resources like apps, services, and deployments using the Koyeb API.
Datadog MCP Server
An MCP server for the Datadog API, allowing you to search logs and traces.
AWS MCP Servers
Access AWS documentation, best practices, and service integrations via the Model Context Protocol.