aeria’s MCP server is at:
https://app.aeria.dev/mcpYour client connects by OAuth: aeria asks you to sign in, then asks your consent for one workspace. The client then acts in that workspace only.
Before you connect
Section titled “Before you connect”- Sign in on
app.aeria.devwith your email: a code is sent to it. A new address ticks the terms and gets its own workspace. - Add a passkey if you want one: it signs you in in one step next time.
Claude Code
Section titled “Claude Code”Claude Code opens your browser for the sign-in and the consent. Then ask
it something that calls aeria, for example “who am I on aeria?”:
user_whoami answers your email and your workspaces.
Claude Code answers a held call itself: a tool at ask shows its
question in Claude Code, and you allow or deny it there.
claude.ai and Claude Desktop
Section titled “claude.ai and Claude Desktop”Add a custom connector with the URL https://app.aeria.dev/mcp, then
connect it: the sign-in and the consent open in your browser.
These clients cannot answer a held call themselves: a tool at ask
waits on app.aeria.dev/held/<call>, where you allow or deny it. The
call stays open meanwhile; when the client stops waiting first, the call
stays held and its outcome is an event (event_search).
Any MCP client
Section titled “Any MCP client”Any client that speaks MCP over HTTP and OAuth 2.1 connects the same way. aeria knows how long each client waits and whether it can answer a held call; a client it does not know gets the shortest wait and no question of its own.
What your client learns
Section titled “What your client learns”- aeria’s instructions, sent when the client connects: what aeria
is, the flow, that every code tool names its app and branch, that an
askwaits for you. - Each tool’s description: what it does, what it refuses, what to call next.
- Each app’s and artifact’s
CLAUDE.md, read like any file: how to change that code.
Long calls
Section titled “Long calls”A long exec (a build, a test run) answers when it is done, within the
time your client waits. Past it, the call answers
{exec, status: running} with its steps so far and goes on; your agent
then calls exec_wait {exec}, which answers when the exec ends.
Your grants
Section titled “Your grants”Each client you allowed is a grant, for one workspace. grant_search
lists them. You end one on app.aeria.dev/w/<workspace>/grants: its
tokens end with it, and its next call is refused.