EmailFig
Server Details
Check results, update contacts and draft campaigns in your EmailFig account.
- Status
- Healthy
- Uptime
- 50.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- EmailFig/mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- EmailFig MCP
TDQS
Scored across 28 tools
Tool purposes are largely distinct by resource+action: get_campaign vs get_campaign_report vs list_campaigns, and get_template vs list_templates are clearly separated by their descriptions. The only soft spot is a cluster around content authoring (get_email_format, get_template, render_email_preview, send_test_email), where render_email_preview in particular has an unclear boundary with normal draft/preview flow.
Every name is snake_case with a clear verb_noun shape (list_*, get_*, create_*, update_*, add_*, tag/untag, send_*, search_*, upload_*). Verbs are used consistently across resources, so an agent can predict the name of the operation it wants.
At 28 tools the surface is heavy and sits in the 'too many' band, even though the domain genuinely spans contacts, lists, tags, segments, campaigns, automations, templates, images and forms. A few tools (render_email_preview, get_email_format) are scaffolding that inflate the count without adding much operational value.
Read coverage is broad (account, contacts, lists, tags, segments, campaigns, automations, templates, images, forms) and contact lifecycle is handled via add/tag/untag/unsubscribe/update. But there are clear gaps: no create/delete contact, no list or segment creation, no campaign deletion or scheduling, and automations are read-only, which will force workarounds for common admin tasks.
Available Tools
28 toolsadd_contact_to_listAdd contact to listADestructiveInspect
Adds one person to a list, creating the contact if needed. A list that asks for confirmation sends them a confirmation email first; they join once they confirm. Someone who unsubscribed gets a confirmation email on any list. Only add people who have agreed to hear from the account.
Inputs: list_id (required), email_address (required), last_name, first_name.
create_campaign_draftCreate campaign draftAInspect
Saves a new campaign as a draft in EmailFig and returns a link to it. It never sends: a person reviews the draft and sends it from EmailFig. Write the body as blocks, after calling get_email_format, so the person can edit it in EmailFig's drag-and-drop editor.
Inputs: body (required), name (required), subject (required), audience (required), +2 more.
get_accountGet accountBRead-onlyIdempotentInspect
The account's name, plan, contact count, sending domain and whether it can send email yet.
Inputs: no named parameters.
get_automation_reportGet automation reportARead-onlyIdempotentInspect
One automation's results: how many people entered, are in it, finished or left early and why, each step with who is waiting there and each email's results, and opens and clicks over the last 7 or 30 days.
Inputs: id (required), days.
get_campaignGet campaignARead-onlyIdempotentInspect
One campaign's email and setup: subject, preview text, sender, who it goes to, and its content (a drag and drop design that create_campaign_draft takes as body.blocks, or HTML as body.html). For a draft it also says whether this chat app can still revise it and what it still needs; when still_needed is null the draft is ready, and the person sends or schedules it from review_link. Rates and top links are in get_campaign_report.
Inputs: id (required).
get_campaign_reportGet campaign reportBRead-onlyIdempotentInspect
One campaign's results: sent, delivered, opens, clicks and unsubscribes with rates, and its top links.
Inputs: id (required).
get_contactGet contactARead-onlyIdempotentInspect
One contact with its status, lists, tags and custom fields. Give the contact's id or its email address.
Inputs: id, email_address.
get_contact_activityGet contact activityARead-onlyIdempotentInspect
What has happened to one contact: recent email events (last 90 days, newest first, up to 50), the automations they have been in, and whether a suppression blocks mail to them.
Inputs: id (required).
get_email_formatGet email formatARead-onlyIdempotentInspect
How to write the body of create_campaign_draft: the editor's block format, the rules a draft must follow, design rules for an email that reads well everywhere, the default settings and a short example. Read it before writing blocks.
Inputs: no named parameters.
get_templateGet templateARead-onlyIdempotentInspect
One template's content. A drag and drop template returns its design (blocks and settings), which create_campaign_draft takes as body.blocks; any other template returns its HTML.
Inputs: id (required).
list_automationsList automationsBRead-onlyIdempotentInspect
The account's automations, newest first, with what starts each one, how many people are in it now, how many are stuck, and how many email steps it has.
Inputs: include_archived.
list_campaignsList campaignsBRead-onlyIdempotentInspect
Recent campaigns, newest first, with status and headline stats. Returns up to 25.
Inputs: limit, status.
list_custom_fieldsList custom fieldsBRead-onlyIdempotentInspect
The account's custom contact fields and the choices for dropdown fields.
Inputs: no named parameters.
list_formsList signup formsARead-onlyIdempotentInspect
The account's signup forms with their last 30 days of views, signups and confirmations. Views are directional: some bots load forms and are counted.
Inputs: no named parameters.
list_imagesList imagesARead-onlyIdempotentInspect
The account's image library, newest first. Use an image's url as an image block's src. Returns up to 25.
Inputs: limit, query.
list_listsList listsARead-onlyIdempotentInspect
The account's lists with subscriber counts, whether signup needs email confirmation, and whether each is a subscription list (one a campaign's subscription_list_id can name). A contact who unsubscribed from all email is in none of the counts.
Inputs: no named parameters.
list_segmentsList segmentsBRead-onlyIdempotentInspect
The account's saved segments, for choosing a campaign audience.
Inputs: no named parameters.
list_tagsList tagsBRead-onlyIdempotentInspect
The account's tags with how many subscribed contacts carry each.
Inputs: no named parameters.
list_templatesList templatesBRead-onlyIdempotentInspect
The account's saved email templates, most recently edited first.
Inputs: no named parameters.
render_email_previewRender email previewBRead-onlyIdempotentInspect
Renders a drag and drop campaign's MJML as preview HTML for the email preview view.
Inputs: id (required), mjml (required).
search_contactsSearch contactsARead-onlyIdempotentInspect
Finds contacts whose email address or name contains the search text (at least 3 characters). Returns up to 25.
Inputs: query (required), limit.
send_test_emailSend test emailADestructiveInspect
Emails a test of a draft campaign to the connected person's own address, with sample values for merge tags. It goes only to that address and only for a draft; it never sends the campaign. A draft written as blocks can be tested once someone opens it in EmailFig, which builds its email.
Inputs: id (required).
tag_contactTag contactBDestructiveIdempotentInspect
Puts a tag on a contact, creating the tag if it doesn't exist.
Inputs: id (required), tag_name (required).
unsubscribe_contactUnsubscribe contactADestructiveIdempotentInspect
Records that someone has opted out, so no list or campaign emails them. Give the contact's id or the email address. They can only come back by signing up again and confirming by email. Their list memberships are kept but nothing is sent to them.
Inputs: id, email_address.
untag_contactRemove tag from contactADestructiveIdempotentInspect
Takes a tag off a contact. The tag itself stays.
Inputs: id (required), tag_name (required).
update_campaign_draftUpdate campaign draftADestructiveIdempotentInspect
Changes a draft this chat app created, until someone saves it in EmailFig. Only the fields given change, and they mean what they mean in create_campaign_draft. It never sends.
Inputs: id (required), body, name, subject, +3 more.
update_contactUpdate contactADestructiveIdempotentInspect
Changes a contact's name or custom field values. Only what you send changes; custom fields you leave out keep their values.
Inputs: id (required), last_name, first_name, properties.
upload_image_from_urlAdd image from URLAInspect
Adds an image from a public https address to the account's image library and returns it. PNG, JPEG or GIF, under 10 MB. Use its url as an image block's src.
Inputs: url (required), alt_text.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Build and send interactive email campaigns: studio editing, contacts, sending, results.
Send email, run campaigns and automations, manage contacts and domains, fix deliverability.
Send email, check deliverability, set up domains, and run templates, contacts and campaigns.
Manage DirectIQ contacts, lists and tags, see campaign results, and send transactional email.
Related MCP Servers
FlicenseNot gradedqualityBmaintenanceEnables MCP clients to manage email marketing accounts by drafting and scheduling campaigns, building audiences and segments, managing contacts, templates, and automations, sending transactional email, and retrieving performance and deliverability reports.-- AlicenseNot gradedqualityCmaintenanceSend email, find out why an email failed, set up sending domains, and manage templates, contacts, lists and campaigns in your AhaSend account.MIT

Sequenzy MCP Serverofficial
AlicenseBqualityCmaintenanceEnables management of AI-powered email marketing automation, including subscriber segments, campaigns, and templates. It allows users to generate email sequences with AI and track detailed analytics through natural language commands.1001,984 npm3MIT- AlicenseNot gradedqualityBmaintenanceEnables users to search, read, and create ecommerce email marketing assets such as campaigns, automations, popups, and landing pages, manage sending-domain setup, and with confirmation schedule/send campaigns or publish/pause assets.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.