Emailchef MCP by usefulapi

io.usefulapi/emailchef · v1.2.0 · marketing-and-seo

Emailchef MCP by usefulapi is healthy: it completed an MCP handshake in 920 ms and exposes 43 tools.

Read lists, contacts, campaign stats; add contacts; draft, schedule and send campaigns and SMS.

Endpoint: https://emailchef.usefulapi.io/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count43
Latency920 ms
Last checked (UTC)2026-11-01T01:35:26.422Z

Health history

Checked (UTC)StatusLatencyError
2026-11-01T01:35:26.422ZHealthy920

Tools (43)

emailchef_get_accountThe Emailchef account this API key belongs to: id, email, language, status, subscriber total, bounces and complaints. GET /accounts/current.
emailchef_get_subscriptionThe account's current Emailchef plan: plan name, plan expiry, contact and send limits, credits left, active/expired flags. Check this before a big send. GET /subscriptions/current.
emailchef_list_sendersList the sender identities (name, email, verification status, postal address). Campaigns and emails need a verified sender id. GET /senders.
emailchef_list_timezonesList Emailchef's timezones (id, name, fixed UTC offset). The id is required to schedule a campaign. GET /meta/timezones.
emailchef_list_listsList the contact lists with id, name, and counts of active, unsubscribed and bounced contacts and segments. Newest first by default. GET /lists.
emailchef_get_listOne contact list: name, description, default sender, creation date. GET /lists/{list_id}.
emailchef_get_list_statsDaily growth of a list over a date range: total contacts per day and the daily delta. Omit the dates for the whole history. GET /lists/{list_id}/stats.
emailchef_get_list_contact_countsHow many contacts a list has by state: active, unsubscribed, bounced, reported. GET /lists/{list_id}/stats/count.
emailchef_create_listWRITE: create a new, empty contact list. Returns the new list id. POST /lists.
emailchef_update_listWRITE: rename a contact list and/or change its description. Only the fields you pass change. PUT /lists/{list_id}.
emailchef_list_contactsList the contacts of one list (id, email, name, added by, subscription date), optionally by state. GET /contacts?list_id=...
emailchef_get_contactOne contact in one list: status, email, name, IP, how it was added, when, and its custom field values. GET /contacts/{contact_id}?list_id=...
emailchef_create_contactWRITE: add a contact (email, name, custom fields) to a list. Only add people who agreed to receive email: an ACTIVE contact will receive the account's campaigns and automations. Returns the contact id and status. POST /contacts.
emailchef_update_contactWRITE: change a contact's name, state or custom fields in one list. Only the fields you pass change. Setting the status to ACTIVE re-subscribes someone: only do so with their consent. PUT /contacts/{contact_id}.
emailchef_unsubscribe_contactWRITE: unsubscribe one contact from one list (it stops receiving that list's email). POST /lists/{list_id}/unsubscribe?contact_id=...
emailchef_import_contactsWRITE: bulk-add or update up to 500 contacts in a list in one call (an existing email is updated). Each contact is an object keyed by field placeholder, e.g. {"email":"a@b.com","firstname":"Ada"}: get the placeholders from emailchef_list_predefined_fields and emailchef_list_custom_fields. Import onl
emailchef_list_import_tasksList contact import tasks: list, status (DISPATCHED, COMPLETE, FAILED), progress, imported/updated/failed counts. GET /importtasks.
emailchef_get_import_taskOne import task: status, progress, imported/updated/failed counts and any error message. GET /importtasks/{task_id}.
emailchef_list_predefined_fieldsThe built-in contact fields (email, first name, ...) with their placeholders. GET /predefinedfields.
emailchef_list_custom_fieldsThe custom contact fields of a list: name, data type, placeholder (the key used when writing contacts), options. GET /lists/{list_id}/customfields.
emailchef_list_segmentsList the saved segments of a list with how many contacts match each. GET /lists/{list_id}/segments.
emailchef_get_segmentOne segment with its logic and condition groups. GET /lists/{list_id}/segments/{segment_id}.
emailchef_list_blockedList the account's blocklist (emails that never receive email): address and reason (MANUAL, UNSUBSCRIBED, COMPLAINT). GET /blockings.
emailchef_block_emailsWRITE: add up to 100 addresses to the account blocklist so they never receive email from any list. Reversible with emailchef_unblock_email. POST /blockings?type=MANUAL.
emailchef_unblock_emailWRITE: remove one address from the account blocklist so it can receive email again. Only do this for an address whose owner asked for it. DELETE /blockings/{email}.
emailchef_get_campaign_countsHow many campaigns the account has by state: drafts, sent, scheduled, archived, failed. GET /campaigns/count.
emailchef_list_campaignsList email campaigns with state, recipients, delivered, unique opens and unique clicks. Without a status filter Emailchef returns only SENT and ARCHIVED campaigns; pass a status to see DRAFT, SCHEDULED, SENDING or FAILED ones. GET /campaigns.
emailchef_get_campaignOne campaign: name, subject, HTML and text body, sender, reply-to, state, schedule, recipient lists/segments and cached sent/open/click counts. GET /campaigns/{id}.
emailchef_get_campaign_linksThe links contained in a campaign (id, name, URL). GET /newsletters/{id}/links.
emailchef_list_campaign_engagementPer-contact engagement for a sent campaign: who opened, clicked, was delivered, did not open, unsubscribed, complained, or was sent to, with counts and first/last event time. Pick exactly one event. GET /newsletters/{id}/contacts.
emailchef_create_campaignWRITE: create a new campaign as a DRAFT (nothing is sent). Needs a verified sender (emailchef_list_senders) and at least one list. To be sendable the HTML body must contain the CAN-SPAM placeholders [[account:business]], [[account:address_1]], [[account:city]], [[account:postal_code]], [[account:cou
emailchef_clone_campaignWRITE: copy an existing campaign into a new DRAFT (nothing is sent). A SENT campaign cannot be cloned (Emailchef answers HTTP 500). Returns the new campaign id. POST /newsletters?clone=1.
emailchef_update_campaignWRITE: change a DRAFT campaign's name, subject, body, sender, reply-to or recipient lists. Only the fields you pass change: the tool reads the campaign first and sends the complete record back, because Emailchef blanks any omitted field. Refuses a campaign that is not a DRAFT. PUT /newsletters/{id}.
emailchef_send_test_campaignWRITE: email ONE test copy of a campaign to a single address. The campaign state does not change. The sender must be verified. PUT /campaigns/{id}/sendtest.
emailchef_schedule_campaignWRITE, SENDS EMAIL TO CUSTOMERS LATER: schedule a DRAFT campaign to go out to all its recipients at a date and time. Emailchef timezones are fixed offsets without daylight saving: pick the id (emailchef_list_timezones) whose offset matches the send date. Undo before it starts with emailchef_unschedu
emailchef_unschedule_campaignWRITE: cancel the schedule of a SCHEDULED campaign and bring it back to DRAFT. PUT /campaigns/{id}/unschedule.
emailchef_send_campaignWRITE, SENDS EMAIL TO CUSTOMERS NOW AND CANNOT BE UNDONE: start sending a DRAFT (or FAILED) campaign immediately to ALL its recipients and use up plan sends. Check the recipients (emailchef_get_campaign), the sender and the subscription first, ideally after emailchef_send_test_campaign, and send onl
emailchef_archive_campaignWRITE: archive a campaign (hidden from the default list; statistics are kept). Reversible with emailchef_unarchive_campaign. PUT /campaigns/{id}/archivecampaign.
emailchef_unarchive_campaignWRITE: restore an archived campaign. PUT /campaigns/{id}/unarchivecampaign.
emailchef_send_emailWRITE, SENDS AN EMAIL NOW AND CANNOT BE UNDONE: send a single email to one recipient from a verified sender and use up plan sends. Pass text_body and/or html_body. The recipient does not need to be a contact. Send only with the user's explicit go-ahead (confirm must be true). POST /sendmail.
emailchef_get_sms_balanceThe account's SMS credit balance and currency. GET /sms/balance.
emailchef_get_sms_statusDelivery status of one sent SMS by message id: recipient, text, sent/done time, parts, price, state and error. GET /sms/status/{messageId}.
emailchef_send_smsWRITE, SENDS TEXT MESSAGES NOW, COSTS SMS CREDIT AND CANNOT BE UNDONE: send an SMS to 1-50 phone numbers in international format (e.g. +393331234567). Check emailchef_get_sms_balance first and send only with the user's explicit go-ahead (confirm must be true). Returns a message id per recipient and