# Docs

> How to give an AI agent a real Android phone over MCP or REST, buy phones, numbers and static IPs from the API, and get webhooks.

Source: https://fones.ai/docs

fones gives AI agents real Android phones in the cloud. Your agent drives them over MCP or REST: it reads the screen, taps, types, opens apps, runs root shell commands and reads the texts that reach the phone's number. You buy phones, numbers and static IPs from a prepaid balance, in the console or from the API.

## Start here

- [Quickstart](https://fones.ai/docs/quickstart): an API key, a phone, and your first look and tap, in five calls.
- [Connect your agent](https://fones.ai/docs/connect): ready blocks for Claude Code, Cursor, Codex, Claude Desktop and any MCP client.
- [MCP tools](https://fones.ai/docs/mcp): every tool, its arguments and its scope.
- [REST API](https://fones.ai/docs/api): the same actions over HTTP, plus keys, webhook and billing.
- [Webhooks](https://fones.ai/docs/webhooks): events, signatures and retries.

## The basics

- REST base URL: `https://api.fones.ai/v1`. MCP endpoint: `https://api.fones.ai/mcp`.
- Auth: `Authorization: Bearer fones_...` with an API key from the console. Keep it in `FONES_API_KEY`.
- Screen coordinates are a grid from 0 to 1000 on both axes. `(500, 500)` is the middle of the screen on every phone.
- Errors look like `{ "error": { "code": "...", "message": "..." } }`, on REST and MCP alike.
- Money is in US cents. Times are ISO 8601.

## For agents

Every docs page has a Markdown twin: add `.md` to its URL, or ask for `Accept: text/markdown`. The whole site in one file is [/llms-full.txt](https://fones.ai/llms-full.txt), a short summary is [/llms.txt](https://fones.ai/llms.txt), and the API is described in [/openapi.json](https://fones.ai/openapi.json).
