Skip to content

Connect ElasticEmail to Claude: Verify Contacts and Configure Domains

Roopendra Talekar Roopendra Talekar 8 min read AI & Agents
Elaichi from the team behind Truto

ElasticEmail in Claude, in about a minute.

The best way to connect ElasticEmail to Claude is Elaichi: connect ElasticEmail to Elaichi once, then add Elaichi to Claude as a connector. Two steps, about a minute, with a 14‑day free trial and no credit card required.

  • No credit card required
  • 500+ connectors
  • Credentials vaulted, never read back
  1. Start your free trial

    14 days free, no credit card required.

  2. Connect ElasticEmail

    Once, in Elaichi. Claude never gets more access than you have.

  3. Add Elaichi to Claude

    In Claude, open Customize, then Connectors, press Add and paste the URL. Sign in and approve.

    https://api.elaichi.ai/mcp
TrutoFor product teams

Building ElasticEmail into your own product? This guide is for you.

Learn how to build a managed ElasticEmail MCP server, connect it to Claude Desktop or custom AI agents, and automate email delivery, domain configuration, and contact verification using natural language.

The developer guide

A complete engineering guide to connecting ElasticEmail to Claude via MCP. Automate domain verification, campaign stats, and transactional emails with AI agents.

If your team needs to connect ElasticEmail to Claude to automate transactional messaging, manage contact verification, or verify sending domains, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between Claude's natural language tool calls and ElasticEmail's REST API. You can either build and maintain this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL. If your team uses ChatGPT, check out our guide on connecting ElasticEmail to ChatGPT or explore our broader architectural overview on connecting ElasticEmail to AI Agents.

Giving a Large Language Model (LLM) read and write access to a core infrastructure platform like ElasticEmail is an engineering challenge. You have to map highly nested JSON schemas for domains and contact lists to MCP tool definitions, manage complex API key permissions, and gracefully handle ElasticEmail's strict sending quotas. Every time an endpoint changes or you need to support a new email template format, you have to update your server code, redeploy, and test the integration.

This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for ElasticEmail, connect it natively to Claude Desktop, and execute complex email delivery workflows using natural language.

The Engineering Reality of the ElasticEmail API

A custom MCP server is a self-hosted integration layer. While the open MCP standard provides a predictable way for models to discover tools, the reality of implementing it against ElasticEmail's API is painful. ElasticEmail is built to process massive volumes of outbound messages and enforce strict deliverability standards. Its API reflects that scale and complexity.

If you decide to build a custom ElasticEmail MCP server, here are the specific integration challenges you will face:

Fragmented API Key Access Levels ElasticEmail uses highly granular API key scopes (e.g., ViewCampaigns, ModifyContacts, SendHttp, ModifySettings). An LLM has no concept of which token to use for which operation. If your MCP server uses a key missing the ModifySettings scope, Claude's attempt to verify a domain will result in a hard 401 Unauthorized error. You must build an abstraction layer that either manages multiple keys or enforces strict boundary checks before passing requests downstream.

Asynchronous File Processing for Verification Verifying a single email is synchronous, but verifying a list of 50,000 contacts requires uploading a CSV, securing a VerificationID, and polling a status endpoint until the job completes. LLMs cannot easily handle long-running background polling loops on their own. Your MCP server must expose discrete, stateful tools that allow the LLM to kick off the job, check the status, and eventually download the results.

Factual Note on Rate Limits and IETF Headers ElasticEmail strictly throttles requests based on your account tier. It is critical to understand that Truto does not retry, throttle, or apply backoff on rate limit errors. When an upstream API returns HTTP 429, Truto passes that error directly to the caller. Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF spec. The caller (your agent or application framework) is entirely responsible for reading these headers and implementing its own retry or backoff logic.

How to Generate the ElasticEmail MCP Server

Truto eliminates the need to build a custom Node.js or Python server. Instead, Truto dynamically derives MCP tool definitions directly from the ElasticEmail API documentation and schema definitions.

You can generate your secure MCP server URL in two ways: via the Truto UI or programmatically via the API.

Method 1: Via the Truto UI

  1. Log into your Truto dashboard and navigate to the Integrated Accounts page.
  2. Select your connected ElasticEmail account.
  3. Click the MCP Servers tab.
  4. Click Create MCP Server.
  5. Select your desired configuration (e.g., restrict to read operations or apply specific tags).
  6. Copy the generated MCP server URL (e.g., https://api.truto.one/mcp/a1b2c3d4...).

Method 2: Via the Truto API

If you are dynamically provisioning AI workspaces for your customers, you can generate MCP servers programmatically.

Make a POST request to the /integrated-account/:id/mcp endpoint:

curl -X POST https://api.truto.one/integrated-account/YOUR_ACCOUNT_ID/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ElasticEmail Deliverability Agent",
    "config": {
      "methods": ["read", "write", "custom"]
    }
  }'

The API returns a secure, ready-to-use URL:

{
  "id": "mcp-xyz-789",
  "name": "ElasticEmail Deliverability Agent",
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f67890"
}

This URL contains a hashed cryptographic token that acts as the authentication mechanism. Do not expose this URL publicly.

Connecting the MCP Server to Claude

Once you have the URL, you need to connect it to your LLM client. All communication happens over HTTP POST using standard JSON-RPC 2.0 messages.

Method A: Via the Claude or ChatGPT UI

For teams using commercial AI chat interfaces that support MCP custom connectors:

For Claude:

  1. Navigate to Settings -> Integrations -> Add MCP Server.
  2. Name the integration (e.g., "ElasticEmail Ops").
  3. Paste the Truto MCP URL and click Add.

For ChatGPT:

  1. Go to Settings -> Connectors -> Add custom connector.
  2. Name the connector and paste the Truto MCP URL.
  3. Save and initialize.

Method B: Via Manual Config File (Claude Desktop / Custom Agents)

If you are running Claude Desktop or using an open-source agent framework (like LangChain or AutoGen), you can connect via a JSON configuration file using the standard Server-Sent Events (SSE) transport adapter.

Add the following to your claude_desktop_config.json file:

{
  "mcpServers": {
    "elasticemail": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "--url",
        "https://api.truto.one/mcp/YOUR_SECURE_TOKEN"
      ]
    }
  }
}

Restart Claude Desktop. The client will send an initialize handshake to Truto, which dynamically generates and returns the available ElasticEmail tools.

Hero Tools for ElasticEmail

Truto automatically exposes the ElasticEmail REST endpoints as strictly typed MCP tools. The flat argument namespace handles merging query and body parameters automatically. Here are the highest-leverage tools for email operations.

Verify Domain

Tool: elastic_email_domains_verify

Verifies that the required DNS records (SPF, DKIM, DMARC, MX) exist and are properly configured for a specified domain. Essential for automating IT ops and deliverability troubleshooting.

"Claude, check the domain verification status for 'acme-corp.com' and tell me if the DKIM records are propagating yet."

Send Transactional Email

Tool: elastic_email_emails_send_transactional

Fires off a transactional email to specific recipients. Requires the SendHttp API key access level. The payload allows for complex HTML rendering and merge tag injection.

"Send a transactional welcome email to 'newuser@example.com'. Use the subject 'Welcome to our platform' and include a brief onboarding checklist in the body."

Verify Email List (Bulk)

Tool: elastic_email_verifications_verify_file

Uploads a CSV or TXT file of email addresses for bulk hygiene verification. This returns a VerificationID that you can use to poll for the completed results.

"I have a list of new marketing leads in a CSV format. Upload this file to ElasticEmail for bulk verification and return the VerificationID so we can track the job."

List All Campaigns

Tool: list_all_elastic_email_campaigns

Returns a paginated list of all configured email campaigns, including their status (Active, Paused, Completed), recipient counts, and basic configuration options.

"List all active email campaigns currently running in ElasticEmail and give me the total number of recipients for each."

Get Campaign Statistics

Tool: elastic_email_statistics_campaign

Retrieves detailed sending statistics for a single campaign, including delivery rates, bounces, opens, clicks, and unsubscribes.

"Pull the performance statistics for the campaign ID 'Q3-Newsletter-Blast'. Calculate the open rate and tell me how many emails bounced."

Manage Contact Lists

Tool: list_all_elastic_email_contacts

Loads detailed contact information from your ElasticEmail directory, including custom fields, consent status, and engagement activity. Crucial for syncing CRM data to marketing lists.

"Search our ElasticEmail contacts for anyone who was added in the last 7 days and check if their consent status is marked as verified."

To view the complete inventory of available ElasticEmail tools, schemas, and required parameters, visit the ElasticEmail integration page.

Workflows in Action

Connecting an LLM to ElasticEmail unlocks powerful, autonomous workflows that usually require dedicated IT ops or marketing engineering time. Here are two examples of how Claude navigates the ElasticEmail API via MCP.

Workflow 1: Domain Setup and Deliverability Audit

When a company launches a new product line, they often need to configure and verify a new sending subdomain. Claude can audit the configuration instantly.

"We just added 'mail.acme-new-product.com' to ElasticEmail. Check if the domain is fully configured. If any DNS records are missing, outline exactly what IT needs to add to our Cloudflare zone."

Execution steps:

  1. Claude calls list_all_elastic_email_domains to locate the ID for mail.acme-new-product.com.
  2. Claude calls elastic_email_domains_verify using the retrieved domain ID.
  3. Claude analyzes the returned ValidationLog and CertificateValidationError properties.
  4. Claude outputs a specific IT checklist (e.g., "Your SPF record is valid, but the DKIM record is missing. Please add the following TXT record...").
