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
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 43 |
| Latency | 920 ms |
| Last checked (UTC) | 2026-11-01T01:35:26.422Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-11-01T01:35:26.422Z | Healthy | 920 |
emailchef_get_account | The Emailchef account this API key belongs to: id, email, language, status, subscriber total, bounces and complaints. GET /accounts/current. |
emailchef_get_subscription | The 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_senders | List the sender identities (name, email, verification status, postal address). Campaigns and emails need a verified sender id. GET /senders. |
emailchef_list_timezones | List Emailchef's timezones (id, name, fixed UTC offset). The id is required to schedule a campaign. GET /meta/timezones. |
emailchef_list_lists | List the contact lists with id, name, and counts of active, unsubscribed and bounced contacts and segments. Newest first by default. GET /lists. |
emailchef_get_list | One contact list: name, description, default sender, creation date. GET /lists/{list_id}. |
emailchef_get_list_stats | Daily 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_counts | How many contacts a list has by state: active, unsubscribed, bounced, reported. GET /lists/{list_id}/stats/count. |
emailchef_create_list | WRITE: create a new, empty contact list. Returns the new list id. POST /lists. |
emailchef_update_list | WRITE: rename a contact list and/or change its description. Only the fields you pass change. PUT /lists/{list_id}. |
emailchef_list_contacts | List the contacts of one list (id, email, name, added by, subscription date), optionally by state. GET /contacts?list_id=... |
emailchef_get_contact | One 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_contact | WRITE: 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_contact | WRITE: 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_contact | WRITE: unsubscribe one contact from one list (it stops receiving that list's email). POST /lists/{list_id}/unsubscribe?contact_id=... |
emailchef_import_contacts | WRITE: 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_tasks | List contact import tasks: list, status (DISPATCHED, COMPLETE, FAILED), progress, imported/updated/failed counts. GET /importtasks. |
emailchef_get_import_task | One import task: status, progress, imported/updated/failed counts and any error message. GET /importtasks/{task_id}. |
emailchef_list_predefined_fields | The built-in contact fields (email, first name, ...) with their placeholders. GET /predefinedfields. |
emailchef_list_custom_fields | The custom contact fields of a list: name, data type, placeholder (the key used when writing contacts), options. GET /lists/{list_id}/customfields. |
emailchef_list_segments | List the saved segments of a list with how many contacts match each. GET /lists/{list_id}/segments. |
emailchef_get_segment | One segment with its logic and condition groups. GET /lists/{list_id}/segments/{segment_id}. |
emailchef_list_blocked | List the account's blocklist (emails that never receive email): address and reason (MANUAL, UNSUBSCRIBED, COMPLAINT). GET /blockings. |
emailchef_block_emails | WRITE: 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_email | WRITE: 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_counts | How many campaigns the account has by state: drafts, sent, scheduled, archived, failed. GET /campaigns/count. |
emailchef_list_campaigns | List 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_campaign | One 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_links | The links contained in a campaign (id, name, URL). GET /newsletters/{id}/links. |
emailchef_list_campaign_engagement | Per-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_campaign | WRITE: 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_campaign | WRITE: 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_campaign | WRITE: 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_campaign | WRITE: 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_campaign | WRITE, 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_campaign | WRITE: cancel the schedule of a SCHEDULED campaign and bring it back to DRAFT. PUT /campaigns/{id}/unschedule. |
emailchef_send_campaign | WRITE, 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_campaign | WRITE: archive a campaign (hidden from the default list; statistics are kept). Reversible with emailchef_unarchive_campaign. PUT /campaigns/{id}/archivecampaign. |
emailchef_unarchive_campaign | WRITE: restore an archived campaign. PUT /campaigns/{id}/unarchivecampaign. |
emailchef_send_email | WRITE, 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_balance | The account's SMS credit balance and currency. GET /sms/balance. |
emailchef_get_sms_status | Delivery status of one sent SMS by message id: recipient, text, sent/done time, parts, price, state and error. GET /sms/status/{messageId}. |
emailchef_send_sms | WRITE, 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 |