How to integrate Benchmark email MCP with Pydantic AI

This guide walks you through connecting Benchmark email to Pydantic AI using the Composio tool router. By the end, you'll have a working Benchmark email agent that can list all confirmed sender email addresses, get your benchmark account plan details, fetch company profile and contact limits through natural language commands. This guide will help you understand how to give your Pydantic AI agent real control over a Benchmark email account through Composio's Benchmark email MCP server. Before we dive in, let's take a quick look at the key ideas and tools involved.

Benchmark email logoBenchmark email
Api Key

Benchmark Email is a platform for creating, sending, and tracking email campaigns. It's built to help you engage audiences and analyze results—all in one place.

298 Tools

Introduction

This guide walks you through connecting Benchmark email to Pydantic AI using the Composio tool router. By the end, you'll have a working Benchmark email agent that can list all confirmed sender email addresses, get your benchmark account plan details, fetch company profile and contact limits through natural language commands.

This guide will help you understand how to give your Pydantic AI agent real control over a Benchmark email account through Composio's Benchmark email MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Benchmark email with

TL;DR

Here's what you'll learn:
  • How to set up your Composio API key and User ID
  • How to create a Composio Tool Router session for Benchmark email
  • How to attach an MCP Server to a Pydantic AI agent
  • How to stream responses and maintain chat history
  • How to build a simple REPL-style chat interface to test your Benchmark email workflows

What is Pydantic AI?

Pydantic AI is a Python framework for building AI agents with strong typing and validation. It leverages Pydantic's data validation capabilities to create robust, type-safe AI applications.

Key features include:

  • Type Safety: Built on Pydantic for automatic data validation
  • MCP Support: Native support for Model Context Protocol servers
  • Streaming: Built-in support for streaming responses
  • Async First: Designed for async/await patterns

What is the Benchmark email MCP server, and what's possible with it?

The Benchmark email MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Benchmark Email account. It provides structured and secure access to your email marketing data, so your agent can retrieve account info, manage contacts, handle lists, and automate campaign administration on your behalf.

  • Automated contact and list management: Effortlessly add, update, or delete contacts and lists, keeping your subscriber base organized and up to date.
  • Campaign cleanup and maintenance: Direct your agent to delete obsolete email campaigns or remove unneeded webhooks to keep your workspace tidy.
  • Account insights and configuration retrieval: Have the agent fetch client details, plan information, and account settings—perfect for reporting or reviewing your workspace setup.
  • Confirmed email address retrieval: Quickly pull all verified sender email addresses for compliance and seamless campaign sending.
  • Agency account and webhook control: Manage linked agency accounts and webhooks by deleting or updating them when no longer needed for more secure integrations.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step09 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Python 3.9 or higher
  • A Composio account with an active API key
  • Basic familiarity with Python and async programming
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio pydantic-ai python-dotenv

Install the required libraries.

What's happening:

  • composio connects your agent to external SaaS tools like Benchmark email
  • pydantic-ai lets you create structured AI agents with tool support
  • python-dotenv loads your environment variables securely from a .env file
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
OPENAI_API_KEY=your_openai_api_key

Create a .env file in your project root.

What's happening:

  • COMPOSIO_API_KEY authenticates your agent to Composio's API
  • USER_ID associates your session with your account for secure tool access
  • OPENAI_API_KEY to access OpenAI LLMs
5

Import dependencies

python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

load_dotenv()
What's happening:
  • We load environment variables and import required modules
  • Composio manages connections to Benchmark email
  • MCPServerStreamableHTTP connects to the Benchmark email MCP server endpoint
  • Agent from Pydantic AI lets you define and run the AI assistant
6

Create a Tool Router Session

python
async def main():
    api_key = os.getenv("COMPOSIO_API_KEY")
    user_id = os.getenv("USER_ID")
    if not api_key or not user_id:
        raise RuntimeError("Set COMPOSIO_API_KEY and USER_ID in your environment")

    # Create a Composio Tool Router session for Benchmark email
    composio = Composio(api_key=api_key)
    session = composio.create(
        user_id=user_id,
        toolkits=["benchmark_email"],
    )
    url = session.mcp.url
    if not url:
        raise ValueError("Composio session did not return an MCP URL")
