Transactional email API for AI agents: verified domains, a per-sender budget, and a kill switch.
One address for any MCP client. You sign in at api.agentisend.com once, after adding it.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Emails | ||
| Domains | ||
| Webhooks | ||
| Limits | ||
| Trust | ||
| Contacts | ||
| Suppressions | ||
| Templates | ||
| Segments | ||
| Topics | ||
| Inbound |
From the sign-in at api.agentisend.com, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
AgentiSend is a transactional email API for AI agents: send receipts, password resets, sign-in codes and alerts from your own verified domain, with a message log, spend budgets, a free preflight and refusals that name the fix. The hosted MCP server at https://api.agentisend.com/mcp exposes 84 tools (44 on tools/list; the rest via list_more_tools) for sending, domain setup, templates, contacts, broadcasts, webhooks and delivery logs. A send is one message or a batch of up to 500 items with per-item results. preflight_email runs every gate a real send runs, sends nothing, and costs nothing. Every refusal returns a code, a message and the fix. A loop guard holds repeated sends for a person. You can cap what each agent spends, and stop all sending with a kill switch. There is no tool for unsolicited mail. Sign in with OAuth 2.1 and dynamic client registration, or use an API key. Starter prompts: "Send this receipt to the customer." "Preflight this send and tell me what would stop it." "What can I spend today?"
This repository ships the skill (SKILL.md) and the plugin manifests for
Claude Code, Cursor and Grok Build. The MCP server itself is hosted at
https://api.agentisend.com/mcp.
Claude Code — the plugin brings the server and the skill together:
/plugin marketplace add fortuneflick/agentisend-claude-plugin
/plugin install agentisend@agentisend
Every line below carries the same endpoint (https://api.agentisend.com/mcp) and a placeholder key — replace as_YOUR_API_KEY_HERE with a key from the console.
cursor://anysphere.cursor-deeplink/mcp/install?name=agentisend&config=eyJ1cmwiOiJodHRwczovL2FwaS5hZ2VudGlzZW5kLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgYXNfWU9VUl9BUElfS0VZX0hFUkUifX0=
Open this link and Cursor offers to add the server. Replace the placeholder key in Settings → MCP afterwards, or paste the same object into .cursor/mcp.json.
claude mcp add --transport http agentisend https://api.agentisend.com/mcp \
--header "Authorization: Bearer as_YOUR_API_KEY_HERE"
Or install the plugin, which brings the server and the sending skill together: /plugin marketplace add fortuneflick/agentisend-claude-plugin then /plugin install agentisend@agentisend.
codex mcp add agentisend --url https://api.agentisend.com/mcp \
--bearer-token-env-var AGENTISEND_API_KEY
The token stays in your environment; Codex writes only the variable name to ~/.codex/config.toml.
gemini mcp add --transport http \
--header "Authorization: Bearer as_YOUR_API_KEY_HERE" \
agentisend https://api.agentisend.com/mcp
Check it with gemini mcp list.
code --add-mcp '{"name":"agentisend","type":"http","url":"https://api.agentisend.com/mcp","headers":{"Authorization":"Bearer as_YOUR_API_KEY_HERE"}}'
Or write the same server into .vscode/mcp.json under servers.
{
"mcpServers": {
"agentisend": {
"serverUrl": "https://api.agentisend.com/mcp",
"headers": {
"Authorization": "Bearer as_YOUR_API_KEY_HERE"
}
}
}
}
Goes in ~/.codeium/windsurf/mcp_config.json, then refresh the MCP panel.
{
"mcp": {
"agentisend": {
"type": "remote",
"url": "https://api.agentisend.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:AGENTISEND_API_KEY}"
}
}
}
}
Goes in opencode.json; the key is read from your environment rather than written to the file.
AGENTISEND_API_KEY=as_YOUR_API_KEY_HERE npx -y @agentisend/mcp-server
The local launcher proxies to the same server, so the tool list, the budget and the refusals are identical.
Cursor: open Customize in the sidebar, find AgentiSend, and select Install.
For local development, clone this repository and symlink it into your Cursor
plugins directory (ln -s "$PWD" ~/.cursor/plugins/agentisend), then reload
Cursor — the manifest is .cursor-plugin/plugin.json.
Grok Build: run /marketplace and pick AgentiSend, or add this repository
as a marketplace source. Grok reads the server out of the plugin manifest, so
.grok-plugin/plugin.json carries it under mcpServers and one install brings
the tools and the skill together.
Claude Code reads .mcp.json at the repository root instead, so /plugin install brings both as well — after it, claude mcp list shows the server as
plugin:agentisend:agentisend. If you already have an AgentiSend connector,
remove one of the two rather than running both. Cursor reads neither file: the
Cursor plugin installs the skill alone, and the deeplink above adds the
server.
Any agent (skill only):
npx skills add fortuneflick/agentisend-claude-plugin
Every tool, the scopes it needs and the ceilings it counts against are listed at https://agentisend.com/docs/guides/mcp.
examples/ carries one runnable directory per integration — Next.js App
Router, Supabase's Send Email Hook, Better Auth, Auth.js, Hono, Express, a
SvelteKit form action, and an agent with a daily ceiling that refuses the
fourth identical send. Each one is executed against a real API server on every
build of the platform, so an example that stops working fails that build rather
than your first send.
https://api.agentisend.com/mcp over HTTPS. Every
connect command above names that address; the tools run there.as_…) minted at
https://console.agentisend.com, or OAuth 2.1 sign-in — both reach the same
tools with the same ceilings. This repository contains no keys and never asks
for one in chat. The Claude plugin's server entry carries no key: Claude
Code, claude.ai and Cowork sign you in through OAuth the first time a tool
runs.@agentisend/mcp-server, which proxies to that same endpoint.MIT — see LICENSE.