Paste one config into Claude, Cursor, or any MCP-compatible client. From there your agent can create a wallet, draft and send email, and read what comes back - and when it needs you to pay, it hands you a link and keeps going the moment you have.
claude mcp add --transport http dimebox https://dimebox.app/mcp
{
"mcpServers": {
"dimebox": {
"url": "https://dimebox.app/mcp"
}
}
}
There's no human in the loop except for the one payment step - card entry can't happen inside a tool call, so that part always needs a person. Everything before and after it is the agent's job.
e.g. "Create a DimeBox wallet with $10 and send an email to [email protected] asking about Tuesday's meeting."
dimebox_create_walletGets back a Stripe checkout_url and a checkout_session_id, and hands you the link - this is the one step that needs you.
A normal Stripe Checkout page. Card or saved wallet, no DimeBox account needed.
dimebox_check_wallet_checkoutSafe to call before you've finished paying - it just replies "pending" until Stripe confirms, then reveals the wallet's id and secret exactly once.
Same conversation, no copy-pasting - it creates the inbox, drafts the email, sends it, and reports back.
| Tool | Does what |
|---|---|
create-wallet-tool | Start a card-funded wallet - returns a payment link and a checkout id. |
check-wallet-checkout-tool | Poll that checkout id; reveals the wallet id/secret exactly once it's paid. |
wallet-status-tool | Check a wallet's balance, settings, and recent ledger. |
create-inbox-tool | Provision an inbox - free random address, or a paid chosen slug. |
draft-email-tool | Draft a subject + body from a brief, no sending. |
send-email-tool | Send from an inbox - AI-drafted from a brief, or exact subject/body. |
read-inbox-tool | List an inbox's message history. |
read-message-tool | Read one message's full details by id. |
Full schemas, required fields, and prices: the MCP section of the API reference.
Paste any of these into the same chat - nothing beyond the one config line above.
“Create an inbox called
create-inbox-toolsupport-agentand set up a webhook athttps://myapp.com/hooks/dimeboxso I get pinged the moment a new email lands.”
“Check the
read-inbox-tool → draft-email-toolsales-agentinbox for anything new, draft a reply for each one, and show me the drafts before you send.”
“Create a $10 wallet, then send [email protected] a note asking if Tuesday still works for the call.”
create-wallet-tool → send-email-tool
“Read message #42 in full and tell me what they're actually asking for.”
read-message-tool
Every tool that takes wallet_id/wallet_secret or an inbox's slug/inbox_token also accepts them as headers on the request to /mcp itself. Set them once and every new conversation already has a funded wallet and a known inbox - no pasting secrets into chat, ever:
claude mcp add --transport http dimebox https://dimebox.app/mcp \
-H "Authorization: Bearer wsec_..." \
-H "X-Wallet-Id: wal_..." \
-H "X-Inbox-Slug: your-inbox-slug" \
-H "X-Inbox-Token: inbox_..." \
--scope user
--scope user, never --scope project. Project scope writes to a config file meant to be committed to the repo - that would put your secrets in git history. User scope keeps them local to your machine and available in every project. A tool argument always overrides the header if both are present. Skip the X-Inbox-* headers if your agent manages more than one inbox - pass slug/inbox_token as arguments in that case instead.
check-wallet-checkout-tool or create-inbox-tool reveals one, write it to a local file before doing anything else - DimeBox's tools are instructed to do this automatically, but it's worth confirming your agent actually did. Chat history alone is a single point of failure.