Mailrith Email Marketing
Server Details
Manage Subscribers, Broadcasts, Sequences, Automations, and reporting in Mailrith.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- anrawool/mailrith-agent-platform
- GitHub Stars
- 0
- Server Listing
- Mailrith MCP Server
- ChatGPT
- –
- Claude
- Mailrith
TDQS
Scored across 55 tools
Each resource family is cleanly partitioned (broadcasts, sequences, automations, subscribers, templates) and action verbs within a family are well differentiated (send vs schedule vs send_test vs cancel; preflight vs preview_journey). The one real overlap is that subscribers_update can also change status, tags, and sequence assignments, duplicating subscribers_update_status, subscribers_add_tag/remove_tag, and subscribers_add_to_sequence/remove_from_sequence, so an agent may hesitate between the compound update and the convenience tools.
All names are snake_case and follow a resource-first pattern (broadcasts_send, automations_preflight, subscribers_upsert), which makes them predictable and scannable. Minor deviation: some names insert an extra object noun (analytics_create_report, analytics_get_report, discovery_get_capabilities, subscribers_add_to_sequence), so the pattern is resource_action vs resource_action_object rather than perfectly uniform.
55 tools is heavy for any single server, but the surface spans roughly a dozen genuinely distinct resource families, and each tool maps to a real operation rather than being filler. It sits at the borderline where the breadth justifies the count but the enumeration cost and selection surface are large enough to burden an agent.
Conversational/operational lifecycles are strong for broadcasts, sequences, automations, and subscribers (create, get, list, update, status changes, send, schedule, cancel, test, preview). However, segments and custom fields are read-only (no create/update/delete), no resource exposes a delete/archive operation, and forms/landing pages are referenced in descriptions but have no tools, leaving an agent blocked on several common tasks.
Available Tools
55 toolsanalytics_create_reportCreate or reuse an analytics reportAInspect
Runs from compact rollups. Ranges through 31 days complete inline; longer ranges are queued. Results expire after 24 hours and never exceed 100 rows. Effect: workspace-change. Retry with the same idempotency_key. Permission: analytics:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
analytics_get_reportGet an analytics reportARead-onlyIdempotentInspect
Returns one unexpired bounded analytics report by identifier. Permission: analytics:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: report_id (required), limit, starting_after. Returns: error, response, request_id, operation_id
automations_createCreate an automationAInspect
Creates an automation in the authenticated workspace. Effect: workspace-change. Retry with the same idempotency_key. Permission: automations:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
automations_getGet an automationARead-onlyIdempotentInspect
Returns one automation from the authenticated workspace. Permission: automations:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: automation_id (required). Returns: error, response, request_id, operation_id
automations_listList automationsARead-onlyIdempotentInspect
Returns automations in the authenticated workspace. Permission: automations:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
automations_preflightCheck automation readinessARead-onlyIdempotentInspect
Checks the saved Automation definition and email delivery prerequisite without running any action. Permission: automations:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: automation_id (required). Returns: error, response, request_id, operation_id
automations_preview_journeyPreview an automation journeyARead-onlyIdempotentInspect
Shows the bounded path a selected Subscriber would take through the current saved conditions without running actions or writing history. Permissions: subscribers:read, automations:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: automation_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
automations_send_testSend automation test messagesADestructiveInspect
Sends up to five selected saved Automation email steps to one explicit test address. This does not start the Automation or run other actions. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, subscribers:read, automations:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), automation_id (required), idempotency_key. Returns: error, response, request_id, operation_id
automations_updateUpdate an automationADestructiveIdempotentInspect
Updates an existing draft or paused Automation. Before changing a running Automation, read it by ID, retain its status in the current task only, pause it, apply the update, and use bounded direct item reads until is_updating is false. Run preflight, return it to running only if it was running before and preflight passes, and verify the final status. If the update fails before changing the Automation, restore its prior running status when preflight passes. If readiness or the prior status cannot be restored, leave it paused and immediately report the failure; never activate an Automation that was not already running. Effect: workspace-change. Retry after reading the current resource state. Permission: automations:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), automation_id (required). Returns: error, response, request_id, operation_id
automations_update_statusChange an automation statusADestructiveIdempotentInspect
Starts, pauses, or returns one Automation to draft without changing its definition. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, automations:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), automation_id (required). Returns: error, response, request_id, operation_id
broadcasts_cancelCancel a broadcast sendADestructiveInspect
Requests cancellation for delivery work that has not reached the provider. Provider-accepted emails cannot be recalled. Repeat the same request with the same idempotency key when the response is lost. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required), idempotency_key. Returns: error, response, request_id, operation_id
broadcasts_createCreate a broadcastAInspect
Creates a broadcast draft in the authenticated workspace. Effect: workspace-change. Retry with the same idempotency_key. Permission: broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
broadcasts_getGet a broadcastBRead-onlyIdempotentInspect
Returns a broadcast draft, scheduled send, active send, or completed send. Permission: broadcasts:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required). Returns: error, response, request_id, operation_id
broadcasts_get_send_progressGet broadcast send progressARead-onlyIdempotentInspect
Returns bounded delivery progress, current rates, timing, outcome counts, and pause state. Poll until terminal is true; use 5 to 10 second intervals while progress changes and back off to 30 seconds when unchanged. Permission: broadcasts:read. Polling: wait at least 2 seconds, use exponential backoff up to 30 seconds, stop at a terminal state, and stop after 15 minutes. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required). Returns: error, response, request_id, operation_id
broadcasts_listList broadcastsARead-onlyIdempotentInspect
Returns broadcast drafts, scheduled sends, active sends, and completed sends. Permission: broadcasts:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
broadcasts_preflightInspect broadcast readinessARead-onlyIdempotentInspect
Optionally checks the current Subscriber estimate, provider capacity, sender setup, event tracking, and blocking issues. This diagnostic is not required before starting a durable send. Permission: broadcasts:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required). Returns: error, response, request_id, operation_id
broadcasts_scheduleSchedule or reschedule a broadcastADestructiveIdempotentInspect
Schedules a draft for future delivery, or changes the delivery time of an existing scheduled Broadcast. This uses Mailrith's durable scheduled-send path and does not start delivery immediately. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), broadcast_id (required). Returns: error, response, request_id, operation_id
broadcasts_sendSend a broadcast nowADestructiveInspect
Immediately creates durable preparation for a broadcast draft or scheduled send. Mailrith calculates the exact Subscriber total and checks provider readiness in the background before delivery. A 202 response means the durable send was accepted, not that provider delivery is complete. Reuse the same idempotency key if the response is lost. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required), body, idempotency_key. Returns: error, response, request_id, operation_id
broadcasts_send_testSend a broadcast test emailADestructiveInspect
Sends a test message from an existing Broadcast that has a sender. Provide a saved Subscriber ID for personalization; use subscribers_list to find one when needed. The recipient may be any test inbox and does not have to match the saved Subscriber. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, subscribers:read, broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), broadcast_id (required), idempotency_key. Returns: error, response, request_id, operation_id
broadcasts_unscheduleUnschedule a broadcastADestructiveIdempotentInspect
Returns a scheduled Broadcast to draft state before delivery starts. Effect: workspace-change. Retry after reading the current resource state. Permissions: live_actions:write, broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: broadcast_id (required). Returns: error, response, request_id, operation_id
broadcasts_updateUpdate a broadcastADestructiveIdempotentInspect
Updates an existing Broadcast draft. Scheduled, running, completed, and failed Broadcasts cannot be changed here. Before changing a scheduled Broadcast, read it by ID and retain its scheduled_at in the current task only. If the saved time is no longer safely in the future, ask the user for a new time before unscheduling. Otherwise unschedule it, apply the update, reschedule it for the same time, and verify both status and scheduled_at. If the update fails after unscheduling, restore the unchanged Broadcast to the same future time when possible. If the schedule cannot be restored, leave it as a Draft and immediately report that it will not send; never choose a replacement time without the user. Effect: workspace-change. Retry after reading the current resource state. Permission: broadcasts:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), broadcast_id (required). Returns: error, response, request_id, operation_id
custom_fields_getGet a custom fieldARead-onlyIdempotentInspect
Returns one custom field from the authenticated workspace, including its exact ready-to-use email personalization token. Permission: custom_fields:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: custom_field_id (required). Returns: error, response, request_id, operation_id
custom_fields_listList custom fieldsARead-onlyIdempotentInspect
Returns a bounded page of custom fields in the authenticated workspace, including each field's exact ready-to-use email personalization token. Permission: custom_fields:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
discovery_get_capabilitiesGet authenticated API capabilitiesARead-onlyIdempotentInspect
Returns the current workspace context, discovery URLs, shared request conventions, supported webhook events, and public resource operations available to the authenticated bearer credential. Permission: none. API reference: https://mailrith.com/developers/api-reference.
Inputs: no named parameters. Returns: error, response, request_id, operation_id
email_templates_createCreate an email templateAInspect
Creates a reusable email template scoped to the authenticated workspace. Effect: workspace-change. Retry with the same idempotency_key. Permission: email_templates:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
email_templates_getGet an email templateARead-onlyIdempotentInspect
Returns a reusable email template linked to the authenticated workspace. Permission: email_templates:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: template_id (required). Returns: error, response, request_id, operation_id
email_templates_listList email templatesARead-onlyIdempotentInspect
Returns reusable email templates linked to the authenticated workspace. Permission: email_templates:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
email_templates_previewPreview an email template for a SubscriberARead-onlyIdempotentInspect
Renders one template using a saved Subscriber's name, email, and custom fields without sending or saving anything. Permissions: subscribers:read, email_templates:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), template_id (required). Returns: error, response, request_id, operation_id
email_templates_updateUpdate an email templateADestructiveIdempotentInspect
Updates the content or enabled state of an existing email template. Effect: workspace-change. Retry after reading the current resource state. Permission: email_templates:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), template_id (required). Returns: error, response, request_id, operation_id
segments_getGet a segmentARead-onlyIdempotentInspect
Returns one saved segment from the authenticated workspace. Permission: segments:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: segment_id (required). Returns: error, response, request_id, operation_id
segments_listList segmentsARead-onlyIdempotentInspect
Returns saved segments from the authenticated workspace. Permission: segments:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
segments_previewPreview a segment definitionARead-onlyIdempotentInspect
Returns subscriber counts for an unsaved segment definition. Include current_segment_id when previewing edits to an existing segment so circular segment references are rejected before saving. Permission: segments:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required). Returns: error, response, request_id, operation_id
sender_identities_getGet a sender identityARead-onlyIdempotentInspect
Returns one enabled sender name, address, and provider type by stable identifier. Provider credentials and configuration are never returned. Permission: workspace:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: sender_identity_id (required). Returns: error, response, request_id, operation_id
sender_identities_listList sender identitiesARead-onlyIdempotentInspect
Returns a bounded page of enabled sender names, addresses, and provider types that can be selected for Broadcasts and Sequences. Provider credentials and configuration are never returned. Permission: workspace:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, starting_after. Returns: error, response, request_id, operation_id
sequences_createCreate a sequenceAInspect
Creates a sequence in the authenticated workspace. Effect: workspace-change. Retry with the same idempotency_key. Permission: sequences:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
sequences_getGet a sequenceARead-onlyIdempotentInspect
Returns one sequence from the authenticated workspace. Permission: sequences:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: sequence_id (required). Returns: error, response, request_id, operation_id
sequences_listList sequencesARead-onlyIdempotentInspect
Returns sequences in the authenticated workspace. Permission: sequences:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
sequences_preflightCheck sequence readinessARead-onlyIdempotentInspect
Checks the saved Sequence, its published emails, and its sender without changing data or sending email. Permission: sequences:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: sequence_id (required). Returns: error, response, request_id, operation_id
sequences_preview_journeyPreview a sequence journeyARead-onlyIdempotentInspect
Returns the bounded saved email timeline and shows which messages a selected Subscriber is eligible to receive, without enrolling the Subscriber or sending email. Permissions: subscribers:read, sequences:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: sequence_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
sequences_send_testSend sequence test messagesADestructiveInspect
Sends up to five selected saved Sequence emails to one explicit test address. This does not enroll a Subscriber, start the Sequence, or write delivery activity. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, subscribers:read, sequences:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), sequence_id (required), idempotency_key. Returns: error, response, request_id, operation_id
sequences_updateUpdate a sequenceADestructiveIdempotentInspect
Updates an existing paused Sequence. Before changing a running Sequence, read it by ID, retain its status in the current task only, pause it, apply the update, and use bounded direct item reads until is_updating is false. Run preflight, return it to running only if it was running before and preflight passes, and verify the final status. If the update fails before changing the Sequence, restore its prior running status when preflight passes. If readiness or the prior status cannot be restored, leave it paused and immediately report the failure; never activate a Sequence that was not already running. Effect: workspace-change. Retry after reading the current resource state. Permission: sequences:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), sequence_id (required). Returns: error, response, request_id, operation_id
sequences_update_statusActivate or pause a sequenceADestructiveIdempotentInspect
Starts or pauses one Sequence without changing its content or delivery settings. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, sequences:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), sequence_id (required). Returns: error, response, request_id, operation_id
subscribers_add_tagAdd a Tag to a SubscriberADestructiveIdempotentInspect
Adds the selected Tag to a Subscriber. If the Subscriber already has the Tag, the API returns the Subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: tag_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_add_to_sequenceAdd a subscriber to a sequenceADestructiveIdempotentInspect
Adds the selected subscriber to the selected sequence. If the subscriber is already in the sequence, the API returns the subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: sequence_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_getGet a subscriberARead-onlyIdempotentInspect
Returns one Subscriber by its stable identifier from the authenticated workspace. Permission: subscribers:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_listList subscribersARead-onlyIdempotentInspect
Returns subscribers in the authenticated workspace, sorted from newest to oldest. Permission: subscribers:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: email, limit, search, status, +8 more. Returns: error, response, request_id, operation_id
subscribers_remove_from_sequenceRemove a subscriber from a sequenceADestructiveIdempotentInspect
Removes the selected subscriber from the selected sequence. If the subscriber is not in the sequence, the API returns the subscriber unchanged. Effect: subscriber-change. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: sequence_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_remove_tagRemove a tag from a subscriberADestructiveIdempotentInspect
Removes the selected tag from a subscriber. If the subscriber does not have the tag, the API returns the subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: tag_id (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_updateUpdate a subscriberADestructiveIdempotentInspect
Updates profile fields, status, custom fields, tags, or sequence assignments for one subscriber. Fields omitted from the request stay unchanged. Blank optional custom field values also leave saved values unchanged, and filled-in invalid values are rejected. Effect: subscriber-change. Retry after reading the current resource state. Permission: subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_update_statusChange Subscriber sending eligibilityADestructiveIdempotentInspect
Changes the delivery status for one Subscriber without changing profile, targeting, or Sequence enrollment fields. Making a Subscriber Active requires consent_evidence; its collected_at value must include the correct UTC offset and must not be later than Mailrith's server time. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), subscriber_id (required). Returns: error, response, request_id, operation_id
subscribers_upsertCreate or upsert a subscriberADestructiveInspect
Creates a new subscriber when the email does not exist in the workspace. If the email already exists, the API updates the existing subscriber unless create_only is true. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
tags_createCreate a tagAInspect
Creates a new tag in the authenticated workspace. The GDPR consent tag names can be created and applied like other tags when you need to apply consent collected outside Mailrith. Tag-level double opt-in fields are no longer accepted; configure double opt-in on forms and landing pages instead. Effect: workspace-change. Retry with the same idempotency_key. Permission: tags:write. API reference: https://mailrith.com/developers/api-reference.
Inputs: body (required), idempotency_key. Returns: error, response, request_id, operation_id
tags_getGet a tagARead-onlyIdempotentInspect
Returns one Tag from the authenticated workspace. Permission: tags:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: tag_id (required). Returns: error, response, request_id, operation_id
tags_listList tagsARead-onlyIdempotentInspect
Returns tags in the authenticated workspace. Permission: tags:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.
Inputs: limit, search, starting_after. Returns: error, response, request_id, operation_id
workspace_getGet the current workspaceARead-onlyIdempotentInspect
Returns the authenticated workspace profile and mailing context used by broadcasts, sequences, automations, forms, and magic links. Permission: workspace:read. API reference: https://mailrith.com/developers/api-reference.
Inputs: no named parameters. Returns: error, response, request_id, operation_id
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Send email, run campaigns and automations, manage contacts and domains, fix deliverability.
Email marketing: campaigns, audiences, contacts, segments, templates and reports.
Send transactional email, run campaigns, manage contacts and automations, audit deliverability.
Send email, manage contacts, campaigns and workflows, and diagnose deliverability in Sendly.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceSendLit, the open-source email platform. Manage contacts, tags, broadcasts, sequences, templates, custom events and stats.3AGPL 3.0
Sequenzy MCP Serverofficial
AlicenseBqualityCmaintenanceEnables management of AI-powered email marketing automation, including subscriber segments, campaigns, and templates. It allows users to generate email sequences with AI and track detailed analytics through natural language commands.1001,984 npm3MIT- AlicenseBqualityCmaintenanceEnables AI agents to manage mailing lists and contacts, read campaign reports with per-link clicks, and trigger automations. Supports lookups and updates by email address, tag and status management, and destructive operations with client confirmation.13MIT

Mailzzy MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables MCP clients to manage email marketing accounts by drafting and scheduling campaigns, building audiences and segments, managing contacts, templates, and automations, sending transactional email, and retrieving performance and deliverability reports.-
Glama MCP Gateway
Add one secure layer between your agents and this server.