AgentiSend

Official registry Productivity

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).

Remote (streamable-http)
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.>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "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.>"
            }
        }
    }
}
NPM package @agentisend/mcp-server
Claude Code
claude 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
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "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_KEY required 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_URL The 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
  1. AgentiSend for AI agents
  2. Install
  3. What the agent can do
  4. What the agent cannot do
  5. Examples
  6. Security
  7. Links
  8. License

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/mcp over 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.

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.