Invi Labs iPhone MCP
AIエージェントが実機のiPhoneを操作できる、ホスト型MCPサーバーです。スクリーンショットの撮影、タップ、スワイプ、文字入力、アプリの起動を行い、独自のモデルで画面を読み取ります。
ホスト型 MCP サーバー
npx add-mcp 'https://api.invilabs.io/mcp'Claude Code、Codex、Cursor などにインストールできます
ドキュメント
Invi Labs for developers and AI agents
Control real iPhones from your AI agent or your Python code. Both work with phones connected by Invi Dongle, phones linked with Invi Link, and hosted rentals.
Hosted MCP server
Address: https://api.invilabs.io/mcp. Every request sends your API key as Authorization: Bearer YOUR_API_KEY. The server has no AI of its own and never spends AI credits: your agent reads the screenshots with its own model and decides where to tap.
Claude Code
claude mcp add --transport http --scope user invilabs https://api.invilabs.io/mcp --header "Authorization: Bearer YOUR_API_KEY"
Cursor, Windsurf and Gemini CLI
Add to ~/.cursor/mcp.json (Cursor, field url), ~/.codeium/windsurf/mcp_config.json (Windsurf, field serverUrl) or ~/.gemini/settings.json (Gemini CLI, field httpUrl):
{
"mcpServers": {
"invilabs": {
"url": "https://api.invilabs.io/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Codex
Add to ~/.codex/config.toml:
[mcp_servers.invilabs]
url = "https://api.invilabs.io/mcp"
http_headers = { Authorization = "Bearer YOUR_API_KEY" }
tool_timeout_sec = 300
Limit phones and tools
?phone=SE001— only this phone (repeat for more).?read_only=1— only tools that change nothing.?tools=phone_*,devices— only matching tools.?exclude_tools=jb_*— hide tools.
API keys
In the dashboard (https://panel.invilabs.io), open Resources → AI agents (MCP). It creates a key with the right permission (device.control; add device.edit_proxy to let the agent change proxy and VPN settings) and gives a ready-to-paste setup for your app.
Python SDK
pip install invilabs
from invilabs import Client
client = Client("YOUR_API_KEY")
for device in client.devices():
print(device["id"], device["name"], device["device_type"])
phone = client.phone("SE001") # the phone's code from the dashboard
print(phone.details()["online"])
phone.type("hello from Python")
phone.press("enter")
Documentation: https://sdk.invilabs.io · MCP guide: https://sdk.invilabs.io/guides/iphone-ai-agent-mcp/ · Quickstart: https://sdk.invilabs.io/quickstart/