Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Description from the maker (original English)
Real Android phones in the cloud for AI agents: give phones a task in plain words and get the answer
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (api.clousd.com)
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 5 min
You need a Clousd MCP key (sign up on the maker’s site, may cost money) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Clousd MCPhttps://api.clousd.com/mcpUnder Request headers, add this name and value
AuthorizationBearer <paste your key here>Paste the key only into the app’s field, never into a chat or to anyone
Leave Authentication as Claude detected it, then click Add
+ConnectorsClousd MCP
Use Clousd MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using Clousd MCP or shows a Clousd MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Clousd MCP yet
Clousd MCP needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify
A · Use an app that can connect Clousd MCP
Works with Claude Code · about 5 min
You need a Clousd MCP key (sign up on the maker’s site, may cost money)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http clousd https://api.clousd.com/mcp --header 'Authorization: your-value'Replace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Clousd MCP listed as connected
Use Clousd MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Clousd MCP or shows a Clousd MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 5 min
You need a Clousd MCP key (sign up on the maker’s site, may cost money)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Clousd MCP settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Clousd MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Clousd MCP or shows a Clousd MCP tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 5 min
You need a Clousd MCP key (sign up on the maker’s site, may cost money)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Clousd MCP settings, Authorization is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Clousd MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Clousd MCP or shows a Clousd MCP tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://api.clousd.com/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http clousd https://api.clousd.com/mcp --header 'Authorization: your-value'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"clousd": {
"url": "https://api.clousd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"clousd": {
"type": "http",
"url": "https://api.clousd.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Claude Code
claude mcp add clousd --env CLOUSD_API_KEY=your-value -- uvx clousd-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"clousd": {
"command": "uvx",
"args": [
"clousd-mcp"
],
"env": {
"CLOUSD_API_KEY": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"clousd": {
"command": "uvx",
"args": [
"clousd-mcp"
],
"env": {
"CLOUSD_API_KEY": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"clousd": {
"type": "stdio",
"command": "uvx",
"args": [
"clousd-mcp"
],
"env": {
"CLOUSD_API_KEY": "your-value"
}
}
}
}CLOUSD_API_KEY secret required envAuthorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
pypi: clousd-mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
The registry name was verified with the GitHub account Clousd-Android, which owns the repo
Code last changed 7 days ago
Uses MIT
Responded in 279 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: CLOUSD_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed 7 days ago, and the latest version (1.6.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.
In the same category: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Every agent framework can tap a phone. Almost none has a phone worth tapping.
Clousd is the phone. Each device is a full Android system on the Android version you pick (12 to 17), with Google Play inside and its own network exit. Give it a task in plain words and Clousd's phone agent does the steps and answers; or drive the screen yourself, step by step. Apps see a phone, not an emulator, so your agent sees the screens a person sees.
This repository is the public side of it: the OpenAPI description, the Python client, the MCP server and the skill for coding agents.
Give it the goal. POST /v1/runs {"task": "...", "device": "..."}, c.run(...) in Python, the run tool over MCP. Clousd's agent looks at the screen, taps and types until the goal is reached, and finishes with an answer - plus a replay of every step, and JSON in your schema when you ask for it. One call gives the same task to up to 32 phones. Saved logins are typed on the phone without your agent or the model seeing them.
Drive it yourself. observe returns a fresh screenshot with a number on every element; act taps an element, types, swipes, opens apps and links, and waits until the screen settles. Snapshots reset a phone to a saved state in seconds.
Hosted, nothing to install: https://api.clousd.com/mcp. Apps with connectors (Claude.ai, ChatGPT…) sign in with OAuth - just add the URL. Other clients send the key in the header:
{
"mcpServers": { "clousd": { "url": "https://api.clousd.com/mcp", "headers": { "Authorization": "Bearer cl_live_..." } } } }
Local: pip install clousd-mcp, then {"command": "clousd-mcp", "env": {"CLOUSD_API_KEY": "cl_live_..."}}.
Tools: account, devices, run, run_status, answer, observe, act, credentials, schedules (mcp/).
Coding agents learn the workflow from the skill:
npx skills add https://github.com/Clousd-Android/clousd-sdk --skill clousd
pip install clousd
export CLOUSD_API_KEY=cl_live_...
from clousd import Clousd
c = Clousd() run = c.run("Open Settings and tell me the Android version", device="dev_04f2", wait=True) print(run.status, run.answer) # completed Android 15
phone = c.device("dev_04f2") # or step by step phone.open_app("com.android.chrome") phone.tap_text("Search") phone.type("weather in Berlin") phone.key("enter") phone.wait_text("Berlin", timeout=30)
More in python/.
curl -H "Authorization: Bearer cl_live_..." https://api.clousd.com/v1/devices
curl -H "Authorization: Bearer cl_live_..." -H "Content-Type: application/json" \ -d '{"task":"Open Settings and tell me the Android version","device":"dev_04f2"}' https://api.clousd.com/v1/runs curl -N -H "Authorization: Bearer cl_live_..." https://api.clousd.com/v1/runs/r_8f2c/events # live steps (SSE) curl -H "Authorization: Bearer cl_live_..." "https://api.clousd.com/v1/devices/dev_04f2/observe?w=540"
| Route | Purpose |
|---|---|
POST /runs | a task in plain words on device or devices[] (up to 32): {task, device, credentials:[{package,name}], options:{output_schema, mode, max_steps, timeout}}; Idempotency-Key header |
GET /runs, GET /runs/{id} | runs of the key; status, answer, structured_output, the card it waits on |
GET /runs/{id}/events | live events (Server-Sent Events): status, step, plan, card, answer, end |
GET /runs/{id}/trajectory, /steps/{n}.jpg | every step with its screen |
POST /runs/{id}/answer, /message, /cancel | answer a question or permission, talk to the running agent, stop it |
GET/POST /schedules, POST /schedules/{id}/toggle, /delete | tasks at a time on days of the week |
GET/POST /credentials, POST /credentials/{id}/fields, DELETE … | saved logins; values are never returned |
GET/POST /webhooks, …/{id}/rotate, /toggle, /test, GET …/deliveries | events to your server, signed with your secret |
GET /android, GET /devices, GET /devices/{name}, POST /devices {android}, start/stop/restart/reset | phones of the key and their lifecycle; a phone is created by Android version; reset wipes apps and data |
DELETE /devices/{name} (?forever=1), GET /trash, POST /trash/{name}/restore | delete moves the phone to Trash for 14 days (stopped, not billed, restorable); forever=1 wipes it at once |
GET /devices/{name}/observe, POST /devices/{name}/act, /screenshot, /screenrecord | the screen, step by step |
GET/POST /devices/{name}/network, GET/POST /proxies | the phone's network exit |
GET/POST/DELETE /devices/{name}/adb | ADB over a relay: one-time code, IP allow-list, expiry |
GET /balance | plan, phones, money left and warnings to show the user |
Keys have a scope (read or read & write) and an explicit list of phones; keys travel only in the Authorization header. Limits: 120 requests a minute per key and device, 600 a minute per key across devices, 60 a minute for everything else; 429 comes with Retry-After. Errors are JSON: {"error": "short_code", "message": "what happened"}. Full description: openapi.yaml; reference: clousd.com/docs/reference.
| Part | What it is |
|---|---|
openapi.yaml | OpenAPI 3.1 description of the public API v1 (https://api.clousd.com/v1) |
python/ | clousd: Python client (runs, schedules, logins, webhooks, devices, observe/act, reset), clousd.agent (a step-by-step loop on your own model), clousd.bench, the clousd CLI |
mcp/ | clousd-mcp: the MCP server, local or hosted |
skills/clousd | skill for coding agents: how to work with Clousd phones |
docs/agent-loop.md | driving a phone yourself: the observe → act → verify loop |
server.json, smithery.yaml | registry metadata |
1.6 adds your apps. An app is an APK you upload once and install by id on any of your phones; there is no catalog of other people's apps (Google Play apps are installed in the Play Store on the phone). GET /v1/apps lists your APKs (id, name, size, package, version), POST /v1/apps uploads one as a file up to 300 MB, POST /v1/apps/{id}/install {devices} installs it, DELETE /v1/apps/{id} removes it from storage. POST /v1/media also takes a multipart file now (photo 25 MB, video 200 MB, document 50 MB, apk 300 MB). Every APK is checked on upload and before each install - a real Android app, 64-bit ARM native code when it has any, not a root or system-modification tool - and refused with 422 apk_rejected and the reason otherwise. SDK: c.apps(), c.upload_app(path), c.install_app(id, devices), c.delete_app(id); c.upload_media(path) sends the file as a file. MCP: the apps tool.
1.5 creates phones by Android version only. POST /v1/devices {android: "14"} (versions: GET /v1/android); the phone model is picked by the service. GET /v1/models answers 410, and devices no longer carry a model field. A phone not renamed is called Phone #N. An old body with profile still works and keeps only that model's Android version. Python: c.create_device(android="14"), c.android_versions(); c.models() is deprecated.
1.3 adds the Library: GET /v1/media lists the account's files (photos, videos, documents, apks) with ids and folders, POST /v1/media uploads one, POST /v1/media/send copies files to phones. Pass ids to POST /v1/runs as files and they are placed on the phone before the first step (photos and videos in the gallery, documents in Downloads, apks installed). SDK: c.run(task, files=[...]), c.media(), c.upload_media(), c.send_media(); MCP: the library tool and files on run. Creating a device no longer takes plan: phones run pay as you go, a plan's minutes are used first.
1.2 removes saved device states. /v1/devices/{name}/snapshots, /profiles and /worlds answer 410; to start from a clean phone call POST /v1/devices/{name}/reset (apps and data are wiped, the Android version stays the same). Python: device.reset() replaces snapshots(), save_snapshot(), restore() and clone().
1.0 gives phones goals instead of scripts. /v1/recipes, /v1/groups, /v1/accounts, /v1/texts and the device recipe / record routes answer 410 with where to go instead: tasks are POST /v1/runs, logins are /v1/credentials. MCP: run / run_status / answer / credentials / schedules replace fleet, recipe, resources, network, snapshots and inspect. Keys in the URL are no longer accepted.
pip install -e python
pip install -e mcp python -m unittest discover -s python/tests # offline: a fake server and a scripted model, no key needed
io.github.Clousd-Android/clousd-mcp · hosted endpoint: https://api.clousd.com/mcpMIT. See LICENSE.