
AhaSend
com.ahasendPublished by ahasend.comOfficial publisherv0.1.1Updated Oct 24, 2026
Send email, check deliverability, set up domains, and run templates, contacts and campaigns.
Overview
Lets an assistant send email through AhaSend and manage domains, templates, contacts, lists, campaigns, webhooks and routes.
- What you can do
- Exposes AhaSend's email platform as MCP tools grouped into toolsets: sending (one-off, conversation and template emails, cancel scheduled sends), diagnostics (message lookup, bounce and delivery-time stats), domains, templates, audience (contacts and lists), campaigns, and management (webhooks, routes, suppressions, SMTP credentials, sub-accounts). Each tool calls the AhaSend v2 API, and the API key's scopes decide which tools are shown. Campaign sends require a person to confirm a form, and one-off sends are capped by a recipient limit.
- When to use it
- Use it when an assistant should draft and send transactional or campaign email, investigate why a message failed, or maintain AhaSend domains, templates, contact lists and campaigns without leaving the chat.
- Requirements
- A remote endpoint at mcp.ahasend.com with OAuth sign-in. The Go library route needs an AhaSend API key, an account ID, a dashboard base URL and a confirmation key of at least 32 random bytes; the local dev command reads AHASEND_API_KEY and AHASEND_ACCOUNT_ID, with optional AHASEND_BASE_URL.
Installation
In SourceWeft
- Open AhaSend in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.ahasend%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"ahasend": {
"type": "http",
"url": "https://mcp.ahasend.com/mcp"
}
}
}README
ahasend-mcp
A Go module with MCP tools for AhaSend. With these tools, an AI agent can send email, find out why an email failed, and manage domains, templates, contacts, lists, campaigns, webhooks, routes, suppressions, SMTP credentials and sub-accounts.
Each tool calls the AhaSend v2 API through ahasend-go. The API key's scopes decide what the agent can do.
The module builds a server with the official Go MCP SDK. Your program chooses how to serve it: stdio, HTTP, or any other SDK transport.
Example
Options
If you serve many users, build a new server for each request with that
user's key and scopes. This is cheap. Use the same ConfirmationKey on
every instance.
Catalogue() lists every tool with the scopes it needs.
OfferedScopes() lists every scope the tools use, for a page where a user
picks scopes.
Tools
Each tool needs the scopes its API endpoint needs. send_campaign and
schedule_campaign also need campaigns:read and lists:read, and
segments:read to send a campaign that uses segments. The campaign
template tools also need campaigns:read. preview_segment,
list_segment_contacts and list_contact_segments need contacts:read
as well as segments:read.
List tools return 20 items by default and at most 100. Pass the returned cursor to get the next page.
There are no tools to create API keys or SMTP credentials, change account settings, billing or team members, remove all suppressions, or delete or suspend sub-accounts.
Simple Editor designs and AhaML
The template, campaign template and campaign tools read and write a design
of the dashboard's Simple Editor as AhaSend Markup (AhaML), an XML form of
the design, in the content's markup field. get_template returns a
template's working copy, the draft while one exists, so an agent edits what
it read; get_published_template returns the copy a send uses.
The server has one resource, ahasend://docs/ahaml: the AhaML reference,
with every tag, attribute, limit and error code. It is also at
https://ahasend.com/docs/send-api/ahaml. The resource is listed on every
connection, so an agent without web access can read it.
Safety rules
Campaign sends need a person's yes. send_campaign and
schedule_campaign show the user a form with the send time, the number of
contacts, the campaign name, subject, sender, lists and segments, and the
excluded lists and segments. They send only if the user answers yes. If
the campaign changes after the question, the tool asks again. If the client
cannot show a form, the tool sends nothing and returns a link to the
campaign in the dashboard.
One-off sends have a recipient limit. A single send to more than
MaxRecipientsPerSend recipients (default 50) is refused. Use a campaign
for bulk email.
Received email is hidden by default. Anyone can send email to an
account's inbound addresses, and that email can contain text that tries to
trick the agent. Unless ReadInbound is on, the message tools do not return
received email. When it is on, received messages are marked
untrusted: true.
Errors
When the API refuses a call, the tool returns an error with the API's message and what to do next. When it refuses AhaML, the error lists the problems, up to the first 100, each with its code, line, column, path and hint; the API's message gives how many there are.
Trying it locally
cmd/ahasend-mcp-dev serves every tool over stdio with your own API key.
It is for testing only.
Set AHASEND_BASE_URL to use an API other than the default.
License
MIT
Source: README.md at commit e67830c
Tools
0Version history
1- v0.1.1LatestOct 14, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