What's happening:
  • We're creating a Tool Router session that gives your agent access to Benchmark email tools
  • The create method takes the user ID and specifies which toolkits should be available
  • The returned session.mcp.url is the MCP server URL that your agent will use
7

Initialize the Pydantic AI Agent

python
# Attach the MCP server to a Pydantic AI Agent
benchmark_email_mcp = MCPServerStreamableHTTP(url, headers={"x-api-key": COMPOSIO_API_KEY})
agent = Agent(
    "openai:gpt-5",
    toolsets=[benchmark_email_mcp],
    instructions=(
        "You are a Benchmark email assistant. Use Benchmark email tools to help users "
        "with their requests. Ask clarifying questions when needed."
    ),
)
What's happening:
  • The MCP client connects to the Benchmark email endpoint
  • The agent uses GPT-5 to interpret user commands and perform Benchmark email operations
  • The instructions field defines the agent's role and behavior
8

Build the chat interface

python
# Simple REPL with message history
history = []
print("Chat started! Type 'exit' or 'quit' to end.\n")
print("Try asking the agent to help you with Benchmark email.\n")

while True:
    user_input = input("You: ").strip()
    if user_input.lower() in {"exit", "quit", "bye"}:
        print("\nGoodbye!")
        break
    if not user_input:
        continue

    print("\nAgent is thinking...\n", flush=True)

    async with agent.run_stream(user_input, message_history=history) as stream_result:
        collected_text = ""
        async for chunk in stream_result.stream_output():
            text_piece = None
            if isinstance(chunk, str):
                text_piece = chunk
            elif hasattr(chunk, "delta") and isinstance(chunk.delta, str):
                text_piece = chunk.delta
            elif hasattr(chunk, "text"):
                text_piece = chunk.text
            if text_piece:
                collected_text += text_piece
        result = stream_result

    print(f"Agent: {collected_text}\n")
    history = result.all_messages()
What's happening:
  • The agent reads input from the terminal and streams its response
  • Benchmark email API calls happen automatically under the hood
  • The model keeps conversation history to maintain context across turns
9

Run the application

python
if __name__ == "__main__":
    asyncio.run(main())
What's happening:
  • The asyncio loop launches the agent and keeps it running until you exit

Complete Code

Here's the complete code to get you started with Benchmark email and Pydantic AI:

python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

load_dotenv()

async def main():
    api_key = os.getenv("COMPOSIO_API_KEY")
    user_id = os.getenv("USER_ID")
    if not api_key or not user_id:
        raise RuntimeError("Set COMPOSIO_API_KEY and USER_ID in your environment")

    # Create a Composio Tool Router session for Benchmark email
    composio = Composio(api_key=api_key)
    session = composio.create(
        user_id=user_id,
        toolkits=["benchmark_email"],
    )
    url = session.mcp.url
    if not url:
        raise ValueError("Composio session did not return an MCP URL")

    # Attach the MCP server to a Pydantic AI Agent
    benchmark_email_mcp = MCPServerStreamableHTTP(url, headers={"x-api-key": COMPOSIO_API_KEY})
    agent = Agent(
        "openai:gpt-5",
        toolsets=[benchmark_email_mcp],
        instructions=(
            "You are a Benchmark email assistant. Use Benchmark email tools to help users "
            "with their requests. Ask clarifying questions when needed."
        ),
    )

    # Simple REPL with message history
    history = []
    print("Chat started! Type 'exit' or 'quit' to end.\n")
    print("Try asking the agent to help you with Benchmark email.\n")

    while True:
        user_input = input("You: ").strip()
        if user_input.lower() in {"exit", "quit", "bye"}:
            print("\nGoodbye!")
            break
        if not user_input:
            continue

        print("\nAgent is thinking...\n", flush=True)

        async with agent.run_stream(user_input, message_history=history) as stream_result:
            collected_text = ""
            async for chunk in stream_result.stream_output():
                text_piece = None
                if isinstance(chunk, str):
                    text_piece = chunk
                elif hasattr(chunk, "delta") and isinstance(chunk.delta, str):
                    text_piece = chunk.delta
                elif hasattr(chunk, "text"):
                    text_piece = chunk.text
                if text_piece:
                    collected_text += text_piece
            result = stream_result

        print(f"Agent: {collected_text}\n")
        history = result.all_messages()

