AgentiSend
Transactional email API for AI agents: verified domains, a per-sender budget, and a kill switch.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http agentisend 'https://api.agentisend.com/mcp' --header 'Authorization: <Bearer <your API key>. OAuth 2.1 reaches the same tools with the same ceilings.>'
{
"mcpServers": {
"agentisend": {
"type": "http",
"url": "https://api.agentisend.com/mcp",
"headers": {
"Authorization": "<Bearer <your API key>. OAuth 2.1 reaches the same tools with the same ceilings.>"
}
}
}
}
@agentisend/mcp-serverclaude mcp add agentisend -e 'AGENTISEND_API_KEY=<your agentisend_api_key>' -e 'AGENTISEND_MCP_URL=https://api.agentisend.com/mcp' -- npx -y @agentisend/mcp-server@0.1.2
{
"mcpServers": {
"agentisend": {
"command": "npx",
"args": [
"-y",
"@agentisend/mcp-server@0.1.2"
],
"env": {
"AGENTISEND_API_KEY": "<your agentisend_api_key>",
"AGENTISEND_MCP_URL": "https://api.agentisend.com/mcp"
}
}
}
}
Environment variables
AGENTISEND_API_KEYrequired secret Your AgentiSend API key. Read from the environment only, never passed as an argument, because process arguments are visible to every other process on the machine.AGENTISEND_MCP_URLThe hosted endpoint this launcher proxies to. Defaults to https://api.agentisend.com/mcp.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
AgentiSend for AI agents
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 92 tools (46 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.
Install
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
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 Code
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 CLI
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 CLI
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.
VS Code
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.
Windsurf
{
"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.
OpenCode
{
"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.
Anything else that speaks stdio
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
What the agent can do
- Send one message or a batch, schedule a send, cancel or reschedule one that has not gone out, and replay a retry safely with an idempotency key.
- Preflight a send for free: the same validation, domain, suppression, budget, loop, trust and content checks the real send runs, with nothing sent.
- Add a sending domain, read the DNS records it needs, and verify it.
- Read what it may spend, set a ceiling, and check whether it can send now.
- Ask a person to approve a risky send and read back what they decided.
- Explain a message after the fact: the verdict, the evidence, and the remediation as callable steps.
Every tool, the scopes it needs and the ceilings it counts against are listed at https://agentisend.com/docs/guides/mcp.
What the agent cannot do
- It cannot raise its own budget, lift its own kill switch, or approve its own held send. An approval you can grant yourself is not an approval.
- It cannot read a message it was stopped from sending — it sees shapes: recipient counts, whether there is a body.
- It cannot send unsolicited mail. There is no feature for it, at any tier.
Examples
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.
Security
- No executable code in the install path. The skill is Markdown and the manifests are JSON. Nothing here runs, downloads a binary, or installs anything beyond copying those files into your agent.
- One runtime endpoint:
https://api.agentisend.com/mcpover HTTPS. Every connect command above names that address; the tools run there. - Credentials: a bearer API key (
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. - Optional local launcher: clients that only speak stdio run the published
npm package
@agentisend/mcp-server, which proxies to that same endpoint. - No telemetry. Nothing here phones home.
Links
- MCP server and tool list: https://agentisend.com/docs/guides/mcp
- Quickstart: https://agentisend.com/docs/guides/quickstart
- Budgets and the kill switch: https://agentisend.com/docs/guides/budgets-and-the-kill-switch
- Errors: https://agentisend.com/docs/errors
- Pricing: https://agentisend.com/pricing
- Support: hello@agentisend.com
License
MIT — see LICENSE.
Frequently asked questions
What is AgentiSend?
Transactional email API for AI agents: verified domains, a per-sender budget, and a kill switch.
How do I install AgentiSend?
It runs as a remote server. In Claude Code: claude mcp add --transport http agentisend 'https://api.agentisend.com/mcp' --header 'Authorization: <Bearer <your API key>. OAuth 2.1 reaches the same tools with the same ceilings.>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does AgentiSend need an API key?
Yes. It expects AGENTISEND_API_KEY, Authorization, which you set in its configuration.
Is AgentiSend open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains AgentiSend?
It is published by fortuneflick. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.