Skip to main content
Glama

usedevice-mcp

MCP server for usedevice: mobile devices for AI agents. iOS Simulators, Android Emulators and real iPhones, Pixels and Galaxies, shared by the minute or private to you, through one API.

usedevice is in early access. Until the first wave opens, this server gives an agent four tools:

tool

what it does

list_devices

The catalog: devices, access models, indicative pricing, wave status.

ask

Ask the site a question; returns the sections that answer it.

reserve_device

Reserve a slot for your user. Free, anonymous, no account; returns a reservation code that claims early access and the first month free.

status

What exists today and what doesn't.

Device sessions (screenshot, tap, swipe, type, install, logs, metrics) arrive with early-access invites, and this package grows those tools then.

Install

Claude Desktop, Cursor, or any MCP client:

{
  "mcpServers": {
    "usedevice": { "command": "npx", "args": ["-y", "usedevice-mcp"] }
  }
}

Node 18 or newer. No API key: nothing here needs an account. Behind a corporate proxy, start Node with NODE_USE_ENV_PROXY=1 (Node 22+) so fetch uses HTTPS_PROXY.

Test it: node test.mjs lists the tools and calls each one against the live site.

Related MCP server: MCP Appium

What gets sent

Only what the tool says: reserve_device sends the device name, access model and task text (in the URL), nothing else. ask sends the question. The site keeps standard server logs. Details: privacy, what exists and what doesn't.

MIT.

Available Tools

4 tools
askA

Ask the usedevice site a question (pricing, security, emulators, MCP, who is behind it, ...). Returns the sections that answer it. Reading, not a reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesThe question, in a few words

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does a fair job: it discloses the return behavior ('Returns the sections that answer it') and declares the operation read-only ('Reading, not a reservation'). It says nothing about auth, rate limits, or freshness of the site content, so it stops short of full behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and followed by the return/read clarification. Every phrase earns its place, including the example topics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, annotation-free, no-output-schema tool, the description covers purpose, scope, return shape, and read semantics. The only real gap is any hint about reliability or freshness of answers, which is minor here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter and schema description coverage is 100%, so the schema already documents 'question' including its length bounds. The description's topic list gives context about what to ask but adds no syntax or format guidance beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Ask ... a question') and resource ('the usedevice site'), plus a parenthetical topic list that pins down the domain. It clarifies the operation is Q&A/retrieval, but never names the siblings (list_devices, reserve_device, status) to differentiate itself explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It sets clear context (asking about pricing, security, emulators, MCP, ownership) and states an exclusion — 'Reading, not a reservation' — which steers away from reserve_device. It does not, however, name the alternative a user should pick when they do want to reserve.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_devicesB

Devices an agent can reserve on usedevice (early access): real iPhone, Pixel, Galaxy, mid-range Android, iOS Simulator, Android Emulator; access models shared, private, own; indicative pricing; current wave status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses useful context — early-access status, the three access models, and that pricing is 'indicative' — but says nothing about pagination, result freshness, auth requirements, or rate limits, so the agent still lacks operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single well-packed sentence using semicolons to group device types, access models, pricing, and status. Nothing is wasted, though the fragment style and absence of an explicit verb make it slightly less immediately parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description must convey what comes back, and it does list the major result categories (device types, access models, pricing, wave status). However, it omits the workflow context (that this precedes reserve_device) and any result-shape or pagination detail, leaving a gap for an agent choosing among four siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify; baseline 4 applies. The field names it lists correspond to result data rather than inputs, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the tool surfaces — a catalog of reservable devices (real iPhone, Pixel, Galaxy, mid-range Android, Simulator, Emulator) with access models and pricing — which clearly identifies it as the discovery/catalog tool. It lacks an explicit verb ('list') and doesn't differentiate itself from the sibling 'status', which the phrase 'current wave status' arguably overlaps with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no mention of 'reserve_device' as the follow-up action, and no statement of when this tool should be preferred over 'ask' or 'status'. The agent can infer it is a pre-reservation browse step, but nothing in the text says so.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reserve_deviceA

