mcpbeat Sign in

Clousd MCP Server

by clousd-android Your server? Claim it
answering

Clousd MCP is answering right now. Last checked 2 min ago. 1 839 installs a week from pypi. It exposes 10 tools. Last commit 13 Oct 2026.

A real Android phone in the cloud for MCP agents: observe the screen, act, reset to a saved state.

Installs per day peak 930 · avg 82 · +193% w/w
a month agotoday
Uptime history 8 days of history · worst day 0%
8 days agonow
100.0%
Uptime 24h
92 of 92 checks
10
Tools
read from the server
103 ms
Response time
average over 24h
1 839
Installs / week
npm and PyPI

What changed 12

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 16 October 2026. No other catalogue keeps this.

16 Oct 6 tools changed the parameters they ask for act, devices, inspect and 3 more
16 Oct 4 tools appeared account, fleet, network and 1 more
16 Oct 2 tool descriptions were rewritten devices, recipe

What the code does

We read the source, 3 d ago · tools taken from the live server · rules ccca72095570

In the project's build, not in the package

Found in continuous integration, deployment or infrastructure files, or in a neighbouring package of the same monorepo. None of this is installed when you add the server: it describes how the project is built and released. We list it because a leaked key in a build pipeline is still a real problem, but it is not something this server does on your machine.

Runs with shell=True python/clousd/bench.py:157
    Task("dark_theme", "Turn on Dark theme on this phone.", ["com.android.settings"], _night, needs_shell=True, setup=_night_off),

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

Clousd MCP does not always answer

Over the last week it answered 58.3% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 2 min ago.

run in your terminal
claude mcp add clousd-mcp --transport http https://api.clousd.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "clousd-mcp": {
      "url": "https://api.clousd.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.clousd-mcp]
url = "https://api.clousd.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "clousd-mcp": {
      "url": "https://api.clousd.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "clousd-mcp": {
      "url": "https://api.clousd.com/mcp"
    }
  }
}

This one needs environment variables set before it will start: CLOUSD_API_KEY (Clousd API key (cl_live_...) from the dashboard, Settings -> API keys). The author declared them in the registry entry; get the values from the project itself.

Available tools 10

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