if __name__ == "__main__":
    asyncio.run(main())

Conclusion

You've built a Pydantic AI agent that can interact with Benchmark email through Composio's Tool Router. With this setup, your agent can perform real Benchmark email actions through natural language. You can extend this further by:
  • Adding other toolkits like Gmail, HubSpot, or Salesforce
  • Building a web-based chat interface around this agent
  • Using multiple MCP endpoints to enable cross-app workflows (for example, Gmail + Benchmark email for workflow automation)
This architecture makes your AI agent "agent-native", able to securely use APIs in a unified, composable way without custom integrations.
TOOLS

Supported Tools

Every Benchmark email action and event your agent gets out of the box.

Add Email in Automation

Tool to add an email to an automation workflow.

Add Email to Archive

Tool to add an email to the archive page.

Add Email to Community

Tool to add an email campaign to the public community with category and keywords.

Add/Remove Inbox Tests from Sub-Account

Tool to add or remove inbox tests from a sub-account.

Check if responsive

Tool to check if the client is responsive.

Clean Contact List

Tool to clean a contact list by removing invalid or bounced email addresses.

Compare Contacts

Tool to compare contacts across multiple contact lists.

Connect Third-Party Service

Tool to get the OAuth authorization URL for connecting a third-party e-commerce or CRM service.

Copy Bulk Contacts

Tool to copy multiple contacts in bulk to target lists.

Copy Contacts

Tool to copy a contact to a specific list.

Copy Email in Automation

Tool to create a copy of an automation email.

Copy Existing Email

Tool to copy an existing email.

Copy Image to Sub-Account

Tool to copy an image to one or more sub-accounts.

Copy Signup Form

Tool to copy an existing signup form.

Create Automation Copy

Tool to create a copy of an existing automation.

Create Inbox

Tool to create a new inbox for email testing.

Create Segment from Contact IDs

Tool to create a segment from a list of contact IDs.

Create Signup Form

Tool to create a new signup form for collecting email subscribers.

Delete ABSplit Campaign

Tool to delete an ABSplit campaign configuration from an email.

Delete AB Test Email

Tool to move an AB test email to trash.

Delete A Poll

Tool to delete a poll by its ID.

Delete A Survey

Tool to delete a survey by its ID.

Delete Automation

Tool to delete an automation by its ID.

Delete Automation Email

Tool to delete an automation email from an automation workflow.

Delete Contact From All Lists By ID

Tool to delete a specific contact from all lists by list ID and contact ID.

Delete Contact From List

Tool to delete a contact from a specific list by ContactID.

Delete Contact From Search

Tool to delete a contact from the search contact page.

Delete Contact List

Tool to delete a contact list.

Delete Contacts From All Lists

Tool to delete selected contacts from all lists.

Delete Contacts From Current Lists

Tool to delete selected contacts from current lists.

Delete Email Campaign

Tool to delete an email campaign.

Delete Email from Archive

Tool to delete an email from the archive.

Permanently Delete Email from Trash

Tool to permanently delete an email from trash.

Delete Image

Tool to delete an image by its ID.

Delete Inbox

Tool to delete an inbox by its ID.

Delete Linked Agency Account

Tool to delete a linked agency account.

Delete List

Tool to delete one or more contact lists by their IDs.

Delete Product Association

Tool to delete a Shopify product association from Benchmark Email.

Delete Segment

Tool to delete a contact segment by its ID.

Delete Segment Criteria

Tool to delete criteria from a segment.

Delete Trash List

Tool to delete all trash contacts from a list.

Delete Video

Tool to delete one or more videos by their IDs.

Delete Webhook

