The SparkPost MCP server lets AI agents work in your SparkPost account over the Model Context Protocol. They can send transmissions, manage templates and sending domains, pull deliverability metrics, and much more.
It is a remote server, so there is nothing to install and no API key to create. Point a supported host at the endpoint for your region, sign in to SparkPost, and approve the connection.
| Account | MCP endpoint |
|---|---|
| SparkPost | https://mcp.sparkpost.com/mcp |
| SparkPost EU | https://mcp.eu.sparkpost.com/mcp |
Use the endpoint that matches the region your account is in. An account on app.sparkpost.com uses the first; an account on app.eu.sparkpost.com uses the second.
The server speaks Streamable HTTP. Most hosts need nothing but the endpoint URL and work out the rest themselves.
In Claude on the web or in the desktop app, open Settings →
Connectors → Add custom connector, name it SparkPost, and paste the endpoint
URL for your region. Claude opens a SparkPost sign-in window; approve the
connection and the tools become available in your conversations.
Add the server from your terminal:
claude mcp add --transport http sparkpost https://mcp.sparkpost.com/mcp
For an EU account, use https://mcp.eu.sparkpost.com/mcp instead. Then run /mcp
inside Claude Code and choose to authenticate. Your browser opens for SparkPost
sign-in and consent.
Authorization uses OAuth 2.1 with PKCE. The first time a host connects:
You sign in with your ordinary SparkPost credentials. No API key is created, and none is pasted into the host.
You select the permissions a connection holds on the consent screen. You may grant all of your own permissions, or any narrower subset of them.
A connection cannot be granted a permission you do not hold. The available set is bounded by your role on the account.
| Family | What it covers | Tools |
|---|---|---|
| Transmissions | Send email. | transmissions_send |
| Templates | Create, list, retrieve, update, delete, and preview templates. | templates_create, templates_list, templates_get, templates_update, templates_delete, templates_preview |
| Suppression lists | Search the suppression list; retrieve, add, update, and remove entries. | suppression_search, suppression_get, suppression_upsert_bulk, suppression_upsert, suppression_delete |
| Recipient lists | Create, list, retrieve, update, and delete recipient lists. | recipient_lists_create, recipient_lists_list, recipient_lists_get, recipient_lists_update, recipient_lists_delete |
| Sending domains | Create, list, retrieve, update, delete, and verify sending domains. | sending_domains_create, sending_domains_list, sending_domains_get, sending_domains_update, sending_domains_delete, sending_domains_verify |
| Tracking domains | Create, list, retrieve, update, delete, and verify tracking domains. | tracking_domains_create, tracking_domains_list, tracking_domains_get, tracking_domains_update, tracking_domains_delete, tracking_domains_verify |
| Webhooks | Create, list, retrieve, update, delete, and validate webhooks. | webhooks_create, webhooks_list, webhooks_get, webhooks_update, webhooks_delete, webhooks_validate |
| Metrics | Deliverability metrics overall and over time, broken out by domain, campaign, or template, plus bounce and rejection reasons. | metrics_deliverability, metrics_deliverability_time_series, metrics_deliverability_by_domain, metrics_deliverability_by_campaign, metrics_deliverability_by_template, metrics_bounce_reasons, metrics_rejection_reasons |
| Message events | Search message events, and fetch sample events. | events_search_message, events_samples_message |
| Subaccounts | List, create, retrieve, and update subaccounts. | subaccounts_list, subaccounts_create, subaccounts_get, subaccounts_update |