account
account
The account's money - check it before starting phones, creating them or launching long runs, and tell the user what it says. op=balance: balance, spend_per_day (running per-minute phones + paid proxy traffic of the last 24 hours), runs_out_in_hours, phones running per minute with their price, monthly renewals within 7 days, prices per hour / day cap / month / GB by exit type, the top_up link, and warnings: show every warning to the user in plain words (e.g. "about 6 hours left; at zero the phones stop and go to storage", "proxy traffic cost $3.40 today") with the top_up link. When the balance is low, say so before spending more - do not silently start phones.
act
act
Do one thing on the phone, then wait until the screen settles. Prefer element numbers from observe over coordinates; tap_text taps the element whose text contains `text`. Typing goes into the focused field (tap it first) and works in any language. Returns what happened; "the screen did not change" means the action probably missed - observe again.
devices
devices
Phones this API key can use. op=list: name, label (the name people see in the dashboard, e.g. "Anna IG" or "Pixel 7 #3"), number, state (running / stopped / starting), model, Android version, network exit, the app accounts linked to it and its proxy_id. Every tool takes the name, the label or the number. op=rename with device and label: give a phone a name (empty = back to "Model #N"); name phones after their accounts to keep a fleet readable. op=start / op=stop with `device`: start a stopped phone (waits until it has booted, one to three minutes) or stop one (a stopped phone keeps its state and costs nothing).
fleet
fleet
Work with many phones in one call - the way to automate, instead of tapping each phone step by step. op=recipes lists the built-in app recipes (sign in, warm up an account, publish, delete the last post...) with their inputs; prefer a recipe over act whenever one fits the task. op=run starts a recipe (package + action) or your own steps on up to 32 phones at once (they may live on different servers) and returns a job id right away - the phones work in parallel, minutes to an hour for a warm-up. op=status with job shows per-phone progress: call it every 30-60 s until state is done or failed. Steps for op=run: recipe (package, action, vars), open_app / close_app (package), url (url), tap_text / wait_text (text, seconds), wait (seconds, seconds_max), scroll (text=down|up), browse (seconds 10-600: scroll like a person), install_app (package from the catalog), key (key), screenshot, rotate (new IP), if_text / unless_text (text, skip), login (package, account: an id from resources op=accounts or "linked" for the account linked to each phone - the server fills the password), publish (package, text: post|story|reel, media_id from resources op=media, caption). vars_by_device gives each phone its own account or media_id too, e.g. {"dev_1": {"account": "12"}, "dev_2": {"account": "13"}}.
inspect
inspect
Read the phone without touching the screen. notifications: the shade as a list (app, title, text, time). clipboard: the clipboard text. app: installed version, install/update time, installer, whether it runs or is on screen. crashes: recent app crashes, native crashes and ANRs with the first lines of the stack. health: running, booted, network exit and the latest automatic check of the phone. installed: packages of apps that can be opened.
network
network
Where phones go online. Every phone uses one proxy of the account: your own proxy, or a Clousd exit (residential, mobile, ISP, datacenter in a country, paid per GB); time zone, locale and SIM follow it. op=options: exit types on sale and countries. op=status: the exit a device uses now (IP, country, carrier). op=proxies: the account's proxies and which devices use each. op=add: save your proxy (it is checked at once) or a Clousd exit. op=bind: put devices on a proxy. op=unbind: take them off (no internet until bound again). op=rotate: new IP for every running device on the proxy. op=check: test your proxy. op=delete: remove an unused proxy.
observe
observe
Look at the phone: a fresh screenshot, the app on screen and (with_text) every labelled or tappable element with a number. Act on an element by its number (act element=N); coordinates, when needed, are in this image's pixels.
recipe
recipe
App recipes on one phone: scripted flows that wait for the right screen at each step, deal with popups and report what they did. op=run runs a built-in recipe (package + action - the list with inputs is fleet op=recipes) or your own JSON and returns when it is finished; for several phones use fleet op=run instead. op=record_start begins recording what is done on the phone (through act, or by a person in the live view); record_status shows progress; record_stop returns the recorded draft recipe, ready for op=run.
resources
resources
The account's resources, the same as Resources in the dashboard. accounts: saved app accounts (login, status, the phone it is linked to; parent_id = it signs in through that Instagram) - passwords and 2FA secrets are never shown; add_via_instagram (account_id = an Instagram account, platform = com.facebook.katana or com.instagram.barcelona): a Facebook / Threads that signs in through that Instagram, on the same phone, no password. To sign a phone in, run fleet with the step {"op":"login","package":...,"account":<id> or "linked"} and the server fills the password itself. add_accounts / link_account: save accounts and link one to a phone. texts / add_texts: captions, comments, bios, names. media / upload_media: the photo and video library; publish one with fleet step {"op":"publish","package":...,"text":"post", "media_id":<id>,"caption":...}. send_media: copy files into phones' galleries as if taken by that phone.
snapshots
snapshots
Saved states of a phone, for starting every run from the same point. op=list: id, created, android, current, restorable. op=save: save the current state. op=restore with snapshot_id: reset the phone to that state (what happened since is lost). op=clone with snapshot_id and new_name: a new phone from that state.

Endpoints

URLTransportStateLatencyChecked
https://api.clousd.com/mcp streamable-http answering 184 ms 2 min ago

Alternatives to Clousd MCP

same job, measured the same way
Phonebox
by phonebox

Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.

13 tools answering
Ghost in the Droid
by ghost-in-the-droid

Give any LLM agent a real Android or iPhone as its body. 62 MCP tools for mobile automation.

938 installs/wk local only
RememberMCP
by remembermcp

Private document cloud for MCP agents. Claim a link, then store and recall.

1 tools answering
D
Data
by thinair

PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.

answering
looktap
by lakpriya1s

Let AI agents drive iPhone and Android devices: read the screen as text, tap, type and screenshot.

local only
SAIR
by compscidr

Run Android tests on real phones, or lease one: install, shell, screenshot, logcat.

local only
veddata
by sanzineo

MCP server for AI agents: discover a web page's data sources and drive the page to reach them.

491 installs/wk local only
Vidin
by teunlao

Turn a screen recording into agent-readable annotated keyframes. MCP server + CLI on ffmpeg.

25 installs/wk local only

Clousd MCP — questions

Answers built from our own checks of this server.

What can Clousd MCP do?
It exposes 10 tools, read directly from the server on our last check. Among them: account, act, devices, fleet, inspect, network and 4 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Clousd MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 103 ms. The bar chart above shows every period we have measured.
How do I connect Clousd MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Clousd MCP need an API key?
No. Clousd MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 10 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Clousd MCP?
It answers our handshake in 103 ms on average, which is faster than 84% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Clousd MCP?
The pypi package clousd-mcp was installed 1 839 times in the last week. Week over week that is +193%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Clousd MCP open source?
Yes — it is published under the MIT licence, written in Python and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.