Automo.ai

Quickstart: Automo developers

Register an OAuth client, authorise with PKCE and call your first Automo tool over REST or MCP, in five commands.

Read as Markdown

Five steps from nothing to a tool call. You need an Automo account; the Free plan needs no credit card, and a free workspace is a fine sandbox: what you do there is real, but private to that workspace.

Fastest: let a client do it

# Claude Code
claude mcp add --transport http automo https://mo.automo.ai/mcp

# Cursor, Codex, Windsurf, Claude Desktop
npx automo connect cursor

The client registers itself, opens the Automo sign-in and consent screen, and stores the token. Then ask it to use Automo.

By hand

1. Register a client

curl -X POST https://mo.automo.ai/oauth/register \
  -H "Content-Type: application/json" \
  -d '{"client_name":"My agent","redirect_uris":["http://127.0.0.1:8976/callback"],"token_endpoint_auth_method":"none"}'

Keep the client_id from the answer. No credential is needed to register.

2. Make a PKCE pair

VERIFIER=$(openssl rand -base64 48 | tr -d '=+/' | cut -c1-64)
CHALLENGE=$(printf '%s' "$VERIFIER" | openssl dgst -sha256 -binary | openssl base64 | tr '+/' '-_' | tr -d '=')

3. Send the person to authorise

https://mo.automo.ai/oauth/authorize?response_type=code&client_id=$CLIENT_ID&redirect_uri=http%3A%2F%2F127.0.0.1%3A8976%2Fcallback&code_challenge=$CHALLENGE&code_challenge_method=S256&scope=files%3Aread%20projects%3Aread%20offline_access&state=xyz

They sign in (or create a free workspace), choose the workspace, tick the permissions, and come back to your redirect URI with ?code=…&state=xyz.

4. Exchange the code

curl -X POST https://mo.automo.ai/oauth/token \
  -d grant_type=authorization_code -d code=$CODE -d client_id=$CLIENT_ID \
  -d redirect_uri=http://127.0.0.1:8976/callback -d code_verifier=$VERIFIER

5. Call a tool

curl -X POST https://mo.automo.ai/v1/tools/whoami -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -d '{}'
curl -X POST https://mo.automo.ai/v1/tools/list_projects -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"limit":5}'

Next