Tool to delete a webhook from a contact list by its ID.

Disconnect eBay Integration

Tool to disconnect the eBay integration from the authenticated account.

Disconnect Etsy Integration

Tool to disconnect Etsy integration from the Benchmark Email account.

Disconnect Eventbrite Integration

Tool to disconnect the Eventbrite integration from Benchmark Email account.

Disconnect Facebook Integration

Tool to disconnect Facebook integration from Benchmark Email account.

Disconnect Facebook Events

Tool to disconnect the Facebook Events integration from Benchmark Email.

Disconnect Instagram Integration

Tool to disconnect the Instagram integration from Benchmark Email account.

Disconnect LinkedIn Integration

Tool to disconnect the LinkedIn integration from the Benchmark Email account.

Disconnect Pinterest Connection

Tool to disconnect the Pinterest integration from the Benchmark Email account.

Disconnect Salesforce Integration

Tool to disconnect the Salesforce integration from Benchmark Email account.

Disconnect Shopify

Tool to disconnect Shopify integration from Benchmark Email.

Disconnect Twitter Integration

Tool to disconnect Twitter integration from Benchmark Email account.

Download Contact Report

Tool to download contact list report.

Generate Support Ticket

Tool to generate a support ticket.

Get AB Split Details

Tool to get details for an AB split test by email ID.

Get AB Split Results

Tool to get the results for an AB split test.

Get AB Test Report

Tool to retrieve AB split test reports with pagination.

Get Abuse Campaign Report By Email ID

Tool to get abuse campaign report for an email by ID.

Get Abuse Report

Tool to get abuse report containing statistics about email abuse complaints.

Get Campaign Engagement List

Tool to retrieve campaign engagement statistics.

Get account summary

Tool to get account summary including plan type and image storage limit.

Get Active Contact Count

Tool to get the total count of all active contacts/emails in the account.

Get a List of AB Tests

Tool to retrieve a list of AB tests with optional filtering and pagination.

Get a list of images

Tool to retrieve a list of images.

Get All Confirmed Emails

Tool to retrieve all confirmed email addresses for the client account.

Get Archive Domain Name

Tool to get the archive domain name for the client.

Get Archive Email Details

Tool to get details of an archived email by its ArchiveID.

Get Archive Emails

Tool to retrieve a list of emails from the archive.

Get Archive Home Data

Tool to get archive home data for a specific domain and type.

Get Archive Home Page

Tool to get the archive home page containing archive entries.

Get Archive Pages

Tool to retrieve list of archive pages.

Get automation details

Tool to get details of an automation by its ID.

Get Automation Email Details

Tool to get details for an automation email.

Get automation summary report

Tool to get summary report of an automation by ID.

Get Badges List

Tool to retrieve all available email badges.

Get Bounces Report By Email ID

Tool to get bounces report for an email campaign by ID.

Get Campaign History By Email ID

Tool to get campaign history for an email by ID.

Get Click Contact Count

Tool to get click contact count for email campaigns.

Get Click HeatMap By Email ID

Tool to get click heatmap report for an email by ID.

Get Click Performance By Email ID

Tool to get click performance report for an email by ID.

Get Click Performance Details By Email

Tool to get click performance details for an email campaign by ID.

Get Clicks Report By Email ID

Tool to get clicks report for an email by ID.

Get Click URL Contact Count

Tool to get click URL contact count of engagement metrics.

Get Client Account Settings

Tool to get client account settings such as company, language, timezone, and sender info.

Get client details

Tool to get client details including profile data, contact count, and plan information.

Get client filter domain

Tool to get client filter domains.

Get Client Plan Information

Tool to get client's plan information including addons, email plan, and total contacts.

Get client profile details

Tool to get client's profile details like business city, country, phone, and company.

Get clients rating range

Tool to get clients rating range including min, max, and current rating values.

Get Commission List

Tool to get the partner commission list.

Get Community Category

Tool to retrieve a list of available community categories.

Get community domain

Tool to get the community domain name for the client.

Get Community Email By ID

Tool to get details of a community email by ID.

