# sendraven.ai MCP server (slim) > sendraven.ai MCP server, an MCP server by sendraven.ai, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Email infrastructure for AI agents: send, read replies as threads, campaigns, per-key limits. - Full: https://www.anchorterminal.com/tools/sendraven-mcp.md (~3,700 tokens) · this version ~3,630 tokens · JSON https://www.anchorterminal.com/tools/sendraven-mcp.json · canonical https://www.anchorterminal.com/tools/sendraven-mcp - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-05 # sendraven.ai MCP server > Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/ - Kind: MCP server, by sendraven.ai (https://sendraven.ai/mcp) - Category: Email delivery APIs (https://www.anchorterminal.com/categories/email.md) - Listed because: It's published in the registry under sendraven.ai, a namespace the registry only gives to whoever proves they control that domain. - What the official MCP registry says: Email infrastructure for AI agents: send, read replies as threads, campaigns, per-key limits. ## Facts - MCP registry: `ai.sendraven/mcp` 0.4.20 - Endpoint: https://mcp.sendraven.ai/mcp (streamable HTTP) - Package: npm `@sendraven/mcp` (stdio) - Source: https://github.com/CommonNinja/sendraven-mcp-server - Website: https://sendraven.ai/mcp - npm downloads a week: 600 - GitHub stars: 1 - Registry entry updated: 2026-09-27 ## Tools - Tools it lists (55, about 19,888 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:20 UTC): - `send_email` (writes): Send a transactional email, immediately or scheduled. scheduled_at takes a relative phrase like 'in 3 days' or an ISO timestamp. The From domain must already… - `list_emails` (read-only): List messages newest first with their delivery status, including held, scheduled, skipped and failed ones and the mail campaigns and automations sent. Filter… - `get_email` (read-only): Fetch one message with its full event timeline (send, delivery, bounce, complaint, open, click). The timeline shows why an email didn't arrive. - `cancel_scheduled_email` (writes): Cancel a scheduled email before it sends. Only works while status is 'scheduled': a message that has already started sending, or is in any other state, answers… - `list_sending_domains` (read-only): List sending domains with their verification status and the DNS records each one needs. Each record shows what is currently published, so this diagnoses a… - `add_sending_domain` (writes): Register a sending domain and get back the DNS records to publish. It takes the domain mail is sent from — mail. and news. are provisioned… - `verify_sending_domain` (writes): Re-check a domain's DNS records now instead of waiting for the background monitor. Also restarts bounce-path (mail_from) verification when SES gave up before… - `list_suppressions` (read-only): List addresses we refuse to mail and why (hard_bounce, complaint, unsubscribe, manual, list_hygiene), newest first, each with its scope. When someone reports… - `add_suppression` (writes): Stop sending to an address. Scope 'marketing' leaves transactional mail working; the default is 'all'. Reason 'unsubscribe' is a real opt-out: it also cancels… - `remove_suppression` (writes): Remove a suppression so the address can be mailed again. A hard bounce means the address was rejected by the receiving server, and re-sending raises the bounce… - `create_broadcast` (writes): Create a campaign as a draft. Nothing is sent: preview_broadcast reports its reach and send_broadcast sends it. identity_id must be a marketing sending domain… - `get_broadcast` (read-only): One campaign, with a 'progress' object while it is sending, paused or testing: how many addresses are still pending, sent, failed, or skipped because the… - `list_broadcasts` (read-only): List campaigns, newest first, with their status. Paged: at most 100 per call; while has_more is true, next_cursor passed back as cursor returns the next page.… - `preview_broadcast` (read-only): How many contacts a campaign would reach, and whether the reputation gate would allow it. It is the only way to see the size of a campaign without starting it.… - `send_broadcast` (writes): Send a draft or scheduled campaign now, or schedule it with scheduled_at. This mails every contact in the segment and cannot be undone once started;… - `pick_broadcast_winner` (writes): Decide an A/B test now instead of waiting for decide_at. 'variant' names the winning key; without it the metric decides on the figures so far. The rest of the… - `resume_broadcast` (writes): Continue a paused campaign now. It mails only the addresses still pending — the audience was frozen when the campaign started and everyone already reached is… - `list_threads` (read-only): List email conversations. awaiting_reply=true returns only the threads where someone has written in and no answer has been sent, which is what needs a… - `get_thread` (read-only): Read a conversation as a chronological transcript of outbound and inbound messages. Inbound `text` already has quoted history and signatures stripped;… - `reply_to_message` (writes): Reply to a message, keeping it on the same conversation. Sets the threading headers so the recipient's mail client shows it as part of the existing exchange… - `mark_thread_handled` (writes): Clear a conversation's awaiting_reply flag without sending anything, for when the last inbound message needs no answer — a "thanks, all sorted" — so it stops… - `list_templates` (read-only): List stored email templates and the variables each one needs. Unlike HTML composed at send time, templates carry the workspace's reviewed subject, copy and… - `render_template` (read-only): Render a template with values, without sending, showing how the copy reads before it mails a real person. A missing variable answers 422 missing_variables with… - `send_template_email` (writes): Send an email built from a stored template. Variable values are HTML-escaped on substitution, so they are safe to fill from user-supplied text. Nothing is sent… - `list_pending_approvals` (read-only): List messages held for human approval, with their full content. A key configured to require approval drafts rather than sends; a person releases it. A send… - `decide_approval` (writes): Approve or reject a held message. Approving releases it: it sends now, or at its scheduled_at when the draft was scheduled for later. If every recipient… - `list_automations` (read-only): List multi-step email sequences and how many people are currently in each, with the id each one is enrolled by. Newest first, at most 100 per call; while… - `get_automation` (read-only): Fetch one automation: its status, trigger, steps, exit rules and how many people are in each state. The same object list_automations returns, for a caller that… - `list_automation_enrollments` (read-only): The people in one automation, newest enrolment first: each row has the email, status, current_step, next_due_at and, for a cancelled one, cancel_reason. It… - `create_automation` (writes): Define a multi-step sequence as a draft; nothing is sent until it is activated, from the dashboard or with set_automation_status. Unlike several separately… - `update_automation` (writes): Change the rules that take someone out of a sequence (topic_key, exit_tags, required_tags, exit_on_reply), its reply_to, its reenrollment, or its… - `set_automation_status` (writes): Activate, pause or return an automation to draft. A new automation is a draft and sends nothing until it is set to 'active'. Pausing ('paused' or 'draft')… - `enroll_in_automation` (writes): Put someone into a multi-step sequence. Unlike several separately scheduled emails, the sequence stops on its own if they unsubscribe (from everything or from… - `emit_event` (writes): Emit a named event, starting every automation that waits on it — for example 'trial_started' or 'invoice_overdue'. The configured sequences decide what… - `list_topics` (read-only): List subscription topics — the categories a person can opt out of individually. Marketing mail sent under a topic lets recipients unsubscribe from that kind… - `get_email_preferences` (read-only): What one person has chosen to receive. It shows whether someone who isn't getting a particular kind of email opted out of it — an opt-out looks identical to a… - `set_email_preferences` (writes): Set which topics a person receives, recording what they asked for — silently re-subscribing someone who opted out is what generates spam complaints. Every key… - `list_audiences` (read-only): List contact lists, newest first, with each one's id and contact_count. Paged: at most 100 per call; while has_more is true, more lists are on later pages,… - `add_contact` (writes): Add someone to an audience. A contact exists once per workspace and can be on any number of audiences, so adding an address that already exists joins them to… - `import_contacts` (writes): Import up to 5,000 contacts into an audience in one call, with names, tags, custom properties and subscription status. This is the migration tool: the previous… - `get_contact` (read-only): Fetch one contact by id, with their audience memberships, custom properties and engagement dates. - `update_contact` (writes): Update a contact. Attributes are merged, so sending one field does not clear the rest. unsubscribed: true is a real opt-out: it suppresses the address for… - `list_segments` (read-only): List saved audience filters. A campaign created with a segment id, rather than a filter described inline, shares one definition that can be reused and counted. - `list_tags` (read-only): Every tag in use in the workspace, with how many contacts carry each. Tags are free-form, so this is the only way to know what exists before applying one. - `count_segment` (read-only): How many contacts a segment currently matches. A filter that matches nobody shows up here as 0, before any campaign is built around it or sent. - `get_email_metrics` (read-only): Delivery and engagement over a window. Open and click rates are over delivered, not sent — a low open rate with a high bounce rate is a deliverability problem,… - `list_scheduled_emails` (read-only): Messages queued to send later but not yet sent, newest first; cancel_scheduled_email cancels one. At most 100 per call; while has_more is true, next_cursor… - `suppress_many` (writes): Stop sending to many addresses at once — the path for importing another provider's unsubscribe list before a first campaign. Without it, everyone who already… - `list_webhook_deliveries` (read-only): Recent delivery attempts for a webhook endpoint: each with event, status, attempts, last_status_code, last_error and delivered_at (null until it succeeds).… - `list_broadcast_recipients` (read-only): Who a campaign reached and what happened to each message, with the A/B variant when there is one. At most 200 per call; while has_more is true, next_cursor (a… - `get_usage` (read-only): This workspace's plan, what it has sent this billing period, what the period costs so far, and — the fields worth branching on — sending_locked and… - `find_contact` (read-only): Find a contact by address across every audience, without knowing which list they are on, or list the workspace's contacts by tag or subscription. email matches… - `remove_from_audience` (writes): Take a contact off one audience. They stay in the workspace and keep every other audience, their suppression and their engagement history. delete_contact… - `delete_contact` (writes): Remove a person from the workspace entirely, along with every audience membership. Their suppression and topic preferences are kept on purpose — an opt-out has… - `tag_contact` (writes): Add or remove tags on a contact. Tags are flat labels — vip, beta, churned — as opposed to custom properties, which are declared fields with a value. They are… - How its tools read to an agent (0 errors, 27 warnings, 1 note, about 19,888 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score): - warn TC07 send_broadcast: the description is about 525 tokens - warn TC11 add_contact: 3 parameters without a description: email, first_name, last_name - warn TC11 add_suppression: 1 parameter without a description: email - warn TC11 cancel_scheduled_email: its one parameter, id, has no description - warn TC11 count_segment: its one parameter, id, has no description - warn TC11 create_automation: 4 parameters without a description: name, steps, steps[].subject, trigger - warn TC11 create_broadcast: 8 parameters without a description: ab_test, html, name, segment, segment.clicked_within_days, segment.opened_within_days and 2 more - warn TC11 decide_approval: 2 parameters without a description: decision, reason - warn TC11 emit_event: 2 parameters without a description: email, variables - warn TC11 enroll_in_automation: 1 parameter without a description: email - warn TC11 get_contact: its one parameter, id, has no description - warn TC11 get_email_preferences: its one parameter, email, has no description - warn TC11 import_contacts: none of its 4 parameters has a description - warn TC11 list_webhook_deliveries: 1 parameter without a description: endpoint_id - warn TC11 remove_suppression: 1 parameter without a description: email - warn TC11 render_template: none of its 2 parameters has a description - warn TC11 reply_to_message: 3 parameters without a description: html, subject, text - warn TC11 send_email: 2 parameters without a description: subject, text - warn TC11 send_template_email: 3 parameters without a description: from, scheduled_at, variables - warn TC11 set_automation_status: 1 parameter without a description: status - warn TC11 set_email_preferences: 1 parameter without a description: email - warn TC11 suppress_many: 1 parameter without a description: emails - warn TC11 tag_contact: 2 parameters without a description: add, remove - warn TC11 update_contact: 3 parameters without a description: attributes, first_name, last_name - JSON: https://www.anchorterminal.com/api/v1/tools/sendraven-mcp.json - Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming