Hermes Agent on real phones.
Add mobilerun to Hermes Agent by Nous Research with a few lines of config.yaml. Hermes gets 33 tools to run tasks on real Android and iOS phones.
via MCPNo plugin needed: Hermes reads remote MCP servers from its config file.
Before you start
- A mobilerun API key from cloud.mobilerun.ai. It starts with
dr_sk_. - Hermes Agent installed and set up with a model provider, see the Hermes install guide.
- A phone in your mobilerun account to run tasks on. Connecting and listing tools works without one.
Save your key
Add your mobilerun key to ~/.hermes/.env.
MOBILERUN_CLOUD_API_KEY=dr_sk_YOUR_API_KEY
Add the server
Add this block to ~/.hermes/config.yaml. Hermes fills in ${MOBILERUN_CLOUD_API_KEY} from your environment and .env when it connects, so the key stays out of the config file.
mcp_servers:
mobilerun:
url: "https://api.mobilerun.ai/v1/mcp"
headers:
Authorization: "Bearer ${MOBILERUN_CLOUD_API_KEY}" Check it and start a chat
hermes mcp test mobilerun hermes chat
hermes mcp test mobilerun should report Connected and 33 tools. Then ask Hermes something like "Which of my mobilerun phones are ready?"
Give it only the tools it needs
Some tools change a phone: reset it, remove apps, or start tasks that use credits. For a first agent, pass a short list: tasks, screenshots and device lookups. An include list registers only the tools you name.
mcp_servers:
mobilerun:
url: "https://api.mobilerun.ai/v1/mcp"
headers:
Authorization: "Bearer ${MOBILERUN_CLOUD_API_KEY}"
tools:
include:
- list_devices
- get_device
- get_device_screenshot
- run_task
- get_task
- list_tasks
- stop_task
- get_task_media Tested 25 Sep 2026 against the live server with Hermes Agent 0.21.5 (release v2026.9.24): hermes mcp test connected and found 33 tools.
What Hermes can do.
33 tools on the hosted server. Your model decides which tool to call. Tasks it starts run on mobilerun's own mobile agent and use credits and device minutes from your plan.
Run agent tasks
Start a task in plain language on a phone, follow its status and steps, send it a message while it runs, or stop it. mobilerun's mobile agent does the tapping and typing.
- run_task
- get_task
- list_tasks
- send_task_message
- stop_task
- get_task_media
See and drive the screen
Take a screenshot, read the on-screen UI as structured text, and tap, swipe or type yourself when you want exact control.
- get_device_screenshot
- get_device_ui_state
- device_action
Manage phones
List your phones, wait until one is ready, reboot or reset it, set its language, timezone and location, and apply saved profiles.
- list_devices
- get_device
- manage_device
- configure_device
- profiles
Apps and files
Install, start, stop and remove apps, upload your own APKs, and move files on and off the phone.
- list_apps_on_device
- manage_device_apps
- apps
- manage_device_files
Logins
Keep app logins in the credentials vault and let tasks use them. Stored values are never sent back to the agent.
- list_credentials
- list_credential_packages
- manage_credentials
Network and eSIM
Route a phone through mobilerun Connect residential IPs or your own SOCKS5 or WireGuard proxy, and manage eSIM profiles.
- connect
- proxies
- manage_esim
Workflows and webhooks
Turn a task into a workflow with a schedule or event trigger, send results to your own webhook endpoints, and look up timezones and app events.
- create_flow
- create_trigger
- create_action
- manage_flow
- list_workflow_resources
- get_workflow_resource
- workflow_events
- webhooks
- platform_catalog
Same server as the MCP setup for Claude Code, Cursor and VS Code.
Good to know.
Which transport does the server use?+
https://api.mobilerun.ai/v1/mcp. The server is stateless and answers POST requests only, so a client set to SSE gets a 405. Choose streamable HTTP in your client.Where does the API key go?+
Authorization: Bearer dr_sk_... header. Read it from an environment variable on your server, and keep it out of code you commit or ship to a browser.What does it cost?+
Can I sign in with OAuth instead of a key?+
Get a key.
Give it a phone.
Create an API key, paste it into the snippet above, and run your first task on a real phone.