Get Contact Audit History

Tool to retrieve audit history for contacts in a specific list.

Get Contact Audit History Detail

Tool to get detailed audit history for a specific batch and group of contact changes.

Get Contact Details

Tool to retrieve detailed information for a specific contact including custom field values and rating.

Get Contact Import Status

Tool to get the status of contact import operations.

Get Contact List Deep View

Tool to fetch deep view of contact list(s) including all fields and field types.

Get Contact List Details

Tool to fetch detailed information for a contact list.

Get Contact List Field Names

Tool to retrieve field names and attributes for a contact list.

Get Contact Lists

Tool to retrieve all contact lists.

Get Contact Lists for Shopify

Tool to get Shopify integration contact lists and configuration.

Get contact list summary

Tool to get summary details and performance metrics of a contact list.

Get Contact Merge List

Tool to retrieve a list of contact lists that can be merged with a specified list.

Get Contact Report History

Tool to get engagement history for a specific contact by email address.

Get Contacts Count

Tool to get the count of contacts in specified lists and segments.

Get Filtered Contacts in List

Tool to fetch filtered and paginated contacts from a list by ListID.

Get Current Email at Time of Reset

Tool to get the current email address at the time of a reset request.

Get Delete List Check

Tool to check if contact lists can be deleted.

Get Details About Archive Page

Tool to get details about the archive page including URLs, share settings, and domain.

Get Details Of Poll

Tool to retrieve details of a specific poll by ID.

Get Digioh Username

Tool to get Digioh username for the authenticated account.

Get DMARC List

Tool to retrieve DMARC (Domain-based Message Authentication, Reporting & Conformance) list for the client account.

Get Download Report

Tool to get download report for a contact list.

Get download segment data

Tool to retrieve segment data for download.

Get eBay Seller ID

Tool to get the eBay Seller ID for the authenticated account.

Get eBay Site List

Tool to retrieve a list of available eBay sites for integration.

Get Integration Connection List

Tool to retrieve the list of editor integration connections.

Get email campaign details

Tool to get details for a specific email campaign by ID.

Get Email Opens by Country and Region

Tool to get a list of contacts who opened an email from a specific country and region.

Get Email Preview

Tool to get the preview of an email campaign.

Get Email Recipient Count

Tool to get the recipient count for an email campaign.

Get Email Report

Tool to get email reports with pagination and filtering options.

Get Email Report Forwards

Tool to get forwards report for an email campaign.

Get Email Spam Check

Tool to check spam score for an email campaign by ID.

Get Etsy Store Name

Tool to get the connected Etsy store name.

Get Eventbrite Username

Tool to get the Eventbrite username associated with the Benchmark Email account.

Get Facebook Account Holder

Tool to get Facebook account holder information.

Get Facebook Account Name

Tool to get the Facebook account name from Facebook Events integration.

Get Filtered Contacts with Extra Fields

Tool to fetch filtered and paginated contacts with custom/extra fields from a list by ListID.

Get Forwards Report By Email ID

Tool to get forwards report for an email campaign by ID.

Get Full Report of Survey

Tool to retrieve the full report of a survey including all responses and answers.

Get HTML for Archive Newsletter

Tool to get HTML content for an archive newsletter by domain and URL.

Get HTML for Button

Tool to get HTML content for a button URL from the archive.

Get HTML Signup Form

Tool to retrieve HTML and JavaScript embed code for a Tumbler signup form.

Get image details

Tool to get details of a specific image by its ID.

Get Image for Button

Tool to get HTML code for an 'Image' style archive button.

Get Inbox Detail Result

Tool to get inbox detail test statistics including total purchases, tests used, and remaining balance.

Get Inbox List

Tool to retrieve inbox list with optional filtering and pagination.

Get inbox master result

Tool to get Inbox Master Result by ID.

Get Individual Question Result Detail in Survey

Tool to get individual question result details for a specific respondent in a survey by email address.

Get Integration Authorization URL

Tool to get the OAuth authorization URL for integrating with third-party platforms.

Get layout list

Tool to retrieve a list of email layouts.