sequenceDiagram
    participant User
    participant Claude as Claude Desktop
    participant Truto as Truto MCP Server
    participant Upstream as "ElasticEmail API"

    User->>Claude: "Check domain verification for mail.acme-new-product.com..."
    Claude->>Truto: tools/call {name: "list_all_elastic_email_domains"}
    Truto->>Upstream: GET /domains
    Upstream-->>Truto: Domain List JSON
    Truto-->>Claude: Tool Result (Domain ID: 98765)
    
    Claude->>Truto: tools/call {name: "elastic_email_domains_verify", arguments: {domain_id: "98765"}}
    Truto->>Upstream: POST /domains/98765/verify
    Upstream-->>Truto: ValidationLog JSON
    Truto-->>Claude: Tool Result (DKIM Missing)
    
    Claude-->>User: Outputs exact DNS records required by IT

Workflow 2: Contact Hygiene and Campaign Launch

Marketing teams frequently need to clean a list of emails before launching a campaign to protect sender reputation.

"I have a base64 encoded CSV of 5,000 webinar attendees. Upload it to ElasticEmail for bulk verification. Once verified, create a new campaign called 'Webinar Follow-Up' and draft a transactional email to them."

Execution steps:

  1. Claude calls elastic_email_files_upload to push the raw CSV to the ElasticEmail file system.
  2. Claude calls elastic_email_verifications_verify_file referencing the uploaded file ID to begin the hygiene check.
  3. Claude notes the VerificationID (instructing the user that the async job has started and they should ask for a status check in a few minutes).
  4. Claude prepares the payload for create_a_elastic_email_campaign, configuring the verified list as the target audience.

Security and Access Control

Giving an AI agent raw access to your email infrastructure requires strict governance. Truto's MCP tokens include embedded security controls that restrict what the LLM can do:

  • Method Filtering: You can strictly limit an MCP server to read operations. This allows Claude to analyze campaign statistics and read contact lists, but completely blocks it from sending emails or deleting domains.
  • Tag Filtering: Scope the MCP server by integration tags. For instance, restrict the agent to only access tools related to campaigns and statistics, keeping it away from domains and smtp_credentials.
  • Expiration (expires_at): Generate ephemeral MCP servers. If you bring in an external marketing contractor who uses Claude, you can generate a URL that automatically self-destructs after 14 days.
  • Additional Authentication: By enabling require_api_token_auth, possession of the MCP URL is no longer enough. The client must also pass a valid Truto API token in the headers, adding a crucial layer of identity verification for enterprise environments.

Wrap-Up

Integrating ElasticEmail via a managed MCP server transforms how your team interacts with email infrastructure. Instead of digging through complex dashboard UIs or writing custom Python scripts to verify domains and pull campaign stats, developers and marketers can simply ask Claude.

By leveraging Truto, you bypass the headache of mapping ElasticEmail's dense JSON schemas to tool definitions, eliminate the need to host custom middleware, and maintain strict, granular security controls over your email operations. Your agents get immediate, secure access, and your engineering team stays focused on core product logic.

Two ways to put ElasticEmail to work

Elaichifrom the team behind Truto

For you and your team

Use ElasticEmail in Claude yourself

Connect ElasticEmail once, add Elaichi to Claude, and ask. Every call is checked against your own permissions and logged.

Start free, 14 days No credit card required
Truto

For product teams

Ship ElasticEmail to your customers

Your customers connect their own ElasticEmail accounts. Your product gets one API and MCP tools for ElasticEmail, through Truto.

FAQ

What is the easiest way to connect ElasticEmail to Claude?
The best way to connect ElasticEmail to Claude is Elaichi: connect ElasticEmail to Elaichi once, then add Elaichi to Claude as a connector. Two steps, about a minute, with a 14-day free trial and no credit card required.
Does Truto automatically retry rate-limited ElasticEmail API requests?
No. Truto does not retry, throttle, or apply backoff on rate limit errors. When ElasticEmail returns an HTTP 429 error, Truto passes it directly to the caller, normalizing the rate limit information into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). Your agent must handle retry logic.
How do I restrict the Claude agent from sending emails or modifying domains?
When creating the MCP server in Truto, you can apply method filtering to restrict the server to 'read' operations only. This ensures the LLM can only query data (like campaign stats or domain status) and cannot execute write methods.
Can I dynamically generate ElasticEmail MCP servers for my customers?
Yes. You can use Truto's API to send a POST request to /integrated-account/:id/mcp to programmatically generate secure, authenticated MCP server URLs tailored for each tenant or user session.
ElasticEmail ElasticEmail in Claude14 days free Start free

More from our Blog