Moosend MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Inspect Moosend lists, subscribers, segments and campaign stats, and add or unsubscribe subscribers.
20 tools: 5 can delete or cancel things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels5Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads15Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http moosend https://moosend.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
20 tools
Deletes or cancels 5Claude Code: deny
moosend_add_subscriberWRITE: add one subscriber to a mailing list.No findings
Why it is in this group
- The name "moosend_add_subscriber" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add one subscriber to a mailing list. If the email already exists in the list, that subscriber is UPDATED instead (and custom fields you omit are cleared). A previously unsubscribed address is re-subscribed. Rate limit 10 calls / 10 s. Moosend: POST /subscribers/{MailingListID}/subscribe.json.
Annotations the server declares
- title: Add or update a subscriber
- destructiveHint: true
moosend_create_draft_campaignWRITE: create a regular (non-A/B) DRAFT campaign.No findings
Why it is in this group
- The name "moosend_create_draft_campaign" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a regular (non-A/B) DRAFT campaign. It is NOT sent — sending stays a human action in Moosend. Give the content as html_content or a web_location URL. sender_email and reply_to_email must be senders in the account (see moosend_list_senders). Returns the new campaign's ID. Moosend: POST /campaigns/create.json.
Annotations the server declares
- title: Create a draft campaign
- destructiveHint: true
moosend_create_mailing_listWRITE: create a new, empty mailing list.No findings
Why it is in this group
- The name "moosend_create_mailing_list" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a new, empty mailing list. Returns the new list's ID. Moosend: POST /lists/create.json.
Annotations the server declares
- title: Create a mailing list
- destructiveHint: true
moosend_unsubscribe_subscriberWRITE: unsubscribe one email address from one mailing list (not account-wide).No findings
Why it is in this group
- The name "moosend_unsubscribe_subscriber" says "unsubscribe": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: unsubscribe one email address from one mailing list (not account-wide). Undo by adding the subscriber again with moosend_add_subscriber. Moosend: POST /subscribers/{MailingListID}/unsubscribe.json.
Annotations the server declares
- title: Unsubscribe from a list
- destructiveHint: true
moosend_update_subscriberWRITE: update one subscriber (by ID) in a mailing list — email, name, custom fields, tags, preferences.No findings
Why it is in this group
- The name "moosend_update_subscriber" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: update one subscriber (by ID) in a mailing list — email, name, custom fields, tags, preferences. Include every custom field you want to keep. Moosend: POST /subscribers/{MailingListID}/update/{SubscriberID}.json.
Annotations the server declares
- title: Update a subscriber
- destructiveHint: true
Only reads 15Claude Code: allow
moosend_get_campaignGet one campaign's details: subject, sender and reply-to, HTML and plain content, target lists/segments, schedule, status and A/B data.No findings
Why it is in this group
- The name "moosend_get_campaign" says "get": a word for reading.
Description, as the server wrote it Get one campaign's details: subject, sender and reply-to, HTML and plain content, target lists/segments, schedule, status and A/B data. No statistics (use moosend_get_campaign_summary). Moosend: GET /campaigns/{CampaignID}/view.json.
Annotations the server declares
- title: Get campaign details
- readOnlyHint: true
moosend_get_campaign_activityPer-recipient activity for a campaign by type: Sent, Opened, LinkClicked, Unsubscribed, Bounced, Complained, or Activity (all).No findings
Why it is in this group
- The name "moosend_get_campaign_activity" says "get": a word for reading.
Description, as the server wrote it Per-recipient activity for a campaign by type: Sent, Opened, LinkClicked, Unsubscribed, Bounced, Complained, or Activity (all). Paged (default 50, max 1000) and filterable by date. NOTE: Moosend rate-limits this endpoint to 2 calls per 60 seconds per API key. Moosend: GET /campaigns/{CampaignID}/stats/{Type}.json.
Annotations the server declares
- title: Get campaign recipient activity
- readOnlyHint: true
moosend_get_campaign_activity_by_locationA campaign's total and unique opens broken down by country code.No findings
Why it is in this group
- The name "moosend_get_campaign_activity_by_location" says "get": a word for reading.
Description, as the server wrote it A campaign's total and unique opens broken down by country code. Moosend: GET /campaigns/{CampaignID}/stats/countries.json.
Annotations the server declares
- title: Get campaign opens by country
- readOnlyHint: true
moosend_get_campaign_link_activityList every link in a campaign with its total and unique click counts.No findings
Why it is in this group
- The name "moosend_get_campaign_link_activity" says "get": a word for reading.
Description, as the server wrote it List every link in a campaign with its total and unique click counts. Moosend: GET /campaigns/{CampaignID}/stats/links.json.
Annotations the server declares
- title: Get campaign link clicks
- readOnlyHint: true
moosend_get_campaign_summaryGet a sent campaign's results to date: sent, total/unique opens, total/unique link clicks, bounces, complaints, forwards and unsubscribes.No findings
Why it is in this group
- The name "moosend_get_campaign_summary" says "get": a word for reading.
Description, as the server wrote it Get a sent campaign's results to date: sent, total/unique opens, total/unique link clicks, bounces, complaints, forwards and unsubscribes. Moosend: GET /campaigns/{CampaignID}/view_summary.json.
Annotations the server declares
- title: Get campaign summary
- readOnlyHint: true
moosend_get_mailing_listGet one mailing list: name, member counts, status, custom field definitions (id, name, type, required), preferences and the latest import operation.No findings
Why it is in this group
- The name "moosend_get_mailing_list" says "get": a word for reading.
Description, as the server wrote it Get one mailing list: name, member counts, status, custom field definitions (id, name, type, required), preferences and the latest import operation. Moosend: GET /lists/{MailingListID}/details.json.
Annotations the server declares
- title: Get mailing list details
- readOnlyHint: true
moosend_get_segmentGet one segment's details and criteria (not its members).No findings
Why it is in this group
- The name "moosend_get_segment" says "get": a word for reading.
Description, as the server wrote it Get one segment's details and criteria (not its members). Moosend: GET /lists/{MailingListID}/segments/{SegmentID}/details.json.
Annotations the server declares
- title: Get segment details
- readOnlyHint: true
moosend_get_subscriberGet one subscriber in a mailing list by subscriber ID.No findings
Why it is in this group
- The name "moosend_get_subscriber" says "get": a word for reading.
Description, as the server wrote it Get one subscriber in a mailing list by subscriber ID. Moosend: GET /subscribers/{MailingListID}/find/{SubscriberID}.json.
Annotations the server declares
- title: Get subscriber by ID
- readOnlyHint: true
moosend_get_subscriber_by_emailLook up a subscriber in one mailing list by email address: ID, name, status (SubscribeType 1 subscribed, 2 unsubscribed, 3 bounced, 4 removed), custom fields, tags and preferences.No findings
Why it is in this group
- The name "moosend_get_subscriber_by_email" says "get": a word for reading.
Description, as the server wrote it Look up a subscriber in one mailing list by email address: ID, name, status (SubscribeType 1 subscribed, 2 unsubscribed, 3 bounced, 4 removed), custom fields, tags and preferences. Moosend: GET /subscribers/{MailingListID}/view.json?Email=.
Annotations the server declares
- title: Find subscriber by email
- readOnlyHint: true
moosend_list_campaignsList campaigns with status (0 draft, 1 queued, 3 sent, 5 awaiting delivery, 6 sending, ...), delivery/schedule dates, target lists and headline stats (sent, opens, clicks, bounces,…No findings
Why it is in this group
- The name "moosend_list_campaigns" says "list": a word for reading.
Description, as the server wrote it List campaigns with status (0 draft, 1 queued, 3 sent, 5 awaiting delivery, 6 sending, ...), delivery/schedule dates, target lists and headline stats (sent, opens, clicks, bounces, unsubscribes, complaints). Paged, up to 1000 per page. Moosend: GET /campaigns/{Page}/{PageSize}.json.
Annotations the server declares
- title: List campaigns
- readOnlyHint: true
moosend_list_mailing_listsList the active email (mailing) lists in the account with member counts (active, bounced, removed, unsubscribed), custom field definitions and preferences, plus paging info.No findings
Why it is in this group
- The name "moosend_list_mailing_lists" says "list": a word for reading.
Description, as the server wrote it List the active email (mailing) lists in the account with member counts (active, bounced, removed, unsubscribed), custom field definitions and preferences, plus paging info. A cheap way to confirm the API key works and to find list IDs. Moosend: GET /lists/{Page}/{PageSize}.json.
Annotations the server declares
- title: List mailing lists
- readOnlyHint: true
moosend_list_segment_subscribersList the subscribers that currently match one segment's criteria.No findings
Why it is in this group
- The name "moosend_list_segment_subscribers" says "list": a word for reading.
Description, as the server wrote it List the subscribers that currently match one segment's criteria. Moosend: GET /lists/{MailingListID}/segments/{SegmentID}/members.json.
Annotations the server declares
- title: List segment subscribers
- readOnlyHint: true
moosend_list_segmentsList the segments of one mailing list, including their criteria, match type (0 all / 1 any) and a readable description.No findings
Why it is in this group
- The name "moosend_list_segments" says "list": a word for reading.
Description, as the server wrote it List the segments of one mailing list, including their criteria, match type (0 all / 1 any) and a readable description. Moosend: GET /lists/{MailingListID}/segments.json.
Annotations the server declares
- title: List segments of a list
- readOnlyHint: true
moosend_list_sendersList the account's campaign senders (name, email, enabled, SPF/DKIM verification).No findings
Why it is in this group
- The name "moosend_list_senders" says "list": a word for reading.
Description, as the server wrote it List the account's campaign senders (name, email, enabled, SPF/DKIM verification). A draft campaign's sender and reply-to must be one of these. Moosend: GET /senders/find_all.json.
Annotations the server declares
- title: List campaign senders
- readOnlyHint: true
moosend_list_subscribersList the subscribers of one mailing list filtered by status (Subscribed, Unsubscribed, Bounced or Removed), with name, email, custom fields, tags, preferences and dates.No findings
Why it is in this group
- The name "moosend_list_subscribers" says "list": a word for reading.
Description, as the server wrote it List the subscribers of one mailing list filtered by status (Subscribed, Unsubscribed, Bounced or Removed), with name, email, custom fields, tags, preferences and dates. Paged. Moosend: GET /lists/{MailingListID}/subscribers/{Status}.json.
Annotations the server declares
- title: List subscribers in a list
- readOnlyHint: true
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.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http moosend https://moosend.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__moosend__moosend_list_mailing_lists",
"mcp__moosend__moosend_get_mailing_list",
"mcp__moosend__moosend_list_subscribers",
"mcp__moosend__moosend_get_subscriber_by_email",
"mcp__moosend__moosend_get_subscriber",
"mcp__moosend__moosend_list_segments",
"mcp__moosend__moosend_get_segment",
"mcp__moosend__moosend_list_segment_subscribers",
"mcp__moosend__moosend_list_campaigns",
"mcp__moosend__moosend_get_campaign",
"mcp__moosend__moosend_get_campaign_summary",
"mcp__moosend__moosend_get_campaign_activity",
"mcp__moosend__moosend_get_campaign_link_activity",
"mcp__moosend__moosend_get_campaign_activity_by_location",
"mcp__moosend__moosend_list_senders"
],
"ask": [],
"deny": [
"mcp__moosend__moosend_create_mailing_list",
"mcp__moosend__moosend_add_subscriber",
"mcp__moosend__moosend_update_subscriber",
"mcp__moosend__moosend_unsubscribe_subscriber",
"mcp__moosend__moosend_create_draft_campaign"
]
}
}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 moosend. Review it before you use it.