MCP server
usedevice is exposed to agent frameworks as a Model Context Protocol server. Your agent lists devices, requests one, and drives it with tools. The same tools work on simulators, emulators and real phones.
Tools
| tool | what it does |
|---|---|
list_devices | Devices available to you now: name, kind (simulator, emulator, real), OS version, access model. |
request_device | Start a session on a device by name and access model. Returns a session id. |
screenshot | Current screen as an image, with the accessibility tree on request. |
tap, swipe, type_text, press_button | Input, by coordinates or by accessibility element. |
install_app, launch_app | Install a build from a URL or upload; launch by bundle id or package. |
get_logs | Device and app logs since a timestamp. |
get_metrics | Frame times, CPU and GPU load, memory, battery temperature and thermal state, sampled over a window. |
set_network, set_locale, set_location | Network profile (for example 3G or lossy), system language, mock location. |
release_device | End the session. Shared devices are wiped; private devices keep state. |
Install the early-access server today
The package usedevice-mcp is on npm (source: github.com/usedevice/usedevice-mcp, MIT). Until the first wave opens it gives an agent four tools: list_devices, ask, reserve_device and status. No account, no API key.
{
"mcpServers": {
"usedevice": { "command": "npx", "args": ["-y", "usedevice-mcp"] }
}
}
Works with Claude Desktop, Claude Code, Cursor and any MCP client over stdio. Node 18 or newer.
Connecting to devices (with your invite)
{
"mcpServers": {
"usedevice": {
"url": "<endpoint from your early-access invite>",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Streamable HTTP transport, one token per workspace. The same package grows the device tools when your wave opens.
Status
Early access. Endpoint and token are issued with each wave's invites. Reserve a slot to be in line, or use the REST API if your framework isn't MCP-based.