Llim.run

Remote MCP server

https://mcp.limrun.com/mcp is Limrun's organization-level Model Context Protocol server. Connect it once, and any MCP client can create iOS simulators and Android emulators, drive them by screenshot and accessibility tree, and delete them when done.

Choose the remote or per-instance server

Every instance also runs its own MCP server. Pick by who holds the credential:

AspectRemote serverPer-instance server
Endpointhttps://mcp.limrun.com/mcp for the whole organizationOne URL per instance, from status.mcpUrl
AuthOAuth sign-in, or an API keyThat instance's status.token
Lifecycle toolsCreate, list, inspect, and delete instancesNone; the instance must already exist
Blast radiusEvery iOS simulator and Android emulator in the organizationOne instance; the token stops working with it
Best forAn agent that owns the whole loop, from "get me a device" to cleanupHanding one device to an agent that holds no organization credential

Connect from Claude Code

Add the server:

claude mcp add --transport http limrun https://mcp.limrun.com/mcp

Then open a Claude Code session, run /mcp, select limrun, and choose Authenticate. After you approve access in the browser, /mcp shows the server as connected with its 16 tools. Access tokens rotate automatically from then on, and you are not asked to sign in again unless you revoke access.

Connect from other MCP clients

Any client that speaks the MCP Streamable HTTP transport works with one of two auth setups:

The server is listed in the official MCP registry as com.limrun/mcp and on Smithery, where you can also connect it through the Smithery gateway.

Tools

The server exposes 16 tools in five groups.

Lifecycle and assets. These take no instanceId; they operate on the organization.

ToolWhat it does
create-ios-simulatorCreates a simulator, blocks until it is ready, and returns the instance ID. Optional apps pre-installs apps by asset name or public URL, optional inactivityTimeout overrides the organization default, optional idempotencyKey makes retries return the same instance, and optional tunnel names a private tunnel so the app reaches services in your private network.
create-android-emulatorSame contract for Android emulators. apps entries are asset names or public APK URLs.
list-instancesLists the organization's running iOS simulators and Android emulators with their IDs and states. Xcode and Gradle sandboxes are not listed.
get-instance-statusReturns the state and error message for one instance ID.
delete-instanceTerminates an instance. This is the only destructive tool.
list-appsLists the app asset names you can pass to the apps field of the create tools, per platform.

Live view. stream-device takes an instanceId and shows the user the live, interactive screen of that instance, inline where the client supports it.

iOS device control. ios-screenshot-and-element-tree, ios-use (batched taps, typing, scrolling, and the rest of the action surface), ios-open-url, ios-app (list, launch, terminate), and ios-logs.

Android device control. android-screenshot-and-element-tree, android-use, and android-open-url.

Each device-control tool, like stream-device, takes the instanceId a create tool returned. The action surfaces match the per-instance server, which documents them in detail.

Skills. get-agent-skill is covered in Skills for builds and local files.

Apps install at creation time through the apps field. There is no install tool for a running instance: MCP gives the server no access to the client's filesystem, so anything that moves local bytes (an APK, a simulator build, an Xcode project) belongs to the CLI and SDKs. Upload builds to Asset Storage first and they show up in list-apps. Instances created through this server carry a created-by: mcp label.

Skills for builds and local files

The server's initialize response tells clients that builds and local files belong to the lim CLI, and it serves the step-by-step CLI procedures as Agent Skills in three forms:

An agent that needs to build something asks for the skill, installs the CLI it describes, and continues in its own shell.

Revoke access

Tokens minted through OAuth appear in the console under Settings, API Keys, described as MCP OAuth tokens. Revoking one invalidates only the current access token: the client is challenged on its next request and rotates to a fresh token with its refresh token, without asking you to sign in again. To disconnect a client, remove the server from that client's configuration.

Next steps

plug

Per-instance MCP server

Hand a single instance to an agent using only that instance's token.

terminal

Set up a coding agent

Builds, uploads, and everything else the MCP tools leave out.

database

Asset Storage

Upload the app archives that list-apps offers to the create tools.