MepMail
io.github.JE4NVRGPublished by GitHub account JE4NVRGv0.71.1Updated Oct 24, 2026
Transactional email and agent mailboxes: send, broadcasts, domains, Correio inboxes.
Overview
MepMail lets an assistant send transactional email, manage contacts and domains, and read, draft and send mail in Correio agent mailboxes.
- What you can do
- Send, schedule, reschedule or cancel transactional email, including batches of up to 100 and per-email deliverability insights and usage checks. Look up email status and timelines, and check account deliverability before bulk sends. Create, update, delete or erase contacts, and list domains, broadcasts, templates, webhooks and suppressions. With a Correio agent key, list and read mailbox messages and fetch attachments. Save drafts, replies and forwards, then send them or request owner approval.
- When to use it
- Useful when an assistant should send or schedule transactional email, inspect delivery status, manage contacts and audience data, or work inside Correio mailboxes by reading mail, preparing drafts and sending with permission.
- Requirements
- Node.js 20 or newer for the local npm package, or the hosted OAuth endpoint. At least one of MEPMAIL_API_KEY (full-access team key for sending and contact tools) or MEPMAIL_MAIL_TOKEN (Correio agent key for mailboxes). Optional MEPMAIL_BASE_URL, MEPMAIL_MAIL_ORIGIN, MEPMAIL_MAIL_DOWNLOAD_DIR and MEPMAIL_MAIL_UPLOAD_DIR. Network access to the MepMail API.
Installation
In SourceWeft
- Open MepMail in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.JE4NVRG%2Fmepmail/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"mepmail": {
"type": "http",
"url": "https://api.mepmail.dev/mcp"
}
}
}README
@mepmail/mcp
Official MepMail MCP server for local MCP clients — Claude Desktop, Claude Code, Cursor, Codex and anything that speaks stdio. It drives your MepMail instance over the public REST API (Resend-compatible wire) with a team API key, and, with a Correio agent key, your mailboxes: read the inbox, save replies as drafts and send them (or ask the owner to approve).
MepMail also runs a hosted MCP server (OAuth, no install) at
https://api.mepmail.dev/mcp. This package is for clients that launch
local servers from config. Tool names and result shapes match the hosted
server's; it covers a subset — the reading, sending and contact tools (22) —
and the write surfaces beyond contacts (segments, topics, broadcasts,
templates, webhooks, domains, API keys) plus the team picker are hosted-only.
Guide: https://docs.mepmail.dev/mcp ·
Packages: https://docs.mepmail.dev/packages · Published as
@mepmail/mcp on npm.
Requires Node.js 20 or newer.
Quickstart
- Create an API key in the MepMail dashboard (API keys) — a full-access
key, optionally scoped to the sender domain your agent sends from. A
sending-access key is confined to
/emails, so it would 403 on the contact tools (list_contacts,get_contact,create_contact,update_contact,delete_contact) withrestricted_api_key. - Add the server to your client:
Claude Desktop (claude_desktop_config.json) — and any client with the
same config shape (Cursor: mcp.json):
Claude Code:
Correio mailboxes — create an agent key in Correio → Settings → Agents:
mmb_... for one mailbox, or "Connect an agent to several mailboxes" for an
mmt_... credential over the mailboxes you choose, with read, draft and
optionally send permission. Then add it to the same server (an API key is
optional when you only need mailboxes):
Environment
Set at least one of MEPMAIL_API_KEY and MEPMAIL_MAIL_TOKEN.
Tools (22)
Send and manage email:
send_email— send or schedule one transactional email (cc/bcc/reply_to, tags, attachments, topic-scoped sends).send_email_batch— up to 100 emails in one call.get_email,list_emails— status and timeline (last_event: delivered, bounced, complained, ...).update_email,cancel_email— reschedule or cancel a scheduled email.get_email_insights— per-email best-practice report and score.get_deliverability,get_usage— account standing before bulk work.
Audience and account:
create_contact,update_contact,delete_contact(witherase=truefor GDPR/LGPD scrubbing),get_contact,list_contacts— with segment filters.list_domains,get_domain— DNS records and verification state.list_broadcasts,get_broadcast.list_templates,get_template.list_webhooks,list_suppressions.
Correio mailboxes (with MEPMAIL_MAIL_TOKEN, same five tools as the hosted
https://api.mepmail.dev/mcp/correio):
mailbox_list_accounts— the mailboxes the key reaches, with permissions and the default one.mailbox_list_messages,mailbox_read_message— inbox, drafts and sent; passmailboxwith a team credential. Listing is one page at a time, newest first: pass the returnednextCursorascursoruntilhasMoreis false (a cursor only works for the same mailbox, folder and filters). Filters run on the server before the page is cut:query(words, "quoted phrases",de:/from:,para:/to:,assunto:/subject:,tem:anexo,depois:/antes:),from,subject,unread,after,before;limitup to 100 (50 when searching). Mail that arrives while paging comes before the first page, so start over to see it. A short or empty page never proves a message is absent from the mailbox, and search reads an index that can lag about a minute behind new mail. Dates: a listing'safter/beforeuse the order time (arrival, or when a snoozed message came back; a draft's last edit), a search uses the arrival time, and a search also finds snoozed messages, which the listing leaves out until they return.mailbox_get_attachment— one attachment by message id, revision and index (frommailbox_read_message): filename, bytes and sha256. WithMEPMAIL_MAIL_DOWNLOAD_DIRset the file is saved there (never overwriting); otherwise it comes back ascontent_base64, up to 512 KiB.mailbox_save_draft— new draft, edit, reply or forward, from that mailbox's address and signature.attachmentsadds files as{ filename, content_base64 }, or{ path }for a file insideMEPMAIL_MAIL_UPLOAD_DIR(no other local path is ever read);keep_attachmentspicks the files to keep from the edited draft or the forwarded message (by default all of them; a reply keeps none). Limits: 10 files, 256 KiB each, about 700 KiB in all. Files travel only inside the draft request, so nothing is left behind when a draft is abandoned.mailbox_send_draft— sends with the send permission; otherwise the owner gets an approval request (awaiting_approval).
Every tool result is one JSON block envelope — { notice, untrusted_data } —
so agents can tell team-authored strings from tool output and never treat
recipient data as instructions.
Safe retries when sending
send_email and send_email_batch accept an optional top-level
idempotency_key. Keep the same key and identical arguments when retrying the
same send operation. Generate a new key for a new operation. The server passes
it as the HTTP Idempotency-Key header; it is not an email header or message
field.
Keys are scoped to the team and retained for 24 hours. A completed retry replays the original result. Reusing a key with different arguments returns a conflict; an operation still in progress can also return a conflict. An incomplete reservation can be recovered after 10 minutes. These limits apply to the server, so use an API version that supports this contract.
Agent discovery
- Machine catalog: https://mepmail.dev/.well-known/ai-catalog.json
- Auth guide for agents: https://mepmail.dev/auth.md
- API + errors + rate limits: https://docs.mepmail.dev
License
MIT
Source: packages/mcp/README.md at commit 33c43a5
Tools
0Version history
3- v0.71.1LatestOct 16, 2026
- v0.71.0Oct 9, 2026
- v0.6.69Sep 28, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts