Send from a client · Published 2026-09-22 · Updated 2026-09-28 · AgentiSend
Send email from Claude Desktop
To send email from Claude Desktop, add AgentiSend as a connector in Claude's settings, sign in and approve, then ask Claude Desktop to send. The connection carries a budget a person sets. A test from onboarding@agentisend.com to your sign-in address needs no domain of yours.
To send email from Claude Desktop, add AgentiSend as a connector in Claude's settings, sign in and approve, then ask Claude Desktop to send. Claude then calls the same API your own code calls. The ceiling is checked before the message is accepted, and a refusal comes back with a fix that names the next call. The same steps work on claude.ai.
Connect it
- In Claude (the desktop app or claude.ai), open AgentiSend in Claude's connector directory, https://claude.ai/directory/agentisend, and click Connect.
- If the listing does not open for your account, add it by hand: open Customize → Connectors, click +, choose Add custom connector, name it AgentiSend and paste
https://api.agentisend.com/mcp. Click Add, then Connect. Free Claude plans allow one custom connector. - Sign in to AgentiSend and approve. Claude holds the connection; there is no key to copy.
- Ask Claude: "Send a short note from onboarding@agentisend.com to my sign-in address." That sender delivers only to member sign-in addresses, and it needs no domain of yours. An address ending in @simulator.agentisend.com also works before a domain is verified: it costs nothing and reaches nobody.
To send to other people, ask Claude to set up your domain: "Set up example.com for sending on AgentiSend." It adds the domain and gives you the DNS records to publish.
A connection made this way is listed by GET /oauth/grants, and a signed-in person ends it with DELETE /oauth/grants/{id}; Claude's next request then fails to authenticate. It starts with the budget every new key gets, your plan's monthly inclusion, and a person lowers it on the console's Agents screen.
Or run it on this computer
Claude Desktop's config file runs local servers only: a remote URL written there does nothing. This entry starts AgentiSend's local launcher, which relays to the same server, so the tools, the budget and the refusals are identical.
{
"mcpServers": {
"agentisend": {
"command": "npx",
"args": [
"-y",
"@agentisend/mcp-server"
],
"env": {
"AGENTISEND_API_KEY": "as_YOUR_API_KEY_HERE",
"AGENTISEND_MCP_URL": "https://api.agentisend.com/mcp"
}
}
}
}To run AgentiSend on this computer instead, paste this into Claude Desktop’s claude_desktop_config.json and restart the app (it needs Node.js). That file only runs local servers, so it starts ours with npx. To connect without a key, use Customize → Connectors in Claude.
Replace the placeholder with a key you created for this agent: POST /api-keys with permission sending_access, then a ceiling with PATCH /limits/keys/{id} (budget_per_period, period, rate_ceiling_per_minute), read back with GET /limits/keys/{id}. The launcher reads the key from the config file, so that file is the one place it lives; revoke it with DELETE /api-keys/{id} if the file is ever shared.
A first prompt
Whichever way it is connected, the first read is whoami: the account, the connection's scopes and the budget left. A send to bounce@simulator.agentisend.com costs nothing, reaches nobody, and produces a bounce you can then read.
Use the AgentiSend connector. Call whoami and tell me the account and the budget left. Then send a short note to bounce@simulator.agentisend.com with the subject "Desktop check", wait a moment, and call explain_email on the message id to tell me what happened to it. If a call is refused, quote its code and fix, and stop when retryable is false.A send past the budget answers agent_budget_exceeded, a held send answers approval_required, and a paused key answers kill_switch_active; each carries code, message, fix and retryable, and Claude should stop when retryable is false rather than retry.
The same limits from every client
Budgets, loop detection, approvals and the kill switch behave identically whichever client holds the key or the connection, so they are not repeated here. The guardrails checklist maps each item people are told to hand-write onto the request that already enforces it, and Email for AI agents names every control with its endpoint.
Next
- Email for AI agents names every control and the request that calls it.
- Email guardrails maps the usual checklist onto these same fields.
- The MCP guide has the stdio launcher and the install line for every other client.