Give AI agents the ability to send, receive and manage email conversations via API or MCP. Transactional email, campaigns, automations, approvals and pay-per-send pricing.
This listing identifies a third-party MCP server. MCPBundles is not affiliated with, sponsored by, or endorsed by the service or its operator unless stated on this page.
This server may ask you to sign in when your AI client connects.
Last probed Nov 3, 2026 · mcp.sendraven.ai
55tools discovered
For AI agents — MCPBundles Directory API
For MCP client apps (human connect):
MCP connect URL: https://mcp.sendraven.ai/mcp
Skill page: https://www.mcpbundles.com/skills/sendraven-mcp-576d742e0f
Explore capabilities (55)
read 12
write 13
Showing 25 of 55
Showing 25 of 55 tools from the public preview. Connect the server to inspect the full live tool list.
List7
Get3
Send3
Add2
Other capabilities10
Send Email
write
send_email
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 be verified. Every accepted send answers with the same fields: id, status, thread_id, scheduled_at, skipped, reason and approval_id. skipped: true (status 'rejected', with reason) means every recipient was suppressed or opted out and nothing was sent; a retry answers the same. status 'pending_approval' (with approval_id) means a person must
Description may be truncated on the public preview.
Send Email — 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 be verified. Every accepted send answers with the same fields: id, status, thread_id, scheduled_at, skipped, reason and approval_id. skipped: true (status 'rejected', with reason) means every recipient was suppressed or opted out and nothing was sent; a retry answers the same. status 'pending_approval' (with approval_id) means a person must
List Emails — List messages newest first with their delivery status, including held, scheduled, skipped and failed ones and the mail campaigns and automations sent. Filter by status or recipient. Paged: at most 100 per call; while has_more is true, next_cursor passed back as cursor with the same filters returns the next page. An unknown status is refused with 422 invalid_request rather than answering an empty log.
Get Email — 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 — 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 409 invalid_state naming its status; a retry answers the same, and get_email shows where it stands. An unknown id answers 404 not_found.
List Sending Domains — 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 stuck verification. mail_from says whether SES has adopted the bounce. subdomain as the Return-Path: pending while SES polls for its MX record, then active. SES polls for 72 hours from when the domain was added, not from when the MX appears, and then marks it failed; publishing the MX later and calling verify_sending_domain restarts it. A veri
Add Sending Domain — Register a sending domain and get back the DNS records to publish. It takes the domain mail is sent from — mail.<domain> and news.<domain> are provisioned beneath it and the right one is chosen per message, so a marketing complaint spike can never affect password reset delivery. risk_class provisions one of the two on its own. Two records come back marked optional: an inbound MX so replies land in threads, and a link. CNAME that turns on click tracking on the customer's own name once its certifi
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Give AI agents the ability to send, receive and manage email conversations via API or MCP. Transactional email, campaigns, automations, approvals and pay-per-send pricing.
How do I connect SendRaven to my AI agent?
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
How many tools does SendRaven provide?
Operate this server?
Request removal if you do not want SendRaven listed here, or claim the listing if you want to manage it on MCPBundles.
Operate SendRaven?
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles publishes this directory for MCP discovery. Except where we host or operate an offering, third-party services run under their own terms. Product and company names on this page are used in a descriptive, identifying way (including under nominative fair use where applicable); they remain the property of their owners. Nothing here grants you rights in those marks, and nothing here is an offer to sell a third party's services. Terms · Request removal
More in developer tools
Other MCP servers in this category from the directory index
Verify Sending Domain — 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 the MX record existed.
List Suppressions — List addresses we refuse to mail and why (hard_bounce, complaint, unsubscribe, manual, list_hygiene), newest first, each with its scope. When someone reports not receiving email, this shows whether the address is suppressed. email returns one address's suppressions directly; scanning pages instead is how the wrong suppression gets cleared. At most 100 per call; while has_more is true, next_cursor passed back as cursor returns the next page.
Add Suppression — 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 the person's queued scheduled sends and ends their automation enrolments, which is what a person who asked to stop expects and 'manual' does not do. A hard bounce or complaint already on file is never replaced; the response is the stored suppression (id, email, reason, scope, detail, created_at), so its reason says which one stands.
Remove Suppression — 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 rate that AWS enforces on. The scope must match the stored one: removed: false means nothing was suppressed in that scope (an address suppressed for 'marketing' is not lifted by 'all'); list_suppressions with email shows the scope that is stored.
Create Broadcast — 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 (see list_sending_domains; risk_class 'marketing'). topic_key must name an existing topic (list_topics); an unknown one is refused with 422 unknown_topic, since it would count everyone as opted out. A segment_id must filter the same audience as audience_id. An A/B test takes 2 to 10 'variants' that differ in subject, from_name or send_at,
Get Broadcast — 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 person opted out after the campaign started. This is what tells a paused campaign that is still making progress from one that is waiting; pause_reason says on what, and resume_after when a warm-up pause renews. progress is null for a campaign not in flight. For an A/B test, progress.by_variant is a list of { key, pending, sent, failed, skipped
List Broadcasts — 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. Each row is the campaign object get_broadcast returns, live progress and A/B results included, without its html, which only get_broadcast returns. Every field is snake_case and always present, null when unset. A campaign showing 'paused' is not broken; its pause_reason says why. A quota or interrupted pause continues on its own. A warm-up
Preview Broadcast — 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. For an A/B test it also reports the sample size and per-variant count against the 100-per-variant floor; a send below the floor is refused.
Send Broadcast — 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; preview_broadcast shows the count beforehand. Marketing mail must carry a postal address: a workspace without one is refused with 422 no_postal_address (a person adds it in Settings), and a suspended workspace with 422 workspace_suspended, whether sending now or scheduling. Calling this on an already-scheduled campaign with a new scheduled_at moves
Pick Broadcast Winner — 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 audience is then sent to the winner and cannot be redirected. Only a campaign in status 'testing' can be decided; anything else, or a campaign that is not an A/B test, answers 409 invalid_state. A variant key the campaign does not have answers 422 invalid_request. get_broadcast shows the figures so far — a variant with a handful of opens m
Resume Broadcast — 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 marked — so calling this twice cannot double-send. Only works on a paused campaign; anything else answers 409 invalid_state. pause_reason says why it paused. A background worker resumes quota, interrupted and suspension pauses on its own, so this only saves waiting. A warm-up pause cannot be resumed before its resume_after (409 invalid_stat
List Threads — 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 response. A reply held for approval or scheduled does not count as sent: such a thread stays in that list with pending_reply true, meaning its answer is already on the way. Most recently active first, at most 100 per call; while has_more is true, next_cursor passed back as cursor with the same awaiting_reply returns the next page.
Get Thread — Read a conversation as a chronological transcript of outbound and inbound messages. Inbound `text` already has quoted history and signatures stripped; `raw_text` holds the untrimmed body, for when the stripped version looks wrong. sender_authenticated says whether the sender is who the From line claims; when false the From line may be forged, and a forged sender still passes SPF, so spf_verdict does not show it. automated is true on an out-of-office or bounce report, which needs no answer (null
Reply To Message — 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 rather than a new one, which send_email does not do. It is a send, so it answers exactly as send_email does and meets the same refusals (422 no_verified_identity, 429 daily_limit, 403 recipient_not_allowed, and so on); idempotency_key makes a retry safe.
Mark Thread Handled — 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 appearing in list_threads with awaiting_reply=true. A reply sent only to clear the flag mails a person for bookkeeping; this clears it without one. The next message they send flags the thread again.
List Templates — 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 styling. They do not carry the unsubscribe footer: that is added at send time to marketing mail, whether or not it came from a template.
Render Template — 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 the list in `missing`; an unknown slug answers 404. Returns subject, html and text; text is null when the template has no plain-text part.
Send Template Email — 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 when a value is missing: 422 missing_variables lists the names in `missing`, and a call with those filled in goes through (render_template checks this without sending). An unknown slug answers 422 invalid_request. The response has the same fields as send_email: id, status, thread_id, scheduled_at, skipped, reason and approval_id. Refusals
List Pending Approvals — 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 that returned status 'pending_approval' is waiting here, and retrying the send does not release it. Oldest first, each with its expires_at; an expired approval drops out of the list and can no longer be decided.
Showing the first 25 tools — full list and schemas: Directory API.
MCPBundles probed 55 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
What authentication does SendRaven require?
SendRaven may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
Don't want this listed?
Request removal from the MCPBundles directory. We stop publishing this listing on mcpbundles.com.
MCPBundles is an independent platform built on the open Model Context Protocol standard. MCPBundles is not affiliated with, sponsored by, or endorsed by Anthropic PBC.