Get Linked Agency Account Details

Tool to get details of a linked agency account.

Get Link Detail By Email ID

Tool to get link detail report for an email campaign by ID.

Get LinkedIn Token

Tool to get LinkedIn integration token information.

Get Linked Agency Accounts

Tool to get list of linked agency accounts.

Get list mapping

Tool to get the field mapping of an uploaded contact list file.

Get List of Confirmed Emails

Tool to retrieve a list of confirmed email addresses for the client account.

Get List of Emails

Tool to retrieve all email campaigns with optional filters and pagination.

Get list of Giphy images

Tool to retrieve a list of Giphy images.

Get List of Help Topics

Tool to retrieve help topics from Benchmark Email.

Get List of Polls

Tool to retrieve a list of polls.

Get List of Shopify Products

Tool to get a list of Shopify products in HTML format.

Get List Upload Terms

Tool to get list upload terms from Benchmark Email.

Get Magento HTML dropdown

Tool to get Magento signup form dropdown HTML.

Get Magento HTML Selected

Tool to retrieve Magento HTML code for a selected signup form.

Get Non Contact Count

Tool to get the count of non-contacts based on email IDs and filter criteria.

Get notification

Tool to get client notifications from Benchmark Email.

Get Open Contact Count

Tool to get the count of contacts who opened specified email campaigns.

Get Opens Hourly Report By Email

Tool to get hourly opens report for an email campaign by ID.

Get Opens Location Report

Tool to get a list of contacts by location for an email campaign's opens.

Get Opens Location Report By Email

Tool to get a list of contacts who opened an email from a specific country.

Get Opens Report

Tool to get opens report for an email campaign by ID.

Get Partner Profile Details

Tool to get partner profile details including company information and payment settings.

Get PayPal Integration Link

Tool to retrieve the PayPal integration callback URL for a specific contact list.

Get PayPal Contact Lists

Tool to get contact lists formatted for PayPal integration.

Get Pinterest Username

Tool to retrieve the Pinterest username associated with the Benchmark Email account.

Get Poll Response Report

Tool to retrieve the response report of a poll by ID.

Get Preview of a Poll

Tool to get a preview/render of a poll by its ID.

Get referrals level 1 list

Tool to get level 1 referrals list for a specific month and year.

Get Referrals List

Tool to retrieve the list of partner referrals.

Get Report Answer Comment in Survey

Tool to retrieve comment answers from a survey report for a specific question.

Get Report Answer Other in Survey

Tool to retrieve 'other' text answers from survey questions that have an 'other' option.

Get Report Answer Text in Survey

Tool to retrieve text answers from survey questions.

Get Report Details By AB Test

Tool to get report details for a specific AB split test by ID and ABID.

Get Report Details By Email ID

Tool to get detailed report summary for an email campaign by ID.

Get Report Download

Tool to download email campaign report by type.

Get Report List of Survey

Tool to retrieve a paginated list of survey reports.

Get Report of Survey Individual Result

Tool to retrieve paginated individual survey results showing who responded and when.

Get Reports for Autoresponders

Tool to get reports for autoresponders with pagination and filtering options.

Resend Confirm Email

Tool to resend confirmation email to a specific email address.

Get RSS History By Email ID

Tool to get RSS history for an email campaign by ID.

Get Salesforce Integration Status

Tool to get Salesforce integration status and details from Benchmark Email account.

Get save as list

Tool to retrieve save-as-list data with optional filters.

Get Scheme

Tool to retrieve color schemes with optional filtering.

Get Segment Auto Generate Name

Tool to get an auto-generated segment name for a list.

Get Segment by ID

Tool to retrieve details of a specific contact segment by its ID.

Get Segment Details

Tool to retrieve contact details from a specific segment with optional filtering, pagination, and sorting.

Get Segment List

Tool to retrieve segment lists for a specific contact list by ListID.

Get Segments

Tool to retrieve a paginated list of contact segments.

Get Shopify Product List Tabular

Tool to get Shopify product list in tabular (HTML) format.

Get Signup Form Button Code

