Skip to content

Connect Amply to Claude: Automate Email & Deliverability via MCP

Learn how to connect Amply to Claude using Truto's auto-generated MCP servers. Automate email sending, deliverability monitoring, and IP pool management directly from chat.

Uday Gajavalli Uday Gajavalli · · 5 min read
Connect Amply to Claude: Automate Email & Deliverability via MCP

If your team uses ChatGPT, check out our guide on connecting Amply to ChatGPT. For custom autonomous setups, read connecting Amply to AI Agents. In this guide, we focus on how to connect Amply to Claude using Truto's auto-generated Model Context Protocol (MCP) servers.

Amply provides deep control over email deliverability, IP pools, and domain reputation. By exposing Amply's API to Claude via an MCP server, DevOps and IT admins can automate infrastructure monitoring, domain verification flows, and transactional email testing directly from a chat interface.

The Engineering Reality of Amply's API

Integrating with Amply's API presents a few domain-specific challenges that developers must navigate. When exposing these endpoints to an LLM, understanding these quirks is critical for reliable tool execution.

  1. Nested Personalization Arrays: Amply does not use flat to fields for email sending. The create_a_amply_email endpoint requires a strict personalizations array. Each object in this array contains its own recipient list and substitution data. If the LLM tries to hallucinate a generic standard SMTP payload, the request will fail.
  2. DNS Challenge Abstraction: Verifying a new domain requires a multi-step flow. You cannot simply create a domain and instantly send mail. You must first create the domain, then explicitly request its DNS challenge records (SPF, DKIM, custom return paths), and surface those to the admin to configure in their DNS provider.
  3. Rate Limiting Reality: Amply enforces strict API rate limits to prevent abuse. A critical factual note on rate limits: Truto does not retry, throttle, or apply backoff on rate limit errors. When the upstream Amply API returns an 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 (Claude) is responsible for implementing retry and backoff logic. Do not expect the integration layer to absorb these errors.

Creating the MCP Server for Amply

Truto dynamically generates MCP servers from Amply's API documentation. Each server is scoped to a single authenticated Amply account and authenticated via a secure token.

You can spin up an MCP server for Amply in two ways.

1. Via the Truto UI

For teams managing infrastructure visually:

  1. Open your Truto dashboard and navigate to your connected Amply account.
  2. Click the MCP Servers tab.
  3. Click Create MCP Server.
  4. Name the server (e.g., "Amply Deliverability Ops").
  5. Apply method or tag filters if you want to restrict the LLM's access (e.g., allow read only).
  6. Copy the generated MCP Server URL.

2. Via the Truto API

For automated infrastructure provisioning, you can generate MCP servers programmatically:

curl -X POST https://api.truto.one/integrated-account/{amply_account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Claude Amply Server",
    "config": {
      "methods": ["read", "create", "update", "delete"]
    }
  }'

This returns a secure endpoint URL: https://api.truto.one/mcp/abc123token...

Connecting Amply to Claude

With your MCP server URL ready, connecting to Claude takes seconds. You can use the built-in UI connector or manually edit your Claude config file.

Method A: UI Connector (Claude Desktop or Web)

  1. Open Claude and navigate to Settings -> Connectors.
  2. Click Add custom connector.
  3. Paste the Truto MCP server URL.
  4. Click Add. Claude will instantly execute the MCP handshake and load the Amply tool schemas.

Method B: Manual Configuration

If you prefer managing configurations as code, edit your claude_desktop_config.json file:

{
  "mcpServers": {
    "amply-ops": {
      "command": "curl",
      "args": [
        "-X", "POST",
        "-H", "Content-Type: application/json",
        "https://api.truto.one/mcp/abc123token..."
      ]
    }
  }
}

Restart Claude Desktop to apply the changes.

Amply Tool Inventory

Truto automatically maps Amply's API into a structured inventory of MCP tools. For the complete schema, visit the Amply integration page.

Hero Tools

Here are the high-impact tools your LLM will use most frequently.

create_a_amply_email

