Mailcheer
REMOTE · MAILCHEER.COM · SCANNED SEP 25
Manage a Mailcheer email workspace: subscribers, segments, campaigns, transactional sends and stats.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1840 tokens (~131/item across 14 items; 13 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 59% of tool parameters carry a description.Partial
Tool Safety94
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 3 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "preview_campaign_send" implies "send" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the Mailcheer MCP server?
Mailcheer is a hosted endpoint at https://mailcheer.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mailcheer.com
claude mcp add --transport http com-mailcheer-mailcheer 'https://mailcheer.com/api/mcp'
{
"mcpServers": {
"com-mailcheer-mailcheer": {
"url": "https://mailcheer.com/api/mcp"
}
}
} {
"servers": {
"com-mailcheer-mailcheer": {
"type": "http",
"url": "https://mailcheer.com/api/mcp"
}
}
} [mcp_servers.com-mailcheer-mailcheer] url = "https://mailcheer.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mailcheer-mailcheer": {
"type": "remote",
"url": "https://mailcheer.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-mailcheer-mailcheer --url 'https://mailcheer.com/api/mcp' --transport streamable-http
mcp_servers:
com-mailcheer-mailcheer:
url: "https://mailcheer.com/api/mcp" {
"McpServers": {
"com-mailcheer-mailcheer": {
"Transport": "http",
"Url": "https://mailcheer.com/api/mcp"
}
}
} assistant mcp add com-mailcheer-mailcheer -t streamable-http -u 'https://mailcheer.com/api/mcp'
{
"mcpServers": {
"com-mailcheer-mailcheer": {
"type": "http",
"url": "https://mailcheer.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
- Tool “get_campaign_stats” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Schema quality: excellent → good functional
- 23 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
- 22 Sept 26 76
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://mailcheer.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mailcheer.com | CN=YE2,O=Let's Encrypt,C=US | 22 Sept 2026 | 21 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 6753fa562797ba880455e64e71221858e5a |
| SANs: *.mailcheer.com, mailcheer.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mailcheer.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| mailcheer.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="mailcheer", error="invalid_request"
Bearer realm="mailcheer", error="invalid_request" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mailcheer.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://mailcheer.com/api/mcp | HTTPS enforced | 308 | https://mailcheer.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_subscriber Add a subscriber ~179
Adds 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 on your own initiative. A suppressed or unsubscribed address is refused. An address gets at most one confirmation every 2 minutes and 3 per 24 hours: do not retry in a loop, read `confirmation_not_sent_reason` and `confirmation_retry_at` in the response.
| Name | Type | Req | Description |
|---|---|---|---|
| double_opt_in | boolean | – | false = direct subscription without confirmation. Only request this on explicit instruction from the person. |
| string | yes | – | |
| firstName | string | – | – |
| lastName | string | – | – |
| tags | array | – | – |
No output schema declared.
No examples provided.
add_suppression Suppress an address ~86
Adds 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 contact outside the unsubscribe link.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| reason | string | – | – |
No output schema declared.
No examples provided.
create_campaign Create a campaign draft ~161
Creates 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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Address of an already-registered sender. Defaults to the workspace sender. |
| kind | string | – | newsletter, offer, announcement… newsletter by default. |
| name | string | yes | Internal name, visible only in the workspace. |
| preheader | string | – | Preview text shown after the subject in the inbox. |
| subject | string | – | Subject line seen by recipients. |
| text | string | – | Plain-text content. |
No output schema declared.
No examples provided.
get_account Workspace info ~72
Returns 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 from before attempting anything.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_campaign_stats Campaign statistics ~94
Status 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 them aside — that is the figure to give the person when they ask how many read it.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
get_email Sent email status ~60
Status 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
list_campaigns List campaigns ~53
The workspace's campaigns, from newest to oldest, with their status: draft, scheduled, sending, or sent.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | number | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
list_subscribers List subscribers ~102
Lists 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Next-page cursor. |
| limit | number | – | 1 to 100, 50 by default. |
| q | string | – | Search by address or name. |
| status | string | – | – |
No output schema declared.
No examples provided.
list_suppression List suppression entries ~136
Suppressed 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 for this workspace only or for the entire platform. No tool removes an address from this list: that action is done manually in the Mailcheer workspace, because it is the one that can suspend a sending capability.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| string | – | Look up a specific address. | |
| limit | number | – | – |
No output schema declared.
No examples provided.
preview_campaign_send Preview a campaign send ~170
Read-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…). If the monthly quota is not enough, `would_send` is false, `blocked_code` is `quota_exceeded` and `blocked_details` gives the figures and the reset date. Call it BEFORE send_campaign, and give that number to the person when you ask them to confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Campaign identifier. |
| to | array | – | Optional. The addresses to restrict the send to. Omitted = the campaign's whole audience. |
No output schema declared.
No examples provided.
remove_subscriber Unsubscribe a subscriber ~84
Unsubscribes 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 person can re-subscribe.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – |
No output schema declared.
No examples provided.
send_campaign Send a campaign ~145
⚠️ 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 with the same parameters, then ask the person for explicit confirmation, telling them how many people will receive the message. Messages go out progressively; get_campaign_stats tracks progress.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Campaign identifier. |
| to | array | – | Optional. Restricts the send to these addresses. An empty list sends to nobody (refused); for the whole list, omit the field. |
No output schema declared.
No examples provided.
send_email Send an email ~288
Sends 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 individual email (a reply, an invoice, an appointment); a newsletter or a prospecting email must carry `unsubscribe_url`, and is then refused to an unsubscribed address. Every address (to, cc, bcc) counts against the plan's monthly quota: past it, the call is refused (`quota_exceeded`) with the figures and the reset date — do not retry before that date. The email is sent immediately: this action cannot be undone.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | Sending address on a verified domain. "Name <address@domain.com>" format accepted. |
| html | string | – | HTML body. |
| replyTo | string | – | Reply-to address. |
| subject | string | yes | Message subject. |
| text | string | – | Plain-text body. At least one of html or text is required. |
| to | – | yes | Recipient, or list of recipients. |
| unsubscribe_url | string | – | One-click unsubscribe https address. Required for a newsletter or a prospecting email: it makes the send refused to an unsubscribed address. Leave it out for an individual email. |
No output schema declared.
No examples provided.
What is the Mailcheer MCP server?
Mailcheer is an MCP server listed in the public MCP registry as com.mailcheer/mailcheer. Manage a Mailcheer email workspace: subscribers, segments, campaigns, transactional sends and stats. This page covers its hosted endpoint (https://mailcheer.com/api/mcp).
Is the Mailcheer MCP server safe to use?
Mailcheer scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Mailcheer MCP server expose?
Mailcheer exposes 13 tools: send_email, get_account, list_subscribers, add_subscriber, remove_subscriber, and 8 more. Their descriptions and schemas cost roughly 1,630 tokens of context every time the server is loaded.
Does the Mailcheer MCP server require authentication?
Yes. Mailcheer asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Mailcheer MCP server still maintained?
Mailcheer is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.