MailBluster MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Manage MailBluster leads, custom fields, products and orders: look up, add and update records.
13 tools: 5 can delete or cancel things, 2 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels5Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads6Claude 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 mailbluster https://mailbluster.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Deletes or cancels 5Claude Code: deny
mailbluster_create_leadWRITE: add a lead (contact) to the brand.No findings
Why it is in this group
- The name "mailbluster_create_lead" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: add a lead (contact) to the brand. `subscribed` defaults to FALSE: the lead is stored but is not subscribed to email. Only set subscribed=true when the person has given consent to receive email from this brand (the user is responsible for lawful consent); this server never subscribes anyone on its own. No email is sent by this tool (double opt-in is not offered). If the lead already exists the call fails unless overwrite_existing=true, which replaces the stored data (then `subscribed` must be given explicitly). POST /leads.
Annotations the server declares
- title: Create lead
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
mailbluster_create_orderWRITE: record an order (a tracking record: it does not take payment, charge a card or send email).No findings
Why it is in this group
- The name "mailbluster_create_order" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: record an order (a tracking record: it does not take payment, charge a card or send email). The customer's email becomes a lead if none exists, and the lead's tags are merged. `customer.subscribed` is REQUIRED because MailBluster would otherwise default it to true: pass false unless the customer has consented to email. For a customer who already exists, the value may replace their stored subscription state. Only set subscribed=true when the person has given consent to receive email from this brand (the user is responsible for lawful consent); this server never subscribes anyone on its own. POST /orders.
Annotations the server declares
- title: Create order record
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
mailbluster_update_leadWRITE: change an existing lead's name, custom fields, email, timezone, IP address, subscription flag or tags (send only what should change).No findings
Why it is in this group
- The name "mailbluster_update_lead" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change an existing lead's name, custom fields, email, timezone, IP address, subscription flag or tags (send only what should change). `subscribed` is left alone unless you pass it; false unsubscribes the lead, true re-subscribes. Only set subscribed=true when the person has given consent to receive email from this brand (the user is responsible for lawful consent); this server never subscribes anyone on its own. PUT /leads/{md5(email)}.
Annotations the server declares
- title: Update lead
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
mailbluster_update_orderWRITE: change an order record's campaign, currency, total or items (send only what should change; `items`, when given, REPLACES all previous items).No findings
Why it is in this group
- The name "mailbluster_update_order" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change an order record's campaign, currency, total or items (send only what should change; `items`, when given, REPLACES all previous items). The customer cannot be changed here. No payment or email is involved. PUT /orders/{order_id}.
Annotations the server declares
- title: Update order record
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
mailbluster_update_productWRITE: rename a product record.No findings
Why it is in this group
- The name "mailbluster_update_product" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: rename a product record. PUT /products/{product_id}.
Annotations the server declares
- title: Update product
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 2Claude Code: ask
mailbluster_create_fieldWRITE: create a custom lead field.No findings
Why it is in this group
- The name "mailbluster_create_field" says "create": a word for a change.
Description, as the server wrote it WRITE: create a custom lead field. The merge tag is the key used in lead `fields` and in email templates. Creating a field changes the brand's data model but sends nothing. POST /fields.
Annotations the server declares
- title: Create custom lead field
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
mailbluster_create_productWRITE: register a product record (your own id plus a name) so orders can reference it.No findings
Why it is in this group
- The name "mailbluster_create_product" says "create": a word for a change.
Description, as the server wrote it WRITE: register a product record (your own id plus a name) so orders can reference it. Sends nothing to anyone and charges nothing. POST /products.
Annotations the server declares
- title: Create product
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 6Claude Code: allow
mailbluster_get_leadGet one lead by email address (the server computes the MD5 id MailBluster uses): name, custom fields, timezone, subscribed and opt-in status, tags, created/updated dates.No findings
Why it is in this group
- The name "mailbluster_get_lead" says "get": a word for reading.
Description, as the server wrote it Get one lead by email address (the server computes the MD5 id MailBluster uses): name, custom fields, timezone, subscribed and opt-in status, tags, created/updated dates. MailBluster has no list-leads endpoint. GET /leads/{md5(email)}.
Annotations the server declares
- title: Get lead
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
mailbluster_get_orderGet one order record by the id it was created with.No findings
Why it is in this group
- The name "mailbluster_get_order" says "get": a word for reading.
Description, as the server wrote it Get one order record by the id it was created with. GET /orders/{order_id}.
Annotations the server declares
- title: Get order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
mailbluster_get_productGet one product record by the id you registered it under.No findings
Why it is in this group
- The name "mailbluster_get_product" says "get": a word for reading.
Description, as the server wrote it Get one product record by the id you registered it under. GET /products/{product_id}.
Annotations the server declares
- title: Get product
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
mailbluster_list_fieldsList the brand's custom lead fields: id, label and merge tag.No findings
Why it is in this group
- The name "mailbluster_list_fields" says "list": a word for reading.
Description, as the server wrote it List the brand's custom lead fields: id, label and merge tag. Use the merge tags as keys of `fields` when creating or updating leads. GET /fields.
Annotations the server declares
- title: List custom lead fields
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
mailbluster_list_ordersList order records (id, currency, total price, customer lead, campaign, line items).No findings
Why it is in this group
- The name "mailbluster_list_orders" says "list": a word for reading.
Description, as the server wrote it List order records (id, currency, total price, customer lead, campaign, line items). These are records kept in MailBluster for tracking; no payment is involved. Paged: see meta.nextPageNo. GET /orders.
Annotations the server declares
- title: List orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
mailbluster_list_productsList product records (id, name, dates) the brand has registered for e-commerce tracking.No findings
Why it is in this group
- The name "mailbluster_list_products" says "list": a word for reading.
Description, as the server wrote it List product records (id, name, dates) the brand has registered for e-commerce tracking. Paged: the reply's meta has total and nextPageNo (null on the last page). GET /products.
Annotations the server declares
- title: List products
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: 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.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http mailbluster https://mailbluster.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__mailbluster__mailbluster_list_fields",
"mcp__mailbluster__mailbluster_get_lead",
"mcp__mailbluster__mailbluster_list_products",
"mcp__mailbluster__mailbluster_get_product",
"mcp__mailbluster__mailbluster_list_orders",
"mcp__mailbluster__mailbluster_get_order"
],
"ask": [
"mcp__mailbluster__mailbluster_create_field",
"mcp__mailbluster__mailbluster_create_product"
],
"deny": [
"mcp__mailbluster__mailbluster_create_lead",
"mcp__mailbluster__mailbluster_update_lead",
"mcp__mailbluster__mailbluster_update_product",
"mcp__mailbluster__mailbluster_create_order",
"mcp__mailbluster__mailbluster_update_order"
]
}
}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 mailbluster. Review it before you use it.