> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autogrowth.farm/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> AutoGrowth runs social accounts on real phones. Everything a page describes happens on a physical device in the customer's own fleet, never through a social platform's API.
> The Companion is a macOS desktop app that runs on the customer's own Mac and manages the phones over USB — iPhones through WebDriverAgent, GrapheneOS phones through ADB and scrcpy. Nothing runs while the Companion is closed.
> The Companion builds, signs and installs WebDriverAgent on each iPhone itself. Never tell a customer to sign WebDriverAgent by hand in Xcode; Xcode is a prerequisite the Companion drives, not a step the customer performs.
> Autogrowth MAX is a one-time, invite-only lifetime license bought from the organization's credit balance, not a subscription tier. It is required to run any automation, workflow or Incubator program. Without a price set for that organization, the purchase is refused.
> An automation is one of AutoGrowth's built-in definitions; a script is a graph the customer builds in the Script Builder. The Script Builder is locked platform-wide, so never present building a script as something a customer can do today.
> An API key is a bare 64-character hex string with no prefix. It is shown once, at creation, is sent as `Authorization: Bearer <key>`, and can never be read back.
> An API key sees only the key owner's own accounts, content, collections, prompts, scripts and executions. Devices and tags are organization-scoped, and a non-owner sees only the devices assigned to them or carrying one of their tags. The automation catalog is global.
> There is no pagination. List endpoints return the whole set; the only limiting parameter anywhere is `limit` on `GET /v1/executions`, which defaults to 50 and has no offset to page with.
> Remote control and the live screen are dashboard-only, over WebSocket and MJPEG. Neither is part of the public API.
> The MCP server is hosted at https://mcp.autogrowth.farm and authenticates with OAuth. It is not an npm package and there is nothing to install locally. Its tools inherit exactly the scope of the API key behind them.
> Android support is partial and GrapheneOS-only: those phones appear in the fleet and can be watched and remote-controlled, but they cannot run scripts or automations.
> Never document Hi Katie or any persona feature. When a page and the code disagree, the code wins — check a claim against the source before repeating it.

# MCP overview

> What the AutoGrowth MCP server lets an AI assistant do with your fleet, and what it deliberately cannot do.

AutoGrowth runs a hosted MCP server at `https://mcp.autogrowth.farm`. Point an MCP
client at that URL, approve the connection in your dashboard, and the assistant on
the other side can read your fleet and schedule work on it.

There is nothing to install. It is not an npm package, it does not run on your Mac,
and it is not part of the Companion. It is a URL your client connects to.

<Info>
  The MCP server schedules work. It does not perform it. A run an assistant
  schedules sits in the queue exactly like one scheduled from the dashboard, and
  the phone only carries it out while the Companion is open.
</Info>

## What an assistant can do

| It can                                                     | Tool                                                 |
| ---------------------------------------------------------- | ---------------------------------------------------- |
| See your phones, their status and which account is on each | `list_devices`                                       |
| See your social accounts and their follower stats          | `list_accounts`                                      |
| Read the automation catalog and each automation's inputs   | `list_automations`                                   |
| Read your scripts                                          | `list_scripts`                                       |
| Schedule one automation or script on one phone             | `schedule_automation`, `schedule_script`             |
| Schedule up to 100 runs across the fleet in one call       | `bulk_schedule_automations`, `bulk_schedule_scripts` |
| Read what is scheduled, and how past runs ended            | `list_schedules`                                     |
| Add media to your content library from a public URL        | `upload_media`                                       |
| Browse the library's metadata                              | `list_media`                                         |

Eleven tools in total. [MCP tools](/mcp/tools) documents each one's parameters.

Running an automation requires **Autogrowth MAX**, the same as it does in the
dashboard. Listing them does not.

## What it cannot do

The tool set is narrower than the dashboard and narrower than the REST API. An
assistant cannot cancel or delete a run it scheduled, cannot read run logs, cannot
manage collections or prompts, and cannot pause an account. It never gets a live
screen or control of a phone — those are dashboard-only.

[MCP limitations](/mcp/limitations) is the full list. Read it before you plan
around an assistant.

## How authorization works

You never paste an API key into your client. The connection is authorized in your
browser, once.

<Steps>
  <Step title="The client registers itself">
    On first connection your MCP client registers with the server and receives a
    client ID. Nothing about your account is involved at this point.
  </Step>

  <Step title="You approve it in the dashboard">
    Your browser opens an **Authorize Access** page on
    [dash.autogrowth.farm](https://dash.autogrowth.farm) naming the client that
    asked. Press **Allow Access** and you are sent back to the client.
  </Step>

  <Step title="The client gets a token">
    The token lasts 30 days and the client refreshes it on its own. If it lapses,
    connect again.
  </Step>
</Steps>

[Connect to the MCP server](/mcp/connect) has the per-client setup.

## What the connection can see

<Warning>
  An authorized connection acts as **you**, with your role and your permissions.
  Anything you can do to your own accounts, content and phones, the assistant can
  do — including scheduling runs that post.
</Warning>

Approving a client creates a developer API key owned by your user, named
`MCP: <client name>`. Every tool call goes through that key, so the same scoping
rules apply as on the [REST API](/api/authentication#what-a-key-can-see):

* **Your rows only** for accounts, content, scripts and executions. Even as the
  organization's owner you see what you own, not what your teammates own.
* **Organization-wide** for devices and tags, filtered by what you can reach: an
  owner sees every phone, anyone else sees the phones assigned to them or carrying
  one of their tags.
* **Global** for the automation catalog. It is the same for every organization.

To revoke a connection, open **Settings → Developer API** in the dashboard and
delete the key named after the client. Tool calls stop working immediately. Seeing
that list needs the **Manage API keys** permission.

## Next

<CardGroup cols={3}>
  <Card title="Connect" icon="plug" href="/mcp/connect">
    Setup for Claude Code, Claude, Cursor and everything else.
  </Card>

  <Card title="Tools" icon="wrench" href="/mcp/tools">
    All eleven tools, their parameters and their quirks.
  </Card>

  <Card title="Limitations" icon="ban" href="/mcp/limitations">
    What the tool set will not do yet.
  </Card>
</CardGroup>
