For developers
The tools
An assistant sees eleven tools. Each is also an endpoint on the web API. Here's what each one does.
The names and inputs come from the code, so tools/list over MCP, or GET /v1 on the web API, is always the exact reference. This is the shape of it.
| Tool | What it does |
|---|---|
my_stuff |
Lists what the account has, by project, with each thing’s purpose, usage and how to use it. A good first call in any session. |
kv |
A key-value store: get, set, delete, list, incr. Values can expire. |
sql |
A SQLite database: query, batch (all or nothing) and describe. |
files |
A file space: put, get, list, delete, versions, restore_version, upload_link, download_link. |
create |
Makes a named store, database, file space, secret, schedule, inbox, background agent or access key, with a purpose. |
status |
One thing in detail. |
manage |
Export, delete (kept 7 days), restore, restore to a moment in the last 7 days, undo a restore, change the purpose, and each kind’s own actions, such as pausing a schedule. |
use |
Works with schedules, inboxes and background agents: run logs, events, memory and settings. |
http |
A web request to the public internet, with stored secrets written as {{secret:NAME}} and filled in on our side. |
email_me |
Emails the account’s owner at their sign-in address, and nowhere else. 20 a day, free. |
account |
Credit, this month’s usage, the free allowance left, limits and warnings to pass on. |
Projects and names
Things live in projects. A call that names no project uses default. Names are lowercase letters, digits, - and _, up to 63 characters, starting with a letter or digit.
Every project has a store, a database and a file space named default that work with no setup. Secrets, schedules, inboxes and agents are always made with create.
Purposes
Everything has a purpose: a line saying what it’s for. my_stuff shows them, so an agent in another app knows what each thing holds without being told. Set one when you create something, and change it with manage.
Secrets
Make a secret with create (kind secret) and its allowed sites, with no value. The result has an entry link: the person opens it, signs in and pastes the value. In http requests and schedules, {{secret:NAME}} in the address, a header or the body is replaced on our side. The value is never shown again, to anyone. Widening a secret’s sites needs the person’s approval in their browser.
Schedules, inboxes and agents
- A schedule runs a web request or a background agent on a cron schedule (with a time zone) or once. At most every 5 minutes.
- An inbox is an address at
/in/<token>that keeps what’s posted to it. It can check each sender’s signature against a secret; the tool’s description lists the signature schemes it knows. - A background agent has instructions, optional hard rules, a model (Claude Sonnet 5.5 or Claude Opus 5.5), the sites it may reach and budgets. Schedules and inboxes can start it, or you can run it now.
use reads their run logs, events and memory. manage pauses, resumes, runs now and updates them.