Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Send email through your own Amazon SES account, and check domains, suppressions and sandbox status.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AWS_REGION, AWS_PROFILE, WRAPS_WRITE_ENABLED, WRAPS_FROM_EMAIL, WRAPS_ALLOWED_RECIPIENTS, WRAPS_ALLOWED_RECIPIENT_DOMAINS, WRAPS_HISTORY_TABLE_NAME, WRAPS_API_KEY, WRAPS_API_URL, WRAPS_ORG_IDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"email": {
"command": "npx",
"args": [
"-y",
"@wraps.dev/mcp"
],
"env": {
"AWS_REGION": "your-value",
"AWS_PROFILE": "your-value",
"WRAPS_WRITE_ENABLED": "your-value",
"WRAPS_FROM_EMAIL": "your-value",
"WRAPS_ALLOWED_RECIPIENTS": "your-value",
"WRAPS_ALLOWED_RECIPIENT_DOMAINS": "your-value",
"WRAPS_HISTORY_TABLE_NAME": "your-value",
"WRAPS_API_KEY": "your-value",
"WRAPS_API_URL": "your-value",
"WRAPS_ORG_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add email --env AWS_REGION=your-value --env AWS_PROFILE=your-value --env WRAPS_WRITE_ENABLED=your-value --env WRAPS_FROM_EMAIL=your-value --env WRAPS_ALLOWED_RECIPIENTS=your-value --env WRAPS_ALLOWED_RECIPIENT_DOMAINS=your-value --env WRAPS_HISTORY_TABLE_NAME=your-value --env WRAPS_API_KEY=your-value --env WRAPS_API_URL=your-value --env WRAPS_ORG_ID=your-value -- npx -y @wraps.dev/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"email": {
"command": "npx",
"args": [
"-y",
"@wraps.dev/mcp"
],
"env": {
"AWS_REGION": "your-value",
"AWS_PROFILE": "your-value",
"WRAPS_WRITE_ENABLED": "your-value",
"WRAPS_FROM_EMAIL": "your-value",
"WRAPS_ALLOWED_RECIPIENTS": "your-value",
"WRAPS_ALLOWED_RECIPIENT_DOMAINS": "your-value",
"WRAPS_HISTORY_TABLE_NAME": "your-value",
"WRAPS_API_KEY": "your-value",
"WRAPS_API_URL": "your-value",
"WRAPS_ORG_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"email": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@wraps.dev/mcp"
],
"env": {
"AWS_REGION": "your-value",
"AWS_PROFILE": "your-value",
"WRAPS_WRITE_ENABLED": "your-value",
"WRAPS_FROM_EMAIL": "your-value",
"WRAPS_ALLOWED_RECIPIENTS": "your-value",
"WRAPS_ALLOWED_RECIPIENT_DOMAINS": "your-value",
"WRAPS_HISTORY_TABLE_NAME": "your-value",
"WRAPS_API_KEY": "your-value",
"WRAPS_API_URL": "your-value",
"WRAPS_ORG_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
AWS_REGION envAWS_PROFILE envWRAPS_WRITE_ENABLED envWRAPS_FROM_EMAIL envWRAPS_ALLOWED_RECIPIENTS envWRAPS_ALLOWED_RECIPIENT_DOMAINS envWRAPS_HISTORY_TABLE_NAME envWRAPS_API_URL envWRAPS_ORG_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain wraps.dev (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: WRAPS_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.11.1) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for Amazon SES. Lets AI agents send email from your own AWS account, check domain verification and DKIM, look up the suppression list, and see whether the account is still in the SES sandbox.
Works with any SES account. Wraps adds send history and delivery events on top.
Runs locally via stdio. Your AWS credentials never leave your machine.
list_recent_sends and get_email_event_log only: the Wraps event pipeline, deployed with npx @wraps.dev/cli email initWRAPS_API_KEY, or a session from wraps auth login| Tool | Description | Needs Wraps? | Write? |
|---|---|---|---|
send_email | Send a transactional email via your SES account | No | Yes — requires WRAPS_WRITE_ENABLED=true |
verify_domain_status | Check verification and DKIM status of a sending domain | No | No |
list_suppressions | List addresses on your SES suppression list (paginated, with an explicit truncation notice), or check one address exactly with email | No | No |
get_setup_status | Check whether the account is in the SES sandbox, and get the next step toward a first send | No | No |
estimate_cost | Estimate monthly Wraps + AWS cost for a send volume, including which SES pricing plan the account is on. No AWS credentials needed | No | No |
list_recent_sends | List recent sends from your email history | Yes | No |
get_email_event_log | Get the full delivery event log for a message (Send, Delivery, Bounce, Complaint, Open, Click) | Yes | No |
check_send_status | Poll the outcome of a pending_approval send by approvalId (enforced mode only) | Yes | No |
list_contacts | List contacts in your Wraps organization, optionally filtered by email status, SMS status, preferred channel, or a search string on email or phone. | Yes (API key or wraps auth login) | No |
get_contact | Get one contact in full, including its topic subscriptions. | Yes (API key or wraps auth login) | No |
create_contact | Create one new contact. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
update_contact | Change one existing contact. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
set_contact_topics | REPLACE the full topic subscription list of one contact. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
delete_contact | Permanently delete ONE contact by UUID, email, or externalId. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
validate_contact_emails | Check up to 100 email addresses with SES Email Address Insights and return a deliverability verdict (HIGH, MEDIUM, LOW, or UNKNOWN) for each. | Yes (API key or wraps auth login) | No |
import_contacts | Import up to 10,000 contacts in one call, with created, updated, skipped and invalid counts and the reason for each rejected row. duplicateStrategy: "update" changes existing contacts and needs confirm: true. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true (and confirm: true for update) |
export_contacts | Export the contacts that match optional filters, newest first, up to 1,000 rows per call. truncated says when more matched. | Yes (API key or wraps auth login) | No |
get_account_health | Get the SES sending health of the connected AWS accounts: status, last check time, quota, reputation and reasons, for all accounts or one by its Wraps id. | Yes (API key or wraps auth login) | No |
email_check | Check a domain's SPF, DKIM, DMARC, MX and blacklist setup and return a grade with the issues that cost points. The request is public and rate limited to 10 per minute per IP. | Yes (API key or wraps auth login); the request is sent without it | No |
list_segments | List the audience segments saved in this Wraps organization, with each segment's live member count. | Yes (API key or wraps auth login) | No |
get_segment | Get one audience segment by id, including its full filter condition and live member count. | Yes (API key or wraps auth login) | No |
preview_segment | Preview the audience an unsaved filter condition would reach, without saving a segment. | Yes (API key or wraps auth login) | No |
create_segment | Save a new audience segment from a filter condition. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
update_segment | Change an existing audience segment: rename it, edit its description, replace its condition, or toggle trackMembership. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
delete_segment | Permanently delete an audience segment. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
list_topics | List the organization's subscription topics with live audience counts: subscriberCount (opted in), sendableCount (a broadcast would reach now) and pendingCount (waiting on double opt-in). | Yes (API key or wraps auth login) | No |
get_topic | Get one subscription topic by id, with its audience counts (subscriberCount, sendableCount, pendingCount) and its creator. | Yes (API key or wraps auth login) | No |
list_topic_subscribers | List the contacts subscribed to one topic, filtered by status (subscribed, pending for double opt-in not yet confirmed, or unsubscribed). | Yes (API key or wraps auth login) | No |
create_topic | Create a subscription topic that contacts can subscribe to and broadcasts can target. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
update_topic | Change a subscription topic's name, slug, description, public flag or double opt-in setting. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
delete_topic | Permanently delete a subscription topic and every subscription to it. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
list_templates | List the Wraps email and SMS templates in your organization. | Yes (API key or wraps auth login) | No |
get_template | Get one Wraps template by id: its metadata, status, variables, and by default its React Email source, compiled HTML, and compiled text. | Yes (API key or wraps auth login) | No |
create_template | Create a new Wraps email or SMS template as a DRAFT. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
update_template | Change an existing Wraps template. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
duplicate_template | Copy an existing Wraps template to start a variant. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
publish_template | Publish a Wraps template to SES, so sends and workflows that use it get this content. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
delete_template | Permanently delete up to 100 Wraps templates with their versions, and their published SES copies where no other template uses the same SES name. Refused with 409 (nothing deleted) while a draft, scheduled, queued or processing broadcast, or an enabled workflow, uses one. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
list_broadcasts | List broadcasts (email or SMS batch sends) for your organization, with their status and delivery counts. | Yes (API key or wraps auth login) | No |
get_broadcast | Get the status and delivery counts of ONE broadcast by id. | Yes (API key or wraps auth login) | No |
list_broadcast_recipients | List the per-recipient outcome of one broadcast: who was sent to, and whether each send was delivered, bounced, suppressed or failed, with the error reason. | Yes (API key or wraps auth login) | No |
get_broadcast_clicks | Get the link-click breakdown for ONE broadcast: which URLs were clicked and how often, plus the unsubscribe click count. | Yes (API key or wraps auth login) | No |
create_broadcast | Create a NEW broadcast as a draft. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
update_broadcast | Edit a DRAFT or a SCHEDULED broadcast: its content, sender, audience, template, AWS account or send time. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
duplicate_broadcast | Copy an existing broadcast into a NEW draft, whatever the status of the original. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true |
send_broadcast | Send a DRAFT broadcast to its audience, now or at scheduledFor. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
resume_broadcast | Resume an email broadcast that stopped part-way, from the last chunk it finished, so recipients who were not yet sent to get the message. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
cancel_broadcast | Cancel a broadcast that is scheduled, queued or processing, so the messages that have not gone out yet are not sent. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
list_events | List custom events tracked for this Wraps organization, newest first, optionally filtered by event name, contact, text search, or date range. | Yes (API key or wraps auth login) | No |
get_event | Get one custom event by id: its name, properties, time, and the contact it belongs to. | Yes (API key or wraps auth login) | No |
get_event_analytics | Get custom-event totals for this organization over the last 7 or 30 days: events in the period, active contacts, average events per contact, a zero-filled daily series, and the top event names. | Yes (API key or wraps auth login) | No |
list_event_names | List every distinct custom event name recorded for this Wraps organization, sorted. | Yes (API key or wraps auth login) | No |
track_event | Record a custom event for one contact. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
remove_suppression | Remove one address from the SES account-level suppression list of one AWS account, so Wraps sends to it again. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
add_suppression | Add one or more addresses to the SES account-level suppression list of one AWS account, so Wraps stops sending to them. Up to 100 per call; undo one at a time with remove_suppression. | Yes (API key or wraps auth login) | Yes — requires WRAPS_WRITE_ENABLED=true and confirm: true |
list_workflows | List the email and SMS automation workflows in your Wraps organization, newest first, with status and execution counts. | Yes (API key or wraps auth login) | No |
get_workflow | Get one workflow by id, including its trigger config, steps and transitions, so you can see what it does before triggering it or changing its schedule. | Yes (API key or wraps auth login) | No |
list_workflow_executions | List the executions of one workflow (one run per contact), newest first, each with its contact and status. | Yes (API key or wraps auth login) | No |
get_workflow_execution | Get one workflow execution by id, with its step trace (every step it reached and that step status), its contact, the workflow name and per-step engagement. | Yes (API key or wraps auth login) | No |
|
Only the beginning is shown; read the rest in the repo