Tool to get the code for the signup form button.

Get Signup Form Contact Fields

Tool to get the contact fields of a signup form by ID.

Get Signup Form Details

Tool to get details for a specific signup form by ID.

Get SignupForm for Magento

Tool to get SignupForm data for Magento integration.

Get SignupForm For Unbounce

Tool to retrieve signup form integration data for Unbounce.

Get Signup Form Link

Tool to get the link URL for a specific signup form.

Get Signup Form List

Tool to retrieve all signup forms (listbuilder forms).

Get Signup Forms for Contact List

Tool to get a list of signup forms associated with a specific contact list.

Get SignupForm Tumbler

Tool to get third-party SignupForm Tumbler query string parameters.

Get Social Performance Report

Tool to get social performance report for an email campaign by ID.

Get sub-account balance

Tool to get the balance (plan limit) for a specific sub-account by ID.

Get sub-account details

Tool to get details for a specific sub-account by ID.

Get Sub-Account History

Tool to get sub-account history.

Get sub-account history details

Tool to get detailed history information for a specific sub-account billing cycle.

Get Sub-Accounts

Tool to retrieve all sub-accounts for the client.

Get Sub-Accounts Plan List

Tool to retrieve available plans for a sub-account.

Get Survey Details

Tool to retrieve details of a specific survey by ID.

Get survey report detail

Tool to get detailed report of a survey including questions, responses, and response counts.

Get template by template ID

Tool to get details for a specific email template by ID.

Get template category by ID

Tool to get details for a specific email template category by ID.

Get Template Category List

Tool to retrieve template category list with optional filters.

Get Template List of Survey

Tool to retrieve the list of survey templates.

Get Email Templates

Tool to retrieve email templates from Benchmark Email.

Get Templates for Signup Form Classic

Tool to retrieve templates for Signup Forms (Classic Only).

Get the clean count

Tool to get the clean count for a contact list.

Get Trash Count

Tool to get the count of contacts in the trash.

Get Tumbler Lists

Tool to get Tumbler signup form lists in HTML format.

Get Twitter Login Status

Tool to get Twitter login/integration status for the authenticated Benchmark Email account.

Get Unbounce Link

Tool to get the Unbounce integration URL for a specific contact list.

Get Unbounce Lists

Tool to get Unbounce contact lists in HTML format.

Get unique contact count

Tool to get the total count of unique contacts in the account.

Get Unopens Report By Email ID

Tool to get unopens report for an email campaign by ID.

Get Unsubscribe Report By Email ID

Tool to get unsubscribe report for an email campaign by ID.

Get URL List By Email ID

Tool to get URL list for a specific email campaign by ID.

Get URL Engagement List

Tool to retrieve URL engagement statistics for email campaigns.

Get Video Details

Tool to get details for a specific video by its ID.

Get Webhooks

Tool to retrieve all webhooks for a contact list.

Get web page ads detail

Tool to get web page ads detail from the Partner API.

Initiate Email Screen Capture

Tool to initiate the screen capture process for an email campaign.

Link Agency Account

Tool to link an agency account to your Benchmark Email account.

Log Out Twitter Tweets

Tool to log out of Twitter Tweets integration from Benchmark Email account.

Merge Contacts Into Existing List

Tool to merge contacts from source list(s) into an existing target list.

Merge Contacts Into New List

Tool to merge contacts from multiple lists into a new list.

Move Bulk Contacts

Tool to move contacts in bulk from a source list to one or more target lists.

Move Contacts

Tool to move contacts from one list to another.

Move Contact to Do Not Contact List

Tool to move a contact to the Do Not Contact (Master Unsubscribe) list.

Add / Update Scheme

Tool to add or update a color scheme.

Change Password

Tool to change the password for the client account.

Save Security PIN

Tool to save a new security PIN for the client account.

Send Reset Email

Tool to send a reset email link to change the primary email address.

Patch Update Client Settings

Tool to update client account settings.

Update Contact List

Tool to update an existing contact list.

Update/Edit Profile

Tool to update or edit profile information such as first name, last name, and phone number.

