Real mobile devices on demand via Kobiton's remote MCP — no emulators, no flaky CI. 12 tools across Devices, Sessions, and Apps surfaces, plus specialist agents for device picking, Appium capability reconciliation, and session triage.
Installation
Open Claude Code and run this command:
/plugin install kobiton-automate@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
What It Does



Plugin for the Kobiton mobile testing platform. Works with Claude Code, GitHub Copilot CLI, Gemini CLI, Codex CLI, and Cursor (CLI and IDE). Manage devices, upload apps, run automation sessions, and view test results directly from your AI coding assistant.
Components
Use Cases
See docs/examples.md for prompt examples covering every tool and skill - device management, session management, app management, automation, and interactive testing.
FAQ
After the plugin is updated upstream, pull the latest version:
- Claude Code / Copilot CLI: run
/plugin install automate@kobitonagain - Gemini CLI: run
gemini extensions update kobiton-automatefrom your shell - Codex CLI: run
codex plugin marketplace upgradeto refresh the marketplace catalog, then reinstall the plugin from the browser to pull the latest manifest - Cursor CLI: re-run
/plugin marketplace add github.com/kobiton/automateand reinstall the automate plugin - Cursor CLI has no dedicated update command yet (/plugin marketplace listonly lists what's installed). Restartagentso the new manifest is picked up.
To make sure the assistant picks up the changes with no stale cache, reload per CLI:
- Claude Code: run
/reload-pluginsin-session. If tools still behave unexpectedly,/clearresets the session context. - GitHub Copilot CLI: exit and relaunch the session (
exit, thencopilot). No in-session reload command. - Gemini CLI: exit and relaunch (
exit, thengemini). Confirm withgemini extensions list. - Codex CLI: exit and relaunch. Confirm with
codex plugin list.
If the issue persists after relaunch, quit the terminal entirely and start a fresh session.
/mcp after install
All four CLIs cache plugin state when the session starts. After installing or updating the plugin, the kobiton MCP server may not show up in the server list immediately. Force a reload:
Claude Code — reload plugins in the current session:
/reload-plugins
GitHub Copilot CLI — exit and relaunch the session:
exit
copilot
Gemini CLI — exit and relaunch; if still missing, verify the extension is enabled:
exit
gemini extensions list
gemini
Codex CLI — exit and relaunch; if still missing, verify the marketplace was added and the plugin was installed:
exit
codex plugin marketplace list
codex plugin list
codex
If using the manual fallback config, also check grep -A 4 "mcp_servers.kobiton" ~/.codex/config.toml.
Then check the server list (/mcp in Claude Code, Gemini CLI, and Codex CLI, /mcp show in Copilot CLI). kobiton should now appear.
The device may be offline, reserved by another user, or no longer in your device list. Use listDevices with available: true to find currently online devices.
Large app files or slow connections can cause uploads to time out. Retry the upload — pre-signed URLs expire after 30 minutes, so a new URL will be generated automatically.
Some older versions of Claude Code don't support the plugin features this plugin relies on. Make sure you're on the latest version:
npm install -g @anthropic-ai/claude-code@latest
Then restart Claude Code and try again.
Claude Code requires a working directory. Launch it from inside a project folder:
cd my-project
claude
If you see this prompt repeatedly, make sure you are not running claude from your home directory or root (/).
The Kobiton marketplace must be added before installing:
/plugin marketplace add kobiton/automate
/plugin install automate@kobiton
If it still isn't found, check your internet connection and ensure you're running the latest version of Claude Code (claude update).
Claude Code is not installed or not in your PATH.
- Install: follow the official install guide
- PATH issue: if you installed via npm, make sure your npm global bin directory is in your PATH:
npm install -g @anthropic-ai/claude-code
Then open a new terminal window and try claude again.
The plugin installed but tools don't appear or Claude doesn't recognize Kobiton commands.
- Run
/reload-pluginsto force Claude to pick up the new plugin - Try asking: "List my Kobiton devices"
- If still not working, quit Claude Code entirely and start a fresh session
- Verify
.mcp.jsonexists in the plugin directory — it tells Claude where the Kobiton MCP server lives
Verify the plugin is installed and the MCP server is configured:
copilot plugin list
/mcp show
If the kobiton MCP server doesn't appear, add it manually by running /mcp add and entering the following when prompted:
- Server name:
kobiton - Type:
http - URL:
https://api.kobiton.com/mcp
Alternatively, edit ~/.copilot/mcp-config.json directly:
{
"mcpServers": {
"kobiton": {
"type": "http",
"url": "https://api.kobiton.com/mcp"
}
}
}
Copilot CLI requires explicit tool permissions. Allow Kobiton tools:
copilot --allow-tool='kobiton'
copilot --allow-tool='kobiton(listDevices)' --allow-tool='kobiton(getSession)'
Verify the extension is registered and enabled:
gemini extensions list
If kobiton-automate is missing, reinstall:
gemini extensions install https://github.com/kobiton/automate
If listed but disabled, enable it:
gemini extensions enable kobiton-automate
Then relaunch gemini and check /mcp for the kobiton server. The run-automation-suite skill is auto-discovered from skills/ at the extension root, no separate registration needed.
/mcp shows kobiton as Disconnected (OAuth not authenticated)
The extension is installed but you haven't completed OAuth yet. Trigger the flow manually:
/mcp auth kobiton
A browser window opens for Kobiton login. After signing in, run /mcp again — the status should change to 🟢 Connected.
Note: kobiton here is the MCP server name (declared inside the extension), not the extension name kobiton-automate. /mcp commands always take the server name.
Gemini CLI's extension uses dynamic OAuth discovery by default. The Kobiton MCP server advertises OAuth metadata at a standard well-known endpoint, so the browser flow should kick in automatically the first time a tool needs auth.
If nothing happens, try /mcp auth kobiton to trigger it explicitly. Check that your terminal can launch a browser. For headless environments, switch to API key auth by editing gemini-extension.json directly (see the API Key Authentication section above).
Verify each step:
- Plugin installed — open
/pluginsinside Codex and confirmautomateis listed under thekobitonmarketplace as Installed. If missing, runcodex plugin marketplace add kobiton/automateand reinstall from the plugin browser. - Codex version recent enough — update with
npm install -g @openai/codex@latest.
After fixing, exit Codex and relaunch; the server should show in /mcp (or /mcp verbose).
Codex tries to launch your system browser when Kobiton requires sign-in. If nothing opens, check:
- Default browser is set — your OS needs a default browser. SSH sessions without X forwarding cannot open one.
- Localhost ports not blocked — Codex listens on a local port to receive the login callback. Firewall rules that block all localhost ports will break the flow.
- Headless environment — switch to API key auth (see the API Key Authentication section above). Easiest: fork this repo, commit the
envhttpheaderschange to.codex/.mcp.json, install from your fork.
/mcp still shows Disconnected
This usually means the cached token is stale and refresh failed. Force a re-login by clearing the OS keychain entry and reconnecting:
- macOS: open Keychain Access, search for
codex-mcporkobiton, delete the entry, then trigger a tool call to re-run OAuth. - Linux:
secret-tool clear service codex-mcp(or use Seahorse to remove the entry). - Windows: open Credential Manager, find the Codex entry under Generic Credentials, remove it.
After clearing, run any Kobiton tool prompt; the browser should reopen for fresh login.
Cursor CLI caches plugin state per session, and older builds didn't load plugin-bundled skills at all:
- Fully restart the session — exit and re-run
agent. Right after an install or update, the command list can render stale entries from the previous install; a fresh launch fixes it. - Update the CLI — plugin skills only register in CLI builds from
2026.05.05onward. Runagent update, then relaunch. - Reinstall if still missing —
/plugin marketplace add github.com/kobiton/automate, wait for the automate entry to appear, then press Enter to install.
kobiton shows Disconnected or MCP tool calls silently fail
- Not logged in yet — run
/mcp list, select kobiton, and choose Login to start the browser OAuth flow. Tokens are stored in the OS keychain. - Known CLI regressions — a few CLI builds listed MCP tools but never executed the calls. Run
agent updateto get the latest build, then relaunchagent.
~/.kobiton/bin/kobiton CLI wrapper missing (interactive testing fails)
Cursor CLI does not run the plugin's SessionStart hook, so the CLI wrapper isn't created automatically like on Claude Code or Codex. Run /setup (the plugin's command with the Kobiton description, not Cursor's built-in) once after install; re-run it if the symlink goes missing.
For additional help, open an issue at github.com/kobiton/automate/issues or ask in #general-discussion on Discord. Feel free to share feature requests. We welcome product feedback and will consider it as we continue to improve the platform.