Mail Blaze MCP by usefulapi
Manage Mail Blaze lists, subscribers, templates, campaigns and reports; send transactional email.
我該用這個嗎
品質與安全性
發現項目(10)
- LOW在 mailblaze_get_campaign_inbox_breakdown 中
- LOW在 mailblaze_find_subscriber_by_email 中
- LOW在 mailblaze_unsubscribe_subscriber 中
- LOW在 mailblaze_resubscribe_subscriber 中
- LOW在 mailblaze_get_campaign_summaries 中
- LOW在 mailblaze_get_campaign_inbox_breakdown 中
- LOW在 mailblaze_get_subscriber_activity 中
- LOW在 mailblaze_list_transactional_emails 中
- LOW在 mailblaze_get_transactional_email 中
- LOW在 mailblaze_send_transactional_email 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"mailblaze": {
"url": "https://mailblaze.usefulapi.io/mcp"
}
}
}遠端端點
https://mailblaze.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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).
輸入結構描述
{
"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).
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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).
輸入結構描述
{
"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.
輸入結構描述
{
"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).
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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).
輸入結構描述
{
"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).
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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"
}社群
證據