Update Webhook

Tool to update a webhook for a contact list by webhook ID.

Add Contact to List

Tool to add a new contact to a specific list.

Assign Product to List

Tool to assign a Shopify product to a list where purchasers are added.

Change Security PIN

Tool to change security PIN for the client account.

Copy Poll

Tool to copy an existing poll.

Create Contact List

Tool to create a new contact list.

Create Poll

Tool to create a new poll in Benchmark Email.

Create Segment Criteria

Tool to create criteria for a segment.

Create Webhook

Tool to create a new webhook for a contact list.

Disable Security PIN

Tool to disable security PIN for the client account.

Login Redirect Using Token

Tool to acquire a temporary token to an account.

Save Website Domain

Tool to save a website domain for your Benchmark Email account.

Send Confirm Email Verification

Tool to send confirm email verification.

Send PIN via Email

Tool to send PIN via email.

Configure Shopify Purchase List

Tool to configure Shopify purchase list integration.

Resend Emails to Contacts

Tool to resend confirmation emails to contacts in a specific list.

Restore Email From Trash

Tool to restore an email from trash.

Restore Trash List

Tool to restore deleted contact lists from trash.

Save Email Address

Tool to save email address(es) to a contact list in CSV format.

Save Verified Email Addresses

Tool to save email addresses which have verified URLs to a contact list.

Schedule Email Campaign

Tool to schedule an email campaign for sending at a specific date and time.

Search Contact Details by Email

Tool to search for contact details by email address and show lists they belong to and status.

Send Support Feedback

Tool to send support feedback or inquiry to Benchmark Email support team.

Send Test Email for Signup Form

Tool to send a test email for a signup form.

Set Responsive

Tool to set the client's responsive status.

Share Lists with SubAccounts

Tool to share contact lists with sub-accounts.

Share Template to Sub-Accounts

Tool to share an email template with sub-accounts.

Share Video

Tool to share/copy a video to other client accounts.

Test eBay Integration

Tool to test eBay integration and verify connection status.

Test Etsy Integration

Tool to test the Etsy integration connection with Benchmark Email.

Test Eventbrite Integration

Tool to test the Eventbrite integration connection with Benchmark Email.

Test Facebook Events Integration

Tool to test Facebook Events integration in Benchmark Email.

Test Facebook Integration

Tool to test Facebook integration status for the Benchmark Email account.

Test LinkedIn Connection

Tool to test the LinkedIn integration connection status.

Test Pinterest Integration

Tool to test the Pinterest integration connection for the Benchmark Email account.

Test Salesforce Integration

Tool to test the Salesforce integration connection.

Test Twitter Integration

Tool to test the Twitter/X integration connection.

Test Twitter Tweets

Tool to test Twitter tweets integration and retrieve follower information.

Update Archive Home Page

Tool to add an email to the archive home page with a specific view order.

Update Archive Home Page Data

Tool to update archive home page data like page title, logo, header, and footer.

Update Contact Details

Tool to update contact details in a specific list.

Update Email Campaign

Tool to update an existing email campaign.

Update Email Content for Automation

Tool to update email content for an automation workflow.

Update Linked Agency Account

Tool to update a linked agency account.

Update List Compilation Details

Tool to update the compilation details for a contact list file upload.

Update Partner Profile

Tool to update partner profile details including company name, email, phone, and PayPal email.

Update Poll

Tool to update an existing poll in Benchmark Email.

Update/Reset Email

Tool to reset the primary email address using a GUID from the reset email link.

Update Segment

Tool to update an existing contact segment.

Update Survey Status

Tool to update the status of a survey.

Upload Video

Tool to upload a video via URL.

FAQ

Frequently asked questions

With a standalone Benchmark email MCP server, the agents and LLMs can only access a fixed set of Benchmark email tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Benchmark email and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Pydantic AI fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Benchmark email tools.

Yes, absolutely. You can configure which Benchmark email scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Benchmark email data and credentials are handled as safely as possible.

Start with Benchmark email.It takes 30 seconds.

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

Start building