Sustain

Connect your agent to Sustain

Sustain publishes real tools to AI agents over the Model Context Protocol, so an agent works your albums by calling the same code the buttons call — not by guessing which pixel to click. Anything that speaks MCP can use it.

The endpoint

https://mcp.sustain-app.com/mcp

Two ways in, depending on your agent

It can sign you in itself

Claude and other OAuth-capable clients only need the URL. Add it as a custom connector and the client finds the rest on its own: you land on a Sustain page asking what the agent may do, tick the boxes, and you are connected. Nothing to copy.

It asks you to paste a token

Many agents — Meta’s Muse custom connectors among them — keep a bearer token in their own credential store instead. Generate one in Settings → Access tokens, choose the scopes, and paste it in. Your agent sends it as an Authorization header.

Authorization: Bearer sustain_pat_…

Check it works before wiring it up

One call, no credits, and it tells you which account the token belongs to. If this returns your email, the token is good and anything else that fails is the agent’s configuration.

curl -s https://mcp.sustain-app.com/mcp \ -H "Authorization: Bearer $SUSTAIN_TOKEN" \ -H "Content-Type: application/json" \ -H "MCP-Protocol-Version: 2026-07-28" \ -H "Mcp-Method: tools/call" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"whoami","arguments":{}}}'

What you are granting

Four, chosen when you connect. An agent gets what you grant, not what it asked for — and one that was not given the credits scope cannot even see the tool that starts a paid run. It is not offered and refused; it is simply not there.

ScopeWhat it allows
albums:read

See your albums

albums:write

Create and edit albums

credits:spend

Spend your credits on AI runs

the only one that costs money
billing:read

See your credit balance and plans

What the agent can do

whoami

Which account this connection acts for, and its credit balance.

list_albums

The albums on the account, newest first.

create_album

Start a new, empty album.

request_photos

Mint an upload ticket: an endpoint to POST files to, and a page to open on the device the photos are on.

import_google_photos

Pick photos in Google’s own window; we download them server-side, so nothing passes through the agent.

album_status

How many photos an album holds, and how a background job is doing.

quick_place

Lay the photos onto pages immediately. Free.

build_album

The full AI pass — analyse every photo, then curate and design. Spends credits.

get_credits

The balance, and what a run would cost.

start_checkout

A checkout link, when the balance is short. Moves no money on its own.

album_report

What the last AI build decided: the chapters it formed, the cover it chose, and every photo it left out with the reason.

dig_photos

Search your library in plain language — places, dates, people you have tagged, or what is in the picture. Spends credits.

read_document

The album’s pages as structured data, for changes no other tool expresses.

validate_document

Check an edited document against the rules the editor enforces, without changing anything.

set_document

Write the edited document back. Refused if it would not open in the editor.

How photos get in

Never through the agent. A tool call is text, and a single full-resolution photo can exceed an entire AI context window — so the tools do not move images at all. Instead you get one of three routes, and which one depends on where your photos are:

  • On your phone: you get a link to open, and pick them there.
  • On a machine the agent can read: it uploads them itself, straight from disk to us, using a short-lived ticket.
  • In Google Photos: you choose in Google’s own window and we download them server-side. This is the one that works when the agent runs in the cloud and cannot see your files at all.

Taking it back

Both kinds of connection are listed in Settings — connectors under Connected apps, tokens under Access tokens — and either can be revoked there. It takes effect on the agent’s very next call, not whenever its access happens to expire, because we issue these ourselves rather than handing out something we cannot withdraw. Tokens also carry an expiry date you choose when you create them.

What it needs

Any Sustain account, including free. AI runs spend credits at the same rate they do in the app, and a free account gets the free account’s limits — connecting an agent changes what you can reach, never what anything costs. See plans

We use cookies to analyze site usage and improve your experience. Learn more