@qirabot/mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@qirabot/mcp Take a screenshot of my phone"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@qirabot/mcp
MCP (Model Context Protocol) server for Qirabot — AI-powered device automation for Claude, Cursor, and other MCP clients.
Control mobile and desktop devices with natural language through your AI assistant. The server exposes tools for running automation tasks, taking screenshots, and managing devices.
Installation
npm install -g @qirabot/mcpConfiguration
Sign up at qirabot.com and get your API key from the dashboard.
Set it as an environment variable:
export QIRA_API_KEY="qk_your_api_key"Setup
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"qira": {
"command": "qira-mcp-server",
"env": {
"QIRA_API_KEY": "qk_your_api_key"
}
}
}
}Claude Code
claude mcp add qira -- qira-mcp-server --api-key $QIRA_API_KEYCursor
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"qira": {
"command": "qira-mcp-server",
"env": {
"QIRA_API_KEY": "qk_your_api_key"
}
}
}
}Remote HTTP Mode
For shared or remote deployments, run the server in HTTP mode:
qira-mcp-server --transport http --port 3100Clients connect with API key in the header:
{
"mcpServers": {
"qira": {
"url": "https://your-server/mcp",
"headers": {
"x-qira-api-key": "qk_your_api_key"
}
}
}
}Tools
Tool | Description |
| List all active devices with their IDs, OS, type, and resolution |
| List available AI model aliases (e.g. 'balanced', 'high-quality') |
| Run an automation task on a device with a natural language instruction |
| Get the status and step details of a running or completed task |
| Capture a live screenshot of a device's screen |
| Cancel a pending or running task |
Usage Examples
Once configured, you can ask your AI assistant:
"List my connected devices"
"Take a screenshot of my phone"
"Open Chrome on my device and search for 'weather today'"
"Go to wikipedia.org and extract the featured article title"
"Open the Settings app and enable dark mode"
CLI Options
qira-mcp-server [options]
Options:
--server, -s Server URL (default: https://app.qirabot.com, or QIRA_SERVER_URL env)
--api-key, -k API key (required for stdio; or QIRA_API_KEY env)
--transport, -t Transport mode: "stdio" (default) or "http"
--port, -p HTTP server port (default: 3100)
--help, -h Show helpEnvironment Variables
Variable | Description |
| Server URL (default: |
| API key (alternative to |
License
MIT
Available Tools
6 toolscancel_taskA
Cancel a task that is currently in 'pending' or 'running' status. Has no effect on tasks that have already completed (succeeded, failed, timeout).
Inputs: task_id (required).
get_taskA
Get the status and step details of a task started by run_task.
Returns current status and all completed steps with action type, AI decision, params, and output. Possible status values: pending, running, succeeded, failed, cancelled, timeout, partially_succeeded. If status is 'pending' or 'running', poll again (recommended interval: 2-3 seconds).
Screenshots are not included in the response — use take_screenshot after completion to verify the result.
Inputs: task_id (required).
list_devicesA
List all active devices connected to the server. Returns device ID, name, OS, type, screen resolution and host info. Call this first to get the device_id required by take_screenshot, run_task, and other device tools.
Inputs: no named parameters.
list_model_aliasesA
List available model aliases (e.g. 'balanced', 'high-quality'). Use the alias name as the model_alias parameter in run_task.
Inputs: no named parameters.
run_taskA
Perform UI automation on a device. The AI agent automatically handles app launching, screen interactions (tapping, swiping, typing, navigating), and multi-step workflows.
Use this tool for:
Opening apps and performing tasks: 'open Chrome and search for weather'
In-app interactions: tapping, swiping, typing, navigating
Content engagement: liking, commenting, sharing, following, subscribing
Information gathering: reading screen content, searching, extracting data
Web browsing: visiting URLs, filling forms, clicking links
Messaging: sending messages, replying, forwarding
Do NOT use this tool to only take a screenshot — use take_screenshot instead.
Provide only the end goal in instruction (e.g., 'open WeChat and send hello to Zhang San'), not low-level steps. Returns immediately with a task ID. Use get_task to poll for status and results. After completion, call take_screenshot to verify the result.
Inputs: device_id (required), instruction (required), model_alias, max_steps.
take_screenshotA
Capture a live screenshot of the device's current screen. Returns the image directly (synchronous, up to 30s).
Use this tool when:
You need to see what is currently displayed on the device screen.
You want to verify the result after a run_task completes.
You need to inspect the UI before deciding what action to take.
This returns the real-time screen.
Inputs: device_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a unique and clearly defined purpose: starting tasks, monitoring, canceling, capturing screenshots, listing devices, and listing model aliases. There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., run_task, get_task, list_devices). No mixed conventions or vague verbs.
With 6 tools, the set is well-scoped for UI automation on mobile devices. Each tool serves a necessary function without being excessive or insufficient.
The core workflow (run, monitor, cancel, screenshot) is covered, along with device and model configuration. A minor gap is the lack of a tool to list all active tasks, but this does not severely hinder functionality.
Maintenance
Related MCP Connectors
Let AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Let your AI agent control real iPhones: screenshots, tap, swipe, type and open apps.
Drive real Android & iOS devices and web browsers from natural language for mobile + web QA. 290+ tools across device control, app management, automation sessions, browser automation, and flow recording / replay. Bearer-auth — get a token at robotactions.com → Profile → API Tokens.