MuseDirectory
All connectors / Productivity
Productivity

SendRaven

Send and manage transactional and marketing emails, campaigns, and automation sequences for your business.

Email infrastructure for AI agents. Send transactional emails immediately or scheduled, manage marketing campaigns with A/B testing, set up multi-step automation sequences, track delivery and replies as threaded conversations, and manage subscriber preferences and suppressions.

Try asking Muse: "Send a welcome email to a new customer and enroll them in a three-step onboarding sequence."

Working now?
Working
Worked last 7 days
100% of checks
How to get it
Extra setup
Account
No account needed
Price
Not stated

Source: Found in the official MCP Registry (ai.sendraven/mcp) · First listed September 24, 2026

Last 24 hours

Each bar is one check, every 15 minutes. Green means it answered. Last checked 1 h ago.

Is it safe to connect?

What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.

Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.

musedirectory.ai is not part of Meta. More about how Muse handles your information

How to add it to Muse

Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Open Muse
https://mcp.sendraven.ai/mcp

Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.

Technical details: safety screening, tools, response time and recent checks

Response time at the last check: 1209ms. Worked in 100% of checks over 30 days.

Screening · September 24, 2026

Screened, no issues found

MCP handshake
Pass
Answered in 220ms
Domain against threat feeds (Cloudflare security DNS)
Pass
mcp.sendraven.ai, sendraven.ai not flagged
Published packages against the OSV malicious-package database
Pass
No malicious-package advisories
Hidden instructions or invisible characters in tool text
Pass
55 tools read, nothing found
Inputs asking for passwords, card numbers or seed phrases
Pass
None found
Domain and redirects
Pass
No redirects off the domain
AI review of purpose and tool behavior
Pass
No concerns

Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.

Tools · 40

send_emailSend 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 ap
list_emailsList 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 sa
get_emailFetch one message with its full event timeline (send, delivery, bounce, complaint, open, click). The timeline shows why an email didn't arrive.
cancel_scheduled_emailCancel 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 answer
list_sending_domainsList 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
add_sending_domainRegister 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.
verify_sending_domainRe-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_suppressionsList 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; scan
add_suppressionStop 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 expect
remove_suppressionRemove 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 scop
create_broadcastCreate 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 i
get_broadcastOne 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
list_broadcastsList 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 on
preview_broadcastHow 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 th
send_broadcastSend 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 4
pick_broadcast_winnerDecide 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; anythin
resume_broadcastContinue 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_stat
list_threadsList 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
get_threadRead 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 w
reply_to_messageReply 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 s
mark_thread_handledClear 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; th
list_templatesList 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
render_templateRender 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 n
send_template_emailSend 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 throug
list_pending_approvalsList 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
decide_approvalApprove 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 unsubscribed or was suppressed while it waited, nothing is sent and the answer says skipped: true with a reason (both always pr
list_automationsList 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 has_more is true, next_cursor passed back as cursor returns the next page. A 'paused' automation holds its people on their cur
get_automationFetch 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 already holds the id. People themselves are listed by list_automation_enrollments. An unknown automation_id answers 404
list_automation_enrollmentsThe 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 answers 'is this person still on the sequence?', 'who is waiting on step 2?' and 'why did this sequence stop for them?', whi
create_automationDefine 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 scheduled emails, it ends on its own when the person unsubscribes, replies, bounces, opts out of its topic, or their tags sa
update_automationChange 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 default_variables (replaces the whole set; {} clears it). Steps and the trigger are fixed once created. A reenrollment change applies
set_automation_statusActivate, 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') holds everyone on their current step: nobody is sent a step and nobody new is enrolled, but nobody's sequence ends, and setti
enroll_in_automationPut someone into a multi-step sequence. Unlike several separately scheduled emails, the sequence stops on its own if they unsubscribe (from everything or from the automation's topic), reply, hard bounce, gain one of its exit tags, or lose one of its required tags, which would oth
emit_eventEmit a named event, starting every automation that waits on it — for example 'trial_started' or 'invoice_overdue'. The configured sequences decide what happens, rather than the caller naming an automation. Returns automations_started; 0 means nothing was waiting on that name or t
list_topicsList subscription topics — the categories a person can opt out of individually. Marketing mail sent under a topic lets recipients unsubscribe from that kind alone rather than from everything.
get_email_preferencesWhat 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 delivery failure from the outside.
set_email_preferencesSet which topics a person receives, recording what they asked for — silently re-subscribing someone who opted out is what generates spam complaints. Every key must be an existing topic from list_topics: one unknown key refuses the whole call with 422 unknown_topic and nothing is
list_audiencesList 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, returned when next_cursor is passed back as cursor.
add_contactAdd 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 this list rather than creating a second copy. status records that the person opted out elsewhere — it writes the suppressi
import_contactsImport 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 provider's unsubscribed, bounced and complained lists, imported with the matching status before the first campaign, keep

Recent checks

2026-09-28 08:16:12live · HTTP 2001209ms
2026-09-28 06:01:03live · HTTP 200842ms
2026-09-28 03:45:46live · HTTP 200182ms
2026-09-28 01:16:14live · HTTP 200876ms
2026-09-27 23:01:00live · HTTP 200647ms
2026-09-27 20:45:36live · HTTP 200464ms
2026-09-27 18:16:19live · HTTP 2002409ms
2026-09-27 16:01:14live · HTTP 2001611ms
2026-09-27 14:01:31live · HTTP 2001190ms
2026-09-27 11:45:52live · HTTP 200283ms
2026-09-27 09:16:21live · HTTP 2002492ms
2026-09-27 07:01:19live · HTTP 2002359ms

Link

https://mcp.sendraven.ai/mcp

Questions about SendRaven in Muse

How do I connect SendRaven to Muse?

Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use SendRaven to help me. It is a free service with an MCP server at https://mcp.sendraven.ai/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Is SendRaven working right now?

At the last check (September 28, 2026, 08:16 UTC) the endpoint was working, answering in 1209ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.

Is SendRaven safe to connect to Muse?

It was screened on September 24, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.

What can SendRaven do in Muse?

It exposes 40 tools, including send_email, list_emails, get_email, cancel_scheduled_email. For example, you could ask Muse: "Send a welcome email to a new customer and enroll them in a three-step onboarding sequence."

Follow SendRaven

Tell me if SendRaven goes down, comes back, or changes its tools
One email per change. You confirm first, and every email has a link to stop.
Made this app? Claim it or get a status badge

Is this yours?

This listing was added from public sources (Found in the official MCP Registry (ai.sendraven/mcp)). If you build SendRaven, claim it to correct the details and get your badge.

Claim this listing

SendRaven status badge

Paste this on your site or README. It always shows the latest check.

<a href="https://musedirectory.ai/connector/sendraven"><img src="https://musedirectory.ai/badge/sendraven.svg" alt="SendRaven on musedirectory.ai" width="236" height="40"></a>

More for app makers