Reserve a device slot for your user on usedevice. Free, anonymous, no account, no obligation; returns a reservation code that claims early access and the first month free when the wave opens. Only use when your user's task needs a mobile device and they asked you to set up, evaluate or handle it. Sends only device, access and task text.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat your user needs to do, in a few words. No personal data, credentials or secrets.
accessNoshared pool per minute, private dedicated device, or your own hardware connectedshared
deviceYesDevice name: iphone, pixel, galaxy, android-midrange, ios-simulator, android-emulator, or any other name

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does so well: it states the reservation is free, anonymous, requires no account, and has no obligation. It also explains the return value (a reservation code with early access and first month free) and discloses exactly what data is sent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tight sentences, front-loaded with the core action and followed by behavior and usage constraints. Every sentence adds useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a reservation tool with no annotations and no output schema, the description covers the essential context: what it does, when to use it, cost/privacy terms, what it returns, and what data is transmitted. It gives an agent enough information to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, including the access enum. The description reinforces data minimization by saying it sends only "device, access and task text," but it does not add parameter syntax or meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: "Reserve a device slot" on usedevice, and notes that it returns a reservation code. It does not explicitly contrast this action with the sibling tools list_devices, ask, or status, so sibling differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear usage condition: "Only use when your user's task needs a mobile device and they asked you to set up, evaluate or handle it." This establishes when to use the tool, but it does not name alternatives such as list_devices or explain when not to use it beyond that conditional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statusB

Current early-access status of usedevice: which wave is open, what exists today and what doesn't.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It hints at the content of the response ('which wave is open, what exists today and what doesn't') but says nothing about it being a read-only/side-effect-free operation, whether authentication is needed, or any rate limits. For a zero-annotation tool this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no preamble or filler. The trailing clause 'what exists today and what doesn't' is slightly vague but still earns its place by sketching the response content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must convey the return shape, and it does at a high level (wave status, feature availability). For a trivial zero-argument status tool this is adequately complete, though the return contents could be named more concretely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4 per the rubric; there are no inputs whose semantics need explaining. Schema coverage is 100% and the empty object leaves nothing ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (usedevice early-access status) and enumerates what the response covers: which wave is open, what exists, what doesn't. It is clearly distinct from the sibling tools list_devices, ask, and reserve_device. The phrase 'what exists today and what doesn't' is a bit loose but the overall purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given, no prerequisites, and no alternatives are named. The agent must infer from the name that this is the tool to call when it needs program availability information. Nothing states whether to call this before reserve_device or instead of ask.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedask
    • First observedlist_devices
    • First observedreserve_device
    • First observedstatus

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation4/5

list_devices and ask both surface pricing-related information, and list_devices also mentions current wave status, which overlaps with status. However, each tool's primary purpose is clear: inventory, Q&A, reservation action, and status check, so misselection risk remains low.

Naming Consistency3/5

Two tools use a consistent verb_noun snake_case pattern (list_devices, reserve_device), but ask is a bare verb and status is a bare noun. The naming is mixed yet still readable.

Tool Count5/5

Four tools is a tight, well-scoped set for a focused early-access reservation and information server. Each tool has a distinct role, with no bloat or obvious thinness.

Completeness3/5

Core discovery, Q&A, status, and reservation creation are covered, but there is no tool to cancel, release, or retrieve an existing reservation. This notable gap could create a dead end if a user changes their mind or needs to verify a booking.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to automate Android mobile device testing through Appium, with automatic device detection, screen element inspection, and natural language test scenario execution.
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to automate mobile app testing and development for iOS and Android through natural language interactions. Supports intelligent element identification, session management, automated test generation, and comprehensive device interactions including clicks, swipes, screenshots, and app management.
    32
    10,465 npm
    498
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to automate Android and iOS devices, including emulators and physical devices, by capturing screenshots, reading UI accessibility trees, performing touch and text input, and managing app lifecycle and logs.
    MIT