Server URL:
https://api.agi.tech/v1/mcpProtocol: MCP 2024-11-05 (JSON-RPC 2.0) | Transport: Streamable HTTP (JSON responses) or SSEAuth: OAuth 2.1 sign-in (recommended) or Authorization: Bearer YOUR_API_KEYHow it works
The AGI Android app runs on your phone as the agent. AGI’s cloud MCP server relays commands between your AI client and the device:task_id immediately, and phone_task_monitor is how your assistant waits for something actionable - a result, a pause, or a request for your input. The whole model is covered in Task lifecycle.
Quickstart
1
Set up your phone
Install the AGI Android app, sign in, grant Accessibility and overlay
permissions, and confirm Settings > Developer connection reports
Connected. Full walkthrough → Phone setup.
2
Connect your AI client
The fastest path is Claude Code:Then run
/mcp inside Claude Code and complete the browser sign-in.
Every other client (Claude Desktop, Cursor, ChatGPT, IDEs) →
Connect your AI client.3
Run your first task
Ask your assistant:The assistant calls
list_devices, starts a task with phone_run_task,
and waits on phone_task_monitor until the result comes back - while you
watch it happen on the phone’s screen.The tools at a glance
After connecting, your client callstools/list and receives the phone tools available for your account and Android app version. Each name below links to its full reference - parameters, defaults, and outcomes.
With no Android device registered, only
list_devices and
set_default_device are exposed. Device tools appear when a compatible
Android app advertises them - if the list looks wrong, see
Troubleshooting.The loop
Every workflow is the same three beats:- Start -
phone_run_taskwith a prompt. You gettask_id(and asession_idto reuse for follow-ups). - Monitor -
phone_task_monitoruntil it returns withmonitor_timed_out: false. Iftrue, the task is still working: call it again. - Act - a completed task carries one
terminal:ok→ readresult;needs_user_control→ the phone needs you (login, confirmation, CAPTCHA): answer withphone_task_messageand monitor thecontinuation_task_id; anything else → the terminal outcomes table has the recovery move.
One task per device: a new
phone_run_task displaces any pending, running,
or paused MCP task on that phone. Details and session rules →
Devices & Sessions.Example prompts
Once connected, you drive the phone in plain language. Some patterns that work well:Send a message for me
Send a message for me
needs_user_control handoff. More → Messaging.Morning catch-up
Morning catch-up
phone_run_task; the assistant monitors
until the summary comes back. More → Daily assistant.App testing and QA
App testing and QA
per_call_timeout_s and from breaking work
into several tasks in one session. More → App testing & QA.Cross-app workflow in one session
Cross-app workflow in one session
phone_run_task calls in one
session, reusing the same session_id so the whole workflow stays on one
device. Logins and payment screens come back as needs_user_control
handoffs, so nothing is bought or sent without you. More →
Cross-app workflows.Go deeper
Phone setup
Install the app, grant permissions, manage devices
Connect your AI client
Claude Code, Claude Desktop, Cursor, ChatGPT, IDEs - plus auth in depth
Task lifecycle
States, terminal outcomes, handoffs, pause/resume
Tool reference
Every parameter, default, and cap
Best practices
Task design, sessions, errors, performance, security, monitoring
Troubleshooting
Symptom-based fixes for devices, tasks, auth, and clients
Support
Email Support
API Keys
Create and manage your API keys