About Aura
Aura is a persistence service for autonomous agents, providing email, webhooks, durable memory, and event waiting. It is aimed at agents that need to retain state across runs and pay in USDC through x402 without an account.
Key features
- 01Create an agent email identity
- 02Receive email and verification codes
- 03Create webhook endpoints
- 04Store and search durable memory
- 05Wait for events without polling
- 06Pay for operations with USDC via x402
Use cases
- 01Complete signups that require email verification
- 02Resume work after an agent run ends
- 03Store task details between sessions
- 04Wait for incoming events without repeated polling
MCP support
Aura exposes its service through an MCP endpoint that MCP clients can connect to. The tools cover identity, email, memory, webhooks, and event waiting.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://aura.rohnelt.dev/mcpclaude mcp add --transport http dev-rohnelt-aura-aura https://aura.rohnelt.dev/mcp{"mcpServers":{"dev-rohnelt-aura-aura":{"type":"http","url":"https://aura.rohnelt.dev/mcp"}}}Open in Cursor{"servers":{"dev-rohnelt-aura-aura":{"type":"http","url":"https://aura.rohnelt.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-rohnelt-aura-aura":{"type":"http","url":"https://aura.rohnelt.dev/mcp"}}}{"mcpServers":{"dev-rohnelt-aura-aura":{"serverUrl":"https://aura.rohnelt.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://aura.rohnelt.dev/mcpAuth requiredTools
16This tool takes no parameters.
Details
From the project READMEAura
The persistence layer for ephemeral agents. A real email address, a webhook URL, durable memory, and the ability to wait for an event without burning tokens — sold to autonomous agents that pay in USDC over x402, with no account and no human in the loop.
Service: https://aura.rohnelt.dev · MCP: https://aura.rohnelt.dev/mcp · Docs for models: llms-full.txt
This repository holds the client side: SDKs, framework adapters, and the Claude Skill.
The problem
An autonomous agent is ephemeral. That creates three hard blockers, and none of them is a matter of intelligence:
| Blocker | What normally happens |
|---|---|
| It has no address. | It cannot sign up for anything, because it cannot receive the verification code. |
| It cannot wait. | It polls in a loop, burning tokens on every turn, or it dies and loses the work. |
| It dies at the end of a run. | Everything it learned is gone. |
Aura removes all three. An agent proves it controls a wallet with one signature and gets a handle, a real mailbox, a webhook base URL, durable memory, and two ways to wait.
Install
npm install aura-agent # JavaScript / TypeScript
pip install aura-x402 # Python
Or point any MCP client at the endpoint:
{
"mcpServers": {
"aura": {
"type": "http",
"url": "https://aura.rohnelt.dev/mcp",
"headers": { "Authorization": "Bearer aura_sk_..." }
}
}
}
Without the header the tools still list, and capabilities and identity_create still work — an agent can evaluate the service before committing to anything.
The thirty-second version
from aura_agent import Aura, LocalSigner
client = Aura.claim(LocalSigner(private_key)) # free, one signature, no signup
address = client.whoami()["email"] # a real mailbox
sign_up_somewhere(email=address) # whatever the task actually is
code = client.await_email_code() # blocks; costs no tokens; refunds on timeout
import { Aura, toSigner } from "aura-agent";
import { privateKeyToAccount } from "viem/accounts";
const { client, identity } = await Aura.claim(toSigner(privateKeyToAccount(key)));
const code = await client.awaitEmailCode({ from: "[email protected]" });
What is in here
| Path | What |
|---|---|
js/ | aura-agent on npm — zero-dependency TypeScript client |
python/ | aura-x402 on PyPI (imported as aura_agent) — sync and async clients, plus LangChain and CrewAI adapters |
skill/aura/ | A Claude Skill: drop it in and Claude knows when to reach for Aura |
server.json | The manifest published to the official MCP Registry |
Framework adapters
from aura_agent.langchain import get_tools # pip install "aura-x402[langchain]"
from aura_agent.crewai import get_tools # pip install "aura-x402[crewai]"
tools = get_tools(client)
Fourteen tools, each described for a model deciding whether to spend money: what it does, when not to use it, and what it costs.
Pricing
Operations cost fractions of a cent, so they are debited off-chain from a prepaid balance: one on-chain settlement covers hundreds of calls. Claiming an identity is free and grants a small trial credit.
| Call | Price |
|---|---|
capabilities, whoami, identity.create, forget | free |
recall, list_memory | $0.0005 |
remember | $0.0008 |
inbox, read_mail, create_hook | $0.001 |
search_memory, signal, resume | $0.002 |
await | $0.004 |
park | $0.005 |
Two of these refund themselves: a timed-out await costs nothing, and resume is free when no parked work is ready. So calling resume at the start of every run is safe.
Deposits are paid in USDC on Base: POST /v1/credit/deposit/{1,5,20} answers HTTP 402 with full x402 payment requirements.
Errors carry the fix
An agent has no human to ask, so every error returns what was missing and the corrected call. A 402 carries the exact deposit call; a memory 404 carries the keys that do exist; a 400 carries the schema plus a working example. Both SDKs preserve that rather than flattening it into a string.
try:
client.remember("k", "v")
except AuraError as err:
if err.needs_credit:
print(err.fix) # the exact deposit call to make
Discovery
Aura is built to be found and evaluated by a machine, without a signup:
/v1/capabilities— every operation, price and schema. Free./llms.txtand/llms-full.txt/openapi.json— OpenAPI 3.1/.well-known/x402,/.well-known/agent.json,/.well-known/mcp.json
GET / returns JSON unless Accept explicitly asks for HTML.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.