Elastic Email MCP for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Elastic Email MCP or direct API to send transactional emails, manage contacts, create campaigns, verify email addresses, and review delivery reports through natural language.

Elastic Email logoElastic Email
Api Key

Elastic Email is an email delivery and marketing platform for transactional emails, campaigns, contacts, and reporting. Use it to send reliable emails, manage audiences, verify addresses, and track performance.

91 Tools

Try Elastic Email now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Elastic Email
Try asking
TOOLS

Supported Tools

Every Elastic Email action and event your agent gets out of the box.

Add Contact List Members

Add selected existing contacts to a named Elastic Email contact list.

Add Contacts

Add up to 1000 Elastic Email contacts and optionally assign them to existing lists.

Add Suppressions

Add up to 1000 email addresses to Elastic Email's bounce, complaint, or unsubscribe suppression records.

Adjust Subaccount Credits

Add or remove email credits from a managed Elastic Email subaccount.

Check Domain Restriction

Check whether Elastic Email restricts a domain or identifies it as a free-provider domain.

Create Campaign

Create a campaign.

Create Contact List

Create a contact list, optionally with initial email members.

Create Domain

Create a sending or tracking domain in the connected Elastic Email account.

Create Inbound Route

Create a new inbound email route.

Create Segment

Create a dynamic contact segment from a name and SQL-like rule.

Create Subaccount

Create a managed subaccount with optional initial email settings.

Create Template

Create a new email template with its name, content, and scope.

Create Webhook

Create a webhook subscription for selected email events.

Delete Campaign

Delete one campaign by exact name.

Delete Contact

Delete one contact by exact email address.

Delete Contact List

Delete one contact list by exact name.

Delete Contacts

Permanently delete 1-10 contacts by exact email address.

Delete Domain

Delete one configured domain from the connected Elastic Email account.

Delete Email Verification

Delete one saved email verification result by exact email address.

Delete File

Permanently delete one stored file by its exact name.

Delete Inbound Route

Permanently delete one inbound email route by its public ID.

Delete Segment

Delete one Elastic Email dynamic contact segment by its exact name.

Delete Suppression

Remove one email address from Elastic Email suppression records.

Delete Template

Delete one Elastic Email template by its exact name.

Delete Verification File

Delete one uploaded verification file job by its VerificationID.

Delete Webhook

Delete one webhook subscription by its public WebhookID.

Download File

Download a stored Elastic Email file by its exact name.

Download Verification File Results

Download the ZIP result archive for a completed verification file job.

Get Campaign

Return one Elastic Email campaign by its exact name.

Get Contact

Return one Elastic Email contact by email address.

Get Contact Export Status

Get the current status of an asynchronous contact export job.

Get Contact List

Return one Elastic Email contact list by its exact name.

Get Credential Metadata

Get one Elastic Email API-key or SMTP credential's audit metadata without returning its secret token.

Get Domain

Return detailed DNS and certificate state for one Elastic Email domain.

Get Email Job Status

Return delivery status and optional recipient-level details for an Elastic Email transaction.

Get Email Preview

Return the rendered preview, attachment metadata, and delivery status for an Elastic Email message ID.

Get Email Verification

Return the saved Elastic Email verification result for one email address.

Get Event Export Status

Get the current status of an asynchronous global or channel event export.

Get File Info

Return metadata for a stored Elastic Email file without downloading it.

Get Inbound Route

Return one Elastic Email inbound route by its public ID.

Get Segment

Return one Elastic Email dynamic contact segment by its exact name.

Get Account Statistics

Return aggregate Elastic Email delivery statistics for a time interval.

Get Statistics Breakdown

Return one Elastic Email campaign or channel delivery summary by exact name.

Get Subaccount

Return one managed Elastic Email subaccount by its login email.

Get Suppression

Return suppression details for one Elastic Email address.

Get Template

Return one Elastic Email template by its exact name.

Get Verification File Results

Return one page of detailed results and metadata for a verification file.

Get Webhook

Return one Elastic Email webhook subscription by its public ID.

Import Contacts

Start an asynchronous contact import using exactly one source: an uploaded CSV file or a provider-accessible CSV URL.

Import Suppressions

Upload CSV content containing bounced, complained, or unsubscribed email addresses for asynchronous suppression import.

List Campaigns

Find campaigns by optional name fragment and return one page.

List Contact List Members

Return one page of contacts in a named Elastic Email contact list.

List Contact Lists

Return one page of contact lists from the connected Elastic Email account.

List Contacts

Return one page of contacts from the connected Elastic Email account.

List Credential Metadata

List API-key or SMTP credential metadata without returning secret tokens.

List Domains

Return all sending and tracking domains configured for the account.

List Email Verifications

