Mailcheer
com.mailcheer/mailcheer · v1.1.0
Email API + newsletters. 17 MCP tools. OAuth 2.1 PKCE or API key. EU-hosted (Hetzner + SES).
MCPremoteAPI keyAnalytics & marketingEmail
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 19 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 82/100
What it does: 19 tools · 9 read, 10 write (incl. delete/pay) · Email, Analytics & marketing
Test call list_subscribers: needs a key: rpc error: Missing API key. Add the "Authorization: Bearer mch_live_…" header to the MCP server configuration, or connect with OAuth. Keys are crea (1,007 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +4
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://mailcheer.com/api/mcpTools
19 tools listed at last check
send_emailSends a single (transactional) email to one or more addresses. The sender must belong to a verified domain of the workspace — call get_account to see which ones. An address suppressed for a bounce, a complaint or by hand fails the entire call, with its reason. An unsubscribed address still gets an iget_accountReturns the workspace this key grants access to, its scopes, plan, remaining emails this month (queued sends included), when the counter resets, billing status, member and domain limits, sending domains (verified or not) and registered senders. Call this FIRST: it tells you which address to send frolist_subscribersLists the workspace's subscribers, page by page. Use `cursor` with the `next_cursor` value from the response to get the next page. `status` filters on subscribed, pending, unsubscribed, bounced, or complained.add_subscriberAdds or updates a subscriber. By default the person enters as PENDING and receives a confirmation email: that is double opt-in, and it protects the workspace's sending reputation. `double_opt_in: false` subscribes directly and must only be used when consent was already collected elsewhere — never onremove_subscriberUnsubscribes an address and adds it to the workspace's suppression list: no more campaigns, automations, or sends carrying `unsubscribe_url`. The record is not deleted — that is what prevents the address from coming back on the next file import. This action cannot be reversed via the API: only the pupdate_subscriberUpdates the first name (`first_name`), last name (`last_name`) and custom fields (`fields`, by technical key) of an existing subscriber. The email address cannot be changed: it is the identifier. Tags are managed with `tag_subscriber`. Unknown fields are rejected (400). The response contains the updlist_tagsThe workspace's tags, with how many subscribers carry each one (`subscribers`) and, among them, the active ones (`subscribed`). Read this before tagging: reuse an existing name rather than creating a near-duplicate.tag_subscriberAdds (`add`) and removes (`remove`) tags on ONE existing subscriber, and nothing else: no subscription, no confirmation email, no status touched. Prefer it to add_subscriber for changing tags: add_subscriber is a subscription and sends the confirmation again to a pending person. An unknown address ierase_subscriberErases a person from the workspace at THEIR request (right to erasure): record, name, fields, proof of consent, tags. Statistics of campaigns already sent do not move; the suppression list is not touched. To stop someone receiving anything, use remove_subscriber — not this one. IRREVERSIBLE: only uslist_suppressionSuppressed addresses, with their reason: bounced, complained or manually suppressed (nothing goes to them), or unsubscribed (no more campaigns, automations, or sends carrying `unsubscribe_url`, but an individual email still reaches them). The `scope` field tells whether the address is suppressed foradd_suppressionAdds an address to the workspace's suppression list. By default (`manual`), it will receive nothing further, neither campaigns nor individual emails; with `unsubscribe`, only campaigns, automations, and sends carrying `unsubscribe_url` are refused to it. Use when someone requests no further contactlist_campaignsThe workspace's campaigns, from newest to oldest, with their status: draft, scheduled, sending, or sent.create_campaignCreates a DRAFT. Nothing is sent: you then need to call send_campaign, or send it from the Mailcheer workspace. Content is written in plain text in `text` — a blank line separates paragraphs, "#" at the start of a line makes a heading. Always have the draft reviewed before sending.update_campaignEdits a DRAFT: name, subject, preheader, kind, sender, content (`text`). Nothing is sent. Prefer it to create_campaign to rework a text: otherwise the old draft stays in the list. A scheduled, sending or sent campaign cannot be edited (409).preview_campaign_sendRead-only: nothing is sent. Returns exactly what send_campaign would do right now — would it go out (and if not, why), and how many people would receive it. With `to`, reports address by address who is kept and who is excluded, with the reason (unsubscribed, bounced, complained, not in the list…). Isend_campaign⚠️ IRREVERSIBLE. Locks the recipient list and triggers sending to ALL active subscribers in the workspace — or, with `to`, only to the requested addresses that are active subscribers (never an unsubscribed or suppressed address). A sent email cannot be recalled. First call preview_campaign_send withget_campaign_statsStatus and figures for a campaign: recipients, sent, delivered, opened, clicked, bounced, complained. Rates are calculated on delivered messages, not on recipients. Every rate comes twice: open_rate and click_rate include bots (security gateways, preloads), human_open_rate and human_click_rate set tget_emailStatus of an email sent via send_email: sent, delivered, bounced, or complained. Amazon's delivery callback arrives a few seconds to a few minutes after sending — a "sent" status right after the call is normal.verify_emailVerifies one or more addresses (up to 100) BEFORE writing to them, without sending anything: syntax, a domain that receives mail, a mailbox that already hard-bounced on Mailcheer, disposable or role mailboxes, and DNS signals of a dead mailbox. Each address gets a verdict: `invalid` (writing to it w
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/com.mailcheer/mailcheer)