Skip to content

Mailrith Email Marketing

by mailrith.com · remote · local (npm) · no sign-in to list tools · v1.1.1 · published by com.mailrith

Manage Subscribers, Broadcasts, Sequences, Automations, and reporting in Mailrith.

Deletes · 20Final · 5Changes · 7

55 tools: 20 can delete or cancel things, 5 do something that can't be undone, 7 change things and 23 only read.

Scanned Oct 21, 2026

7 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http mailrith https://api.mailrith.com/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn3 info
  • The server marks "broadcasts_list" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_list" says "broadcast": a word for sending, and what is sent cannot be taken back.

    What this check looks for
  • The server marks "broadcasts_get" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_get" says "broadcast": a word for sending, and what is sent cannot be taken back.

    What this check looks for
  • The server marks "broadcasts_preflight" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_preflight" says "broadcast": a word for sending, and what is sent cannot be taken back.

    What this check looks for
  • The server marks "broadcasts_get_send_progress" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_get_send_progress" says "broadcast": a word for sending, and what is sent cannot be taken back.

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...s available to the authenticated bearer credential. Permission: none. API reference: https..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...for Broadcasts and Sequences. Provider credentials and configuration are never returned. P..."

    What this check looks for
Show 1 more finding

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

55 tools

Deletes or cancels 20Claude Code: deny
  • automations_send_testSends up to five selected saved Automation email steps to one explicit test address.No findings

    Why it is in this group

    • The name "automations_send_test" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Send automation test messages
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • automations_updateUpdates an existing draft or paused Automation.No findings

    Why it is in this group

    • The name "automations_update" says "update": a word for a change.
    • The description says "cannot be restored".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update an automation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • automations_update_statusStarts, pauses, or returns one Automation to draft without changing its definition.No findings

    Why it is in this group

    • The name "automations_update_status" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Change an automation status
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • broadcasts_cancelRequests cancellation for delivery work that has not reached the provider.No findings

    Why it is in this group

    • The name "broadcasts_cancel" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Cancel a broadcast send
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • broadcasts_scheduleSchedules a draft for future delivery, or changes the delivery time of an existing scheduled Broadcast.No findings

    Why it is in this group

    • The name "broadcasts_schedule" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Schedule or reschedule a broadcast
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • broadcasts_sendImmediately creates durable preparation for a broadcast draft or scheduled send.No findings

    Why it is in this group

    • The name "broadcasts_send" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Send a broadcast now
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • broadcasts_send_testSends a test message from an existing Broadcast that has an email delivery connection.No findings

    Why it is in this group

    • The name "broadcasts_send_test" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Sends a test message from an existing Broadcast that has an email delivery connection. 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.

    Annotations the server declares

    • title: Send a broadcast test email
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • broadcasts_unscheduleReturns a scheduled Broadcast to draft state before delivery starts.No findings

    Why it is in this group

    • The name "broadcasts_unschedule" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Unschedule a broadcast
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • broadcasts_updateUpdates an existing Broadcast draft.No findings

    Why it is in this group

    • The name "broadcasts_update" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The description says "cannot be restored".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update a broadcast
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • email_templates_updateUpdates the content or enabled state of an existing email template.No findings

    Why it is in this group

    • The name "email_templates_update" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update an email template
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • sequences_send_testSends up to five selected saved Sequence emails to one explicit test address.No findings

    Why it is in this group

    • The name "sequences_send_test" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Send sequence test messages
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • sequences_updateUpdates an existing paused Sequence.No findings

    Why it is in this group

    • The name "sequences_update" says "update": a word for a change.
    • The description says "cannot be restored".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update a sequence
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • sequences_update_statusStarts or pauses one Sequence without changing its content or delivery settings.No findings

    Why it is in this group

    • The name "sequences_update_status" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Activate or pause a sequence
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • subscribers_add_tagAdds the selected Tag to a Subscriber.No findings

    Why it is in this group

    • The name "subscribers_add_tag" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Add a Tag to a Subscriber
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • subscribers_add_to_sequenceAdds the selected subscriber to the selected sequence.No findings

    Why it is in this group

    • The name "subscribers_add_to_sequence" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Add a subscriber to a sequence
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • subscribers_remove_from_sequenceRemoves the selected subscriber from the selected sequence.No findings

    Why it is in this group

    • The name "subscribers_remove_from_sequence" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Remove a subscriber from a sequence
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • subscribers_remove_tagRemoves the selected tag from a subscriber.No findings

    Why it is in this group

    • The name "subscribers_remove_tag" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Remove a tag from a subscriber
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • subscribers_updateUpdates profile fields, status, custom fields, tags, or sequence assignments for one subscriber.No findings

    Why it is in this group

    • The name "subscribers_update" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update a subscriber
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • subscribers_update_statusChanges the delivery status for one Subscriber without changing profile, targeting, or Sequence enrollment fields.No findings

    Why it is in this group

    • The name "subscribers_update_status" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Change Subscriber sending eligibility
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • subscribers_upsertCreates a new subscriber when the email does not exist in the workspace.No findings

    Why it is in this group

    • The name "subscribers_upsert" says "upsert": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create or upsert a subscriber
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
Can't be undone 5Claude Code: ask
  • broadcasts_createCreates a broadcast draft in the authenticated workspace.No findings

    Why it is in this group

    • The name "broadcasts_create" says "broadcast": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a broadcast
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • broadcasts_getReturns a broadcast draft, scheduled send, active send, or completed send.1 finding

    Why it is in this group

    • The name "broadcasts_get" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "broadcasts_get" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_get" says "broadcast": a word for sending, and what is sent cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Returns a broadcast draft, scheduled send, active send, or completed send. Permission: broadcasts:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get a broadcast
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • broadcasts_get_send_progressReturns bounded delivery progress, current rates, timing, outcome counts, and pause state.1 finding

    Why it is in this group

    • The name "broadcasts_get_send_progress" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "broadcasts_get_send_progress" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_get_send_progress" says "broadcast": a word for sending, and what is sent cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get broadcast send progress
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • broadcasts_listReturns broadcast drafts, scheduled sends, active sends, and completed sends.1 finding

    Why it is in this group

    • The name "broadcasts_list" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "broadcasts_list" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_list" says "broadcast": a word for sending, and what is sent cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List broadcasts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • broadcasts_preflightOptionally checks the current Subscriber estimate, provider capacity, sender setup, event tracking, and blocking issues.1 finding

    Why it is in this group

    • The name "broadcasts_preflight" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "broadcasts_preflight" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "broadcasts_preflight" says "broadcast": a word for sending, and what is sent cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Inspect broadcast readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 7Claude Code: ask
  • analytics_create_reportRuns from compact rollups.No findings

    Why it is in this group

    • The name "analytics_create_report" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create or reuse an analytics report
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • automations_createCreates an automation in the authenticated workspace.No findings

    Why it is in this group

    • The name "automations_create" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create an automation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • automations_preflightChecks the saved Automation definition and email delivery prerequisite without running any action.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks the saved Automation definition and email delivery prerequisite without running any action. Permission: automations:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Check automation readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • email_templates_createCreates a reusable email template scoped to the authenticated workspace.No findings

    Why it is in this group

    • The name "email_templates_create" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create an email template
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • sequences_createCreates a sequence in the authenticated workspace.No findings

    Why it is in this group

    • The name "sequences_create" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a sequence
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • sequences_preflightChecks the saved Sequence, its published emails, and its email delivery connection without changing data or sending email.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks the saved Sequence, its published emails, and its email delivery connection without changing data or sending email. Permission: sequences:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Check sequence readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • tags_createCreates a new tag in the authenticated workspace.No findings

    Why it is in this group

    • The name "tags_create" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a tag
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 23Claude Code: allow
  • analytics_get_reportReturns one unexpired bounded analytics report by identifier.No findings

    Why it is in this group

    • The name "analytics_get_report" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get an analytics report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • automations_getReturns one automation from the authenticated workspace.No findings

    Why it is in this group

    • The name "automations_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns one automation from the authenticated workspace. Permission: automations:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get an automation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • automations_listReturns automations in the authenticated workspace.No findings

    Why it is in this group

    • The name "automations_list" says "list": a word for reading.
    Description, as the server wrote it
    Returns automations in the authenticated workspace. Permission: automations:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: List automations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • automations_preview_journeyShows the bounded path a selected Subscriber would take through the current saved conditions without running actions or writing history.No findings

    Why it is in this group

    • The name "automations_preview_journey" says "preview": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Preview an automation journey
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • custom_fields_getReturns one custom field from the authenticated workspace, including its exact ready-to-use email personalization token.No findings

    Why it is in this group

    • The name "custom_fields_get" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get a custom field
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • custom_fields_listReturns a bounded page of custom fields in the authenticated workspace, including each field's exact ready-to-use email personalization token.No findings

    Why it is in this group

    • The name "custom_fields_list" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List custom fields
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • discovery_get_capabilitiesReturns the current workspace context, discovery URLs, shared request conventions, supported webhook events, and public resource operations available to the authenticated bearer cr…1 finding

    Why it is in this group

    • The name "discovery_get_capabilities" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...s available to the authenticated bearer credential. Permission: none. API reference: https..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get authenticated API capabilities
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • email_templates_getReturns a reusable email template linked to the authenticated workspace.No findings

    Why it is in this group

    • The name "email_templates_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns a reusable email template linked to the authenticated workspace. Permission: email_templates:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get an email template
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • email_templates_listReturns reusable email templates linked to the authenticated workspace.No findings

    Why it is in this group

    • The name "email_templates_list" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List email templates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • email_templates_previewRenders one template using a saved Subscriber's name, email, and custom fields without sending or saving anything.No findings

    Why it is in this group

    • The name "email_templates_preview" says "preview": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Preview an email template for a Subscriber
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • segments_getReturns one saved segment from the authenticated workspace.No findings

    Why it is in this group

    • The name "segments_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns one saved segment from the authenticated workspace. Permission: segments:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get a segment
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • segments_listReturns saved segments from the authenticated workspace.No findings

    Why it is in this group

    • The name "segments_list" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List segments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • segments_previewReturns subscriber counts for an unsaved segment definition.No findings

    Why it is in this group

    • The name "segments_preview" says "preview": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Preview a segment definition
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sender_identities_getReturns one enabled sender name, address, and provider type by stable identifier.1 finding

    Why it is in this group

    • The name "sender_identities_get" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...der type by stable identifier. Provider credentials and configuration are never returned. P..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get a sender identity
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sender_identities_listReturns a bounded page of enabled sender names, addresses, and provider types that can be selected for Broadcasts and Sequences.1 finding

    Why it is in this group

    • The name "sender_identities_list" says "list": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...for Broadcasts and Sequences. Provider credentials and configuration are never returned. P..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List sender identities
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sequences_getReturns one sequence from the authenticated workspace.No findings

    Why it is in this group

    • The name "sequences_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns one sequence from the authenticated workspace. Permission: sequences:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get a sequence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sequences_listReturns sequences in the authenticated workspace.No findings

    Why it is in this group

    • The name "sequences_list" says "list": a word for reading.
    Description, as the server wrote it
    Returns sequences in the authenticated workspace. Permission: sequences:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: List sequences
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sequences_preview_journeyReturns the bounded saved email timeline and shows which messages a selected Subscriber is eligible to receive, without enrolling the Subscriber or sending email.No findings

    Why it is in this group

    • The name "sequences_preview_journey" says "preview": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Preview a sequence journey
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • subscribers_getReturns one Subscriber by its stable identifier from the authenticated workspace.No findings

    Why it is in this group

    • The name "subscribers_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns one Subscriber by its stable identifier from the authenticated workspace. Permission: subscribers:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get a subscriber
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • subscribers_listReturns subscribers in the authenticated workspace, sorted from newest to oldest.No findings

    Why it is in this group

    • The name "subscribers_list" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List subscribers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • tags_getReturns one Tag from the authenticated workspace.No findings

    Why it is in this group

    • The name "tags_get" says "get": a word for reading.
    Description, as the server wrote it
    Returns one Tag from the authenticated workspace. Permission: tags:read. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: Get a tag
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • tags_listReturns tags in the authenticated workspace.No findings

    Why it is in this group

    • The name "tags_list" says "list": a word for reading.
    Description, as the server wrote it
    Returns tags in the authenticated workspace. Permission: tags:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.

    Annotations the server declares

    • title: List tags
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • workspace_getReturns the authenticated workspace profile and mailing context used by broadcasts, sequences, automations, forms, and magic links.No findings

    Why it is in this group

    • The name "workspace_get" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get the current workspace
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http mailrith https://api.mailrith.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mailrith__discovery_get_capabilities",
      "mcp__mailrith__workspace_get",
      "mcp__mailrith__sender_identities_list",
      "mcp__mailrith__sender_identities_get",
      "mcp__mailrith__analytics_get_report",
      "mcp__mailrith__subscribers_list",
      "mcp__mailrith__subscribers_get",
      "mcp__mailrith__tags_list",
      "mcp__mailrith__tags_get",
      "mcp__mailrith__custom_fields_list",
      "mcp__mailrith__custom_fields_get",
      "mcp__mailrith__segments_list",
      "mcp__mailrith__segments_get",
      "mcp__mailrith__segments_preview",
      "mcp__mailrith__sequences_list",
      "mcp__mailrith__sequences_get",
      "mcp__mailrith__sequences_preview_journey",
      "mcp__mailrith__automations_list",
      "mcp__mailrith__automations_get",
      "mcp__mailrith__automations_preview_journey",
      "mcp__mailrith__email_templates_list",
      "mcp__mailrith__email_templates_get",
      "mcp__mailrith__email_templates_preview"
    ],
    "ask": [
      "mcp__mailrith__analytics_create_report",
      "mcp__mailrith__tags_create",
      "mcp__mailrith__broadcasts_list",
      "mcp__mailrith__broadcasts_create",
      "mcp__mailrith__broadcasts_get",
      "mcp__mailrith__broadcasts_preflight",
      "mcp__mailrith__broadcasts_get_send_progress",
      "mcp__mailrith__sequences_create",
      "mcp__mailrith__sequences_preflight",
      "mcp__mailrith__automations_create",
      "mcp__mailrith__automations_preflight",
      "mcp__mailrith__email_templates_create"
    ],
    "deny": [
      "mcp__mailrith__subscribers_upsert",
      "mcp__mailrith__subscribers_update",
      "mcp__mailrith__subscribers_update_status",
      "mcp__mailrith__subscribers_add_tag",
      "mcp__mailrith__subscribers_remove_tag",
      "mcp__mailrith__subscribers_add_to_sequence",
      "mcp__mailrith__subscribers_remove_from_sequence",
      "mcp__mailrith__broadcasts_update",
      "mcp__mailrith__broadcasts_send_test",
      "mcp__mailrith__broadcasts_schedule",
      "mcp__mailrith__broadcasts_unschedule",
      "mcp__mailrith__broadcasts_send",
      "mcp__mailrith__broadcasts_cancel",
      "mcp__mailrith__sequences_update",
      "mcp__mailrith__sequences_send_test",
      "mcp__mailrith__sequences_update_status",
      "mcp__mailrith__automations_update",
      "mcp__mailrith__automations_send_test",
      "mcp__mailrith__automations_update_status",
      "mcp__mailrith__email_templates_update"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mailrith. Review it before you use it.