Return one page of individual email verification results.

List Files

Return one page of stored files and metadata.

List Inbound Routes

Return all inbound email routing rules in their current order.

List Segments

Return one page of dynamic contact segments.

List Statistics Breakdowns

Return one page of campaign or channel delivery summaries.

List Subaccounts

Return one page of managed subaccounts without credentials or passwords.

List Suppressions

Return one page of all suppressed addresses or only addresses suppressed for bounce, complaint, or unsubscribe reasons.

List Templates

Return one page of templates for the required visibility scopes.

List Verification Files

Return all uploaded verification file jobs and their current statuses.

List Webhooks

Return one page of webhook subscriptions.

Pause Campaign

Pause an active Elastic Email campaign by exact name, cancelling messages that are still waiting to be sent.

Remove Contact List Members

Remove selected contacts from a named Elastic Email contact list without deleting the contacts.

Reorder Inbound Routes

Set the processing order of Elastic Email inbound routing rules.

Search Delivery Events

Search all delivery events, one transaction's events, or one channel's events and return one page.

Send Email

Send an email to one or more recipients using inline content or a saved template.

Send Merge File Email

Send personalized email to recipients listed in a CSV merge-data file.

Send Transactional Email

Send one transactional message with To, CC, and BCC recipient groups.

Set Default Sender Domain

Set the domain of a verified sender email as the account default.

Start Contact Export

Start an asynchronous export of all contacts or contacts selected by one filter rule or a list of email addresses.

Start Event Export

Start an asynchronous export for all events or one channel.

Start Verification File

Start bulk verification for a previously uploaded CSV file.

Trigger Campaign Automation

Enter one contact email into an irreversible automation that may send email or execute later steps and cannot be undone.

Update Campaign

Update an existing active or paused campaign.

Update Contact

Update the first name, last name, or custom fields for one Elastic Email contact.

Update Contact List

Update an Elastic Email contact list by providing at least one change: rename it with NewListName or change whether contacts may unsubscribe with AllowUnsubscribe.

Update Domain

Update certificate, VERP, or custom bounce settings for an Elastic Email domain.

Update Inbound Route

Replace an existing inbound route definition by public ID.

Update Segment

Replace an existing dynamic contact segment's name and rule.

Update Subaccount Email Settings

Replace email limits and sender settings for a managed subaccount.

Update Template

Replace an existing email template's name, content, and scope.

Update Webhook

Update a webhook URL, event notification flags, name, or enabled state.

Upload File

Store a base64-encoded file in the connected Elastic Email account.

Upload Verification File

Upload a CSV containing an email column for a later bulk verification job.

Verify Domain

Ask Elastic Email to re-check a domain's DNS configuration.

Verify Email

Run verification for one email address and return its deliverability assessment.

SETUP GUIDE

Connect Elastic Email MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
Install the Composio SDK for Python or TypeScript
2

Initialize Client and Create Tool Router Session

typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
Import and initialize the Composio client, then create a Tool Router session for Elastic Email
3

Connect to AI Agent

typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Verify whether customer@example.com is a valid email address in Elastic Email.'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
Use the MCP server with your AI agent (Anthropic Claude or Mastra)
SETUP GUIDE

Connect Elastic Email API Tool with your Agent

1

Install Composio

typescript
npm install @composio/openai
Install the Composio SDK
2

Initialize Composio and Create Tool Router Session

typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
Import and initialize Composio client, then create a Tool Router session
3

Execute Elastic Email Tools via Tool Router with Your Agent

typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List my Elastic Email campaigns and summarize recent delivery stats.'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
Get tools from Tool Router session and execute Elastic Email actions with your Agent

Why Use Composio?

AI Native Elastic Email Integration

  • Supports both Elastic Email MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable email, contact, campaign, and reporting actions
  • Rich coverage for sending messages, managing lists, checking stats, and verifying addresses

Managed Auth

  • Securely store Elastic Email API keys without hard-coding them in your agent code
  • Use auth_configs.create() and connected_accounts.link() to configure and connect user accounts cleanly
  • Central place to manage, scope, and revoke Elastic Email access across users and environments

Agent Optimized Design

  • Tools are shaped so agents can understand Elastic Email actions without messy custom integration code
  • Execution logs show what your agent sent, queried, or updated, and on whose behalf
  • Built-in handling helps reduce failed calls when agents work with campaigns, contacts, and reports

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Elastic Email
  • Scoped, least privilege access for sending, reporting, verification, and contact management workflows
  • Full audit trail of agent actions to support review, debugging, and compliance
FAQ

Frequently asked questions

Yes, Elastic Email requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Start with Elastic Email.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Elastic Email tool your agent needs.Free to start.

Start building