Composes and dispatches an email via Amply. Requires a from address and a personalizations array containing recipient to addresses. You can pass raw content or a template UUID. Example prompt: "Send a test email to admin@example.com using the welcome template UUID 8f9b..."

get_single_amply_verified_domain_by_id

Retrieves the critical DNS challenge records (SPF, DKIM, whitelabel CNAMEs) required to authorize a domain for sending. Example prompt: "Get the DNS verification records for domain ID 102 and format them as a BIND zone snippet."

list_all_amply_ip_addresses

Lists all dedicated and shared IP addresses assigned to the account, including their current status, public_ip, and associated ip_pools. Example prompt: "List all our Amply IP addresses and flag any that are currently disabled."

create_a_amply_ip_pool

Provisions a new logical grouping for IP addresses. Used to separate transactional traffic from marketing traffic to protect sender reputation. Example prompt: "Create a new IP pool named 'Transactional Alerts'."

list_all_amply_monitors

Retrieves active deliverability monitors, including their detection methods, configured alert conditions, and notification routing. Example prompt: "Show me all active monitors and their alert threshold conditions."

Workflows in Action

Connecting Amply to Claude transforms manual infrastructure management into natural language operations. Here are real-world examples of how engineers use this integration.

Use Case 1: Incident Response for Deliverability Drops

Persona: DevOps / SRE

"We just got a PagerDuty alert about email delays. Check our Amply monitors for any blocklist detections, then list the IPs assigned to the 'Marketing' pool to see if any are disabled."

Execution Steps:

  1. Claude calls list_all_amply_monitors to check the current alert conditions and trigger states.
  2. Claude calls list_all_amply_ip_pools to find the UUID of the 'Marketing' pool.
  3. Claude calls get_single_amply_ip_pool_by_id to retrieve the list of IP addresses in that pool and inspects their status and enabled flags.

Result: Claude responds with a summary of the active monitors and highlights specifically which IP in the Marketing pool is currently marked as disabled or blocklisted, providing immediate context for remediation.

Use Case 2: New Domain Provisioning

Persona: IT Admin / Deliverability Manager

"We need to start sending mail from 'receipts.company.com'. Create the verified domain in Amply and give me the exact DNS TXT and CNAME records I need to add to Cloudflare."

Execution Steps:

  1. Claude calls create_a_amply_verified_domain with the name receipts.company.com.
  2. Using the returned domain ID, Claude calls get_single_amply_verified_domain_by_id to extract the spf, dkim, and whitelabel records.

Result: Claude outputs the exact DNS challenge records formatted in a clean table, ready for the IT admin to copy and paste into their DNS management console.

Security and Access Control

Exposing email infrastructure APIs to LLMs requires strict security boundaries. Truto's MCP servers provide several layers of defense to prevent rogue actions:

  • Method Filtering: Restrict servers to specific operations. By passing methods: ["read"] during creation, you ensure Claude can only inspect monitors and IP configurations, never delete pools or send unapproved emails.
  • Tag Filtering: If your integration config maps specific resources to tags, you can restrict the MCP server to a specific domain (e.g., exposing only deliverability tools but blocking billing or users).
  • Dual-Layer Authentication: Enable require_api_token_auth: true. The URL token alone won't be enough - the client must also pass a valid Truto API token in the Authorization header, tying the execution back to an authenticated user session.
  • Ephemeral Access: Set an expires_at timestamp. This provisions a temporary MCP server (e.g., for a 2-hour troubleshooting session) that automatically self-destructs via distributed cleanup alarms when the time expires.

FAQ

How does Truto handle Amply rate limits via MCP?
Truto passes HTTP 429 rate limit errors directly to Claude and normalizes the rate limit data into standard IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). Truto does not retry or apply backoff; the client must handle this logic.
Can I prevent Claude from deleting Amply IP pools?
Yes. When creating the MCP server in Truto, use method filtering to restrict access to 'read' or 'create' operations, explicitly blocking 'delete' and 'update' commands.
Do I need to write custom code to map Amply endpoints to MCP tools?
No. Truto dynamically generates the MCP tools from Amply's API documentation, providing instant access to all supported endpoints without writing custom tool schemas.

More from our Blog