io.usefulapi/moosend
REMOTE · MOOSEND.USEFULAPI.IO · SCANNED OCT 3
Inspect Moosend lists, subscribers, segments and campaign stats, and add or unsubscribe subscribers.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
How do I install the io.usefulapi/moosend MCP server?
io.usefulapi/moosend is a hosted endpoint at https://moosend.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · moosend.usefulapi.io
claude mcp add --transport http io-usefulapi-moosend 'https://moosend.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-moosend": {
"url": "https://moosend.usefulapi.io/mcp"
}
}
} {
"servers": {
"io-usefulapi-moosend": {
"type": "http",
"url": "https://moosend.usefulapi.io/mcp"
}
}
} [mcp_servers.io-usefulapi-moosend] url = "https://moosend.usefulapi.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-usefulapi-moosend": {
"type": "remote",
"url": "https://moosend.usefulapi.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-usefulapi-moosend --url 'https://moosend.usefulapi.io/mcp' --transport streamable-http
mcp_servers:
io-usefulapi-moosend:
url: "https://moosend.usefulapi.io/mcp" {
"McpServers": {
"io-usefulapi-moosend": {
"Transport": "http",
"Url": "https://moosend.usefulapi.io/mcp"
}
}
} assistant mcp add io-usefulapi-moosend -t streamable-http -u 'https://moosend.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-moosend": {
"type": "http",
"url": "https://moosend.usefulapi.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Oct 26 +15
- HTTPS: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. security
- 1 Oct 26 −54
- Endpoint reachability: reachable → not serving MCP ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 30 Sept 26 +54
- Transport: unverified → pass ▲ security
- Authorization: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- First check of Authorization: partial security
- MCP protocol: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- 29 Sept 26 18
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Oct 2026 · Probed https://moosend.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of moosend.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://moosend.usefulapi.io/mcp | Verified | 200 | |
| http (plaintext) | http://moosend.usefulapi.io/mcp | HTTPS enforced | 301 | https://moosend.usefulapi.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
moosend_add_subscriber Add or update a subscriber ~241
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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_fields | object | – | Custom field values by field name, e.g. {"City":"Athens","Age":25}. Sent to Moosend as "Name=Value" pairs. WARNING: on an existing subscriber, any custom field NOT included is cleared — include every… |
| string | yes | Subscriber email address. | |
| has_external_double_opt_in | boolean | – | True if the subscriber already gave consent by other means. |
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| name | string | – | Subscriber name. |
| preferences | array | – | Preference option values chosen by the subscriber (must match the list's preference options). |
| tags | array | – | Subscriber tags. |
No output schema declared.
No examples provided.
moosend_create_draft_campaign Create a draft campaign ~257
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_to_email | string | – | Where to send the 'campaign sent' confirmation. Default: sender_email. |
| html_content | string | – | Complete HTML body of the campaign. |
| mailing_lists | array | yes | Target lists, each optionally narrowed to one segment. |
| name | string | yes | Campaign name. |
| reply_to_email | string | – | Reply-to email — must be one of the account's senders. Default: sender_email. |
| sender_email | string | yes | Sender email — must be one of the account's senders. |
| subject | string | yes | Subject line. |
| track_in_google_analytics | boolean | – | Enable Google Analytics tracking (requires GA on your site). |
| web_location | string | – | URL Moosend fetches the HTML from (CSS is inlined automatically). |
No output schema declared.
No examples provided.
moosend_create_mailing_list Create a mailing list ~104
WRITE: create a new, empty mailing list. Returns the new list's ID. Moosend: POST /lists/create.json.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_page | string | – | URL shown at the end of the subscription process. |
| name | string | yes | List name. |
| preferences | object | – | Optional preference field for the list. Omit for none. |
| redirect_after_unsubscribe_page | string | – | URL subscribers are redirected to after unsubscribing. |
No output schema declared.
No examples provided.
moosend_get_campaign Get campaign details ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (a GUID, from moosend_list_campaigns). |
No output schema declared.
No examples provided.
moosend_get_campaign_activity Get campaign recipient activity ~209
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (a GUID, from moosend_list_campaigns). |
| from | string | – | Start date, DD-MM-YYYY. Default: the send date. |
| page | integer | – | Page number, starting at 1. Default 1. |
| page_size | integer | – | Results per page, 1-1000. |
| to | string | – | End date, DD-MM-YYYY. Default: today. |
| type | string | – | Activity type. Default Sent. |
No output schema declared.
No examples provided.
moosend_get_campaign_activity_by_location Get campaign opens by country ~65
A campaign's total and unique opens broken down by country code. Moosend: GET /campaigns/{CampaignID}/stats/countries.json.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (a GUID, from moosend_list_campaigns). |
No output schema declared.
No examples provided.
moosend_get_campaign_link_activity Get campaign link clicks ~65
List every link in a campaign with its total and unique click counts. Moosend: GET /campaigns/{CampaignID}/stats/links.json.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (a GUID, from moosend_list_campaigns). |
No output schema declared.
No examples provided.
moosend_get_campaign_summary Get campaign summary ~82
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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (a GUID, from moosend_list_campaigns). |
No output schema declared.
No examples provided.
moosend_get_mailing_list Get mailing list details ~98
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.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| with_statistics | boolean | – | Include subscriber statistics. Default true. |
No output schema declared.
No examples provided.
moosend_get_segment Get segment details ~86
Get one segment's details and criteria (not its members). Moosend: GET /lists/{MailingListID}/segments/{SegmentID}/details.json.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| segment_id | – | yes | Segment ID (an integer, from moosend_list_segments). |
No output schema declared.
No examples provided.
moosend_get_subscriber Get subscriber by ID ~81
Get one subscriber in a mailing list by subscriber ID. Moosend: GET /subscribers/{MailingListID}/find/{SubscriberID}.json.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| subscriber_id | string | yes | Subscriber ID (a GUID). |
No output schema declared.
No examples provided.
moosend_get_subscriber_by_email Find subscriber by email ~112
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=.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Subscriber email address. | |
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
No output schema declared.
No examples provided.
moosend_list_campaigns List campaigns ~156
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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, starting at 1. Default 1. |
| page_size | integer | – | Results per page, 1-1000. |
| sort_by | string | – | Property to sort by. Default CreatedOn. |
| sort_method | string | – | Sort direction. Default ASC. |
No output schema declared.
No examples provided.
moosend_list_mailing_lists List mailing lists ~142
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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, starting at 1. Default 1. |
| page_size | integer | – | Results per page, 1-1000. |
| sort_by | string | – | Property to sort by. Default CreatedOn. |
| sort_method | string | – | Sort direction. Default ASC. |
No output schema declared.
No examples provided.
moosend_list_segment_subscribers List segment subscribers ~87
List the subscribers that currently match one segment's criteria. Moosend: GET /lists/{MailingListID}/segments/{SegmentID}/members.json.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| segment_id | – | yes | Segment ID (an integer, from moosend_list_segments). |
No output schema declared.
No examples provided.
moosend_list_segments List segments of a list ~78
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.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
No output schema declared.
No examples provided.
moosend_list_senders List campaign senders ~58
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
moosend_list_subscribers List subscribers in a list ~145
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.
| Name | Type | Req | Description |
|---|---|---|---|
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| page | integer | – | Page number, starting at 1. Default 1. |
| page_size | integer | – | Results per page, 1-1000. |
| status | string | – | Subscriber status to return. Default Subscribed. |
No output schema declared.
No examples provided.
moosend_unsubscribe_subscriber Unsubscribe from a list ~94
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to unsubscribe. | |
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
No output schema declared.
No examples provided.
moosend_update_subscriber Update a subscriber ~246
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.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_fields | object | – | Custom field values by field name, e.g. {"City":"Athens","Age":25}. Sent to Moosend as "Name=Value" pairs. WARNING: on an existing subscriber, any custom field NOT included is cleared — include every… |
| string | yes | The subscriber's email address (required by Moosend). | |
| has_external_double_opt_in | boolean | – | True if the subscriber already gave consent by other means. |
| mailing_list_id | string | yes | Mailing list ID (a GUID, from moosend_list_mailing_lists). |
| name | string | – | Subscriber name. |
| preferences | array | – | Preference option values chosen by the subscriber (must match the list's preference options). |
| subscriber_id | string | yes | Subscriber ID (a GUID). |
| tags | array | – | Subscriber tags. |
No output schema declared.
No examples provided.
What is the io.usefulapi/moosend MCP server?
io.usefulapi/moosend is an MCP server listed in the public MCP registry as io.usefulapi/moosend. Inspect Moosend lists, subscribers, segments and campaign stats, and add or unsubscribe subscribers. This page covers its hosted endpoint (https://moosend.usefulapi.io/mcp).
Is the io.usefulapi/moosend MCP server safe to use?
io.usefulapi/moosend scores 33 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.usefulapi/moosend MCP server expose?
io.usefulapi/moosend exposes 20 tools: moosend_list_mailing_lists, moosend_get_mailing_list, moosend_list_subscribers, moosend_get_subscriber_by_email, moosend_get_subscriber, and 15 more. Their descriptions and schemas cost roughly 2,495 tokens of context every time the server is loaded.
Does the io.usefulapi/moosend MCP server require authentication?
No. We connected to io.usefulapi/moosend without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.usefulapi/moosend MCP server still maintained?
io.usefulapi/moosend is still listed as active in the MCP registry. We last reached this channel on 3 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.