Skip to content

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.

Deletes · 5Changes · 2

13 tools: 5 can delete or cancel things, 2 change things and 6 only read.

Scanned Oct 21, 2026

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/mcp

Tools

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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.