Mail Blaze MCP by usefulapi
Manage Mail Blaze lists, subscribers, templates, campaigns and reports; send transactional email.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (10)
- LOWin mailblaze_get_campaign_inbox_breakdown
- LOWin mailblaze_find_subscriber_by_email
- LOWin mailblaze_unsubscribe_subscriber
- LOWin mailblaze_resubscribe_subscriber
- LOWin mailblaze_get_campaign_summaries
- LOWin mailblaze_get_campaign_inbox_breakdown
- LOWin mailblaze_get_subscriber_activity
- LOWin mailblaze_list_transactional_emails
- LOWin mailblaze_get_transactional_email
- LOWin mailblaze_send_transactional_email
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mailblaze": {
"url": "https://mailblaze.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://mailblaze.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (26)
🟢mailblaze_list_lists(page, per_page)
List the account's mailing lists (name, uid, subscriber counts, defaults). Use the list uid in the other tools. Paged: page + per_page.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Lists per page (default set by Mail Blaze).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_list(list_uid)
Get one mailing list by its uid: general settings, default sender, company details and counts.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "List uid from mailblaze_list_lists."
}
},
"required": [
"list_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_list_fields(list_uid, page)
List the fields of a mailing list (label, tag, type, required). The tags (EMAIL, FNAME, LNAME, custom ones) are the keys used when adding or updating subscribers.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"list_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_segments(list_uid, page)
List the segments defined on a mailing list (uid, name). A segment uid can be used when creating a campaign.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"list_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_subscribers(list_uid, page)
List the subscribers of a mailing list (sets of 10 per page; use page to go on). Contains personal data (emails, names).
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"list_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_subscriber(list_uid, subscriber_uid)
Get one subscriber of a list by subscriber uid (status, fields, dates).
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"subscriber_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Subscriber uid from mailblaze_list_subscribers or mailblaze_find_subscriber_by_email."
}
},
"required": [
"list_uid",
"subscriber_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_find_subscriber_by_email(list_uid, email)
Look up a subscriber in one list by email address. Returns the subscriber (with its uid) or a not-found error.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
}
},
"required": [
"list_uid",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_add_subscriber(list_uid, email, first_name, last_name, custom_fields)
WRITE, MAY SEND A CONFIRMATION EMAIL: add one subscriber to a mailing list. Depending on the list's settings Mail Blaze may send the person a confirmation (double opt-in) email. Only add people who agreed to receive your email. An email that is already on the list answers with a conflict error.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"first_name": {
"description": "Sets the FNAME field.",
"type": "string",
"maxLength": 255
},
"last_name": {
"description": "Sets the LNAME field.",
"type": "string",
"maxLength": 255
},
"custom_fields": {
"description": "Custom field values keyed by the field's tag (see mailblaze_list_list_fields), e.g. {\"PHONE\": \"+1 555 0100\"}.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"maxLength": 1000
}
}
},
"required": [
"list_uid",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_add_subscribers_bulk(list_uid, subscribers)
WRITE, MAY SEND CONFIRMATION EMAILS: add up to 100 subscribers to a mailing list in one request; an email already on the list is updated instead. Depending on the list's settings Mail Blaze may send confirmation emails. Only add people who agreed to receive your email.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"subscribers": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"first_name": {
"type": "string",
"maxLength": 255
},
"last_name": {
"type": "string",
"maxLength": 255
},
"custom_fields": {
"description": "Custom field values keyed by the field's tag (see mailblaze_list_list_fields), e.g. {\"PHONE\": \"+1 555 0100\"}.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"maxLength": 1000
}
}
},
"required": [
"email"
]
},
"description": "1 to 100 subscribers."
}
},
"required": [
"list_uid",
"subscribers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_update_subscriber(list_uid, subscriber_uid, email, first_name, last_name, ...)
WRITE: update a subscriber's name or custom fields. Pass the subscriber's current email (Mail Blaze requires it) plus only the values to change. Does not change subscription status.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"subscriber_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$",
"description": "The subscriber's email (Mail Blaze requires it on update)."
},
"first_name": {
"type": "string",
"maxLength": 255
},
"last_name": {
"type": "string",
"maxLength": 255
},
"custom_fields": {
"description": "Custom field values keyed by the field's tag (see mailblaze_list_list_fields), e.g. {\"PHONE\": \"+1 555 0100\"}.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"maxLength": 1000
}
}
},
"required": [
"list_uid",
"subscriber_uid",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_unsubscribe_subscriber(list_uid, subscriber_uid)
WRITE: set a subscriber's status to unsubscribed so they receive no more campaigns from this list. By default Mail Blaze also adds the address to the account's local blacklist. Do this only when the person asked to stop (or a data-protection request requires it). The subscriber record is kept.
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"subscriber_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"list_uid",
"subscriber_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_resubscribe_subscriber(list_uid, subscriber_uid)
WRITE: set a previously unsubscribed subscriber back to subscribed so campaigns reach them again. Only do this when the person asked to be re-added (consent).
Eingabe-Schema
{
"type": "object",
"properties": {
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"subscriber_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"list_uid",
"subscriber_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_templates(page)
List the account's email templates (uid, name). A template uid is needed to create a campaign.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_template(template_uid)
Get one email template by uid (name and content).
Eingabe-Schema
{
"type": "object",
"properties": {
"template_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"template_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡mailblaze_create_template(name, html)
WRITE: create an email template from HTML (the tool base64-encodes it). Mail Blaze requires the HTML to contain an unsubscribe link. Sends nothing.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"html": {
"type": "string",
"minLength": 1,
"maxLength": 1000000,
"description": "The full HTML of the email, including an unsubscribe link."
}
},
"required": [
"name",
"html"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_campaigns(page)
List the account's email campaigns (uid, name, status, dates). Use the campaign uid for details and reports.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_campaign(campaign_uid)
Get one campaign by uid: sender, subject, list, template, status and schedule.
Eingabe-Schema
{
"type": "object",
"properties": {
"campaign_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"campaign_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_create_campaign(name, from_name, from_email, reply_to, subject, ...)
WRITE, SENDS EMAIL TO PEOPLE: create a campaign for a mailing list (or one of its segments) from an existing template and schedule it for send_at. Once it goes out it reaches every subscriber of the list or segment, may use sending credit and cannot be recalled. Confirm the list, segment, subject, template and send time with the user before calling. Needs a template uid (mailblaze_list_templates) and a list uid (mailblaze_list_lists).
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Internal campaign name."
},
"from_name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"from_email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$",
"description": "Sender address; it must be a verified sender in Mail Blaze."
},
"reply_to": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"segment_uid": {
"description": "Send only to this segment of the list.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"template_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"send_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
"description": "When to send, 'YYYY-MM-DD HH:MM:SS' (interpreted by Mail Blaze in the account's time zone)."
}
},
"required": [
"name",
"from_name",
"from_email",
"reply_to",
"subject",
"list_uid",
"template_uid",
"send_at"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_campaign_summaries(campaign_uids)
Bulk report summary (sent, opens, clicks, bounces, unsubscribes) for up to 50 campaigns in one call. Read-only (it is a POST in the API only because of the id list).
Eingabe-Schema
{
"type": "object",
"properties": {
"campaign_uids": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"description": "1 to 50 campaign uids."
}
},
"required": [
"campaign_uids"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_campaign_inbox_breakdown(campaign_uid)
Inbox-provider breakdown (e.g. Gmail, Outlook, Yahoo) of a campaign's delivery.
Eingabe-Schema
{
"type": "object",
"properties": {
"campaign_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"campaign_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_campaign_events(campaign_uid, kind, limit, cursor)
List the individual events of a campaign by kind: opens, clicks, bounces or unsubscribes. Cursor-paged: pass the reply's next_cursor back until it is null. For very large campaigns Mail Blaze answers 202 with a job_id; check it with mailblaze_get_report_job.
Eingabe-Schema
{
"type": "object",
"properties": {
"campaign_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"kind": {
"type": "string",
"enum": [
"opens",
"clicks",
"bounces",
"unsubscribes"
]
},
"limit": {
"description": "Events per page (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"cursor": {
"description": "The next_cursor from the previous reply, passed back exactly as returned. Omit for the first page.",
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"campaign_uid",
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_subscriber_activity(email, list_uid, limit, cursor)
Email activity (sends, opens, clicks, bounces) of one subscriber by email address, optionally limited to one list. Cursor-paged.
Eingabe-Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"list_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"limit": {
"description": "Events per page (default 100, max 1000).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"cursor": {
"description": "The next_cursor from the previous reply, passed back exactly as returned. Omit for the first page.",
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_report_job(job_id)
Status (and result when finished) of an asynchronous report job, as returned in a 202 reply with a job_id.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_list_transactional_emails(page)
List the transactional emails sent through the account (uid, recipient, subject, status). Paged.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 1 (results come in sets of 10; keep going until a page comes back empty).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢mailblaze_get_transactional_email(email_uid)
Get one transactional email by uid: recipient, subject, status and timestamps.
Eingabe-Schema
{
"type": "object",
"properties": {
"email_uid": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"email_uid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴mailblaze_send_transactional_email(to_email, to_name, from_email, from_name, reply_to_email, ...)
WRITE, SENDS ONE EMAIL NOW: send a single one-to-one email to one recipient through Mail Blaze. It leaves immediately, uses sending credit and cannot be recalled. Give either html (the body) or template_id (a transactional template, with merge_tags covering every tag in it), not both. Confirm the recipient and content with the user before calling. Not for bulk or marketing mail; use a campaign for that.
Eingabe-Schema
{
"type": "object",
"properties": {
"to_email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"to_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Recipient name (required by Mail Blaze)."
},
"from_email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$",
"description": "Sender address; it must be a verified sender in Mail Blaze."
},
"from_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Sender name (required by Mail Blaze)."
},
"reply_to_email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"pattern": "^[^\\s@<>\",;]+@[^\\s@<>\",;]+\\.[^\\s@<>\",;]+$"
},
"reply_to_name": {
"type": "string",
"maxLength": 255
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"html": {
"description": "HTML body (the tool base64-encodes it). Omit when using template_id.",
"type": "string",
"minLength": 1,
"maxLength": 1000000
},
"template_id": {
"description": "Transactional template id. Omit when sending html.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"merge_tags": {
"description": "Template merge tags (required with template_id); every tag in the template must be present.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"maxLength": 10000
}
}
},
"required": [
"to_email",
"to_name",
"from_email",
"from_name",
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis