MailBluster MCP by usefulapi

Manage MailBluster leads, custom fields, products and orders: look up, add and update records.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
90%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,397Token(工具定義)
~1.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.65%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mailbluster": {
      "url": "https://mailbluster.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://mailbluster.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(13)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢mailbluster_list_fields

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡mailbluster_create_field(field_label, field_merge_tag)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "field_label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Display label, e.g. Gender."
    },
    "field_merge_tag": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Merge tag, e.g. gender."
    }
  },
  "required": [
    "field_label",
    "field_merge_tag"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢mailbluster_get_lead(email, lead_hash)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "description": "The lead's email address (preferred).",
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "lead_hash": {
      "description": "Alternative to email: the 32-character MD5 hex of the lowercased email.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mailbluster_create_lead(email, first_name, last_name, fields, timezone, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "description": "Email address."
    },
    "first_name": {
      "type": "string",
      "maxLength": 190
    },
    "last_name": {
      "type": "string",
      "maxLength": 190
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 2000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "description": "Custom field values keyed by the field's MERGE TAG (see mailbluster_list_fields), e.g. {\"company\": \"Pied Piper\"}."
    },
    "timezone": {
      "description": "IANA timezone, e.g. America/Los_Angeles.",
      "type": "string",
      "maxLength": 100
    },
    "ip_address": {
      "description": "Lead's IP address; MailBluster derives country/city/timezone from it.",
      "type": "string",
      "maxLength": 64
    },
    "subscribed": {
      "description": "Default false. true only with the lead's consent to receive email.",
      "type": "boolean"
    },
    "tags": {
      "description": "Tag names to attach (created if missing).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "overwrite_existing": {
      "description": "Default false. true overwrites an existing lead with the same email.",
      "type": "boolean"
    }
  },
  "required": [
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mailbluster_update_lead(email, lead_hash, new_email, first_name, last_name, ...)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Current email of the lead to update (preferred).",
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "lead_hash": {
      "description": "Alternative to email: the 32-character MD5 hex of the lowercased current email.",
      "type": "string"
    },
    "new_email": {
      "description": "Change the lead's email address to this.",
      "type": "string",
      "minLength": 3,
      "maxLength": 320
    },
    "first_name": {
      "type": "string",
      "maxLength": 190
    },
    "last_name": {
      "type": "string",
      "maxLength": 190
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 2000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "description": "Custom field values keyed by the field's MERGE TAG (see mailbluster_list_fields), e.g. {\"company\": \"Pied Piper\"}."
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "ip_address": {
      "type": "string",
      "maxLength": 64
    },
    "subscribed": {
      "description": "Only pass to change the subscription. true only with the lead's consent.",
      "type": "boolean"
    },
    "add_tags": {
      "description": "Tag names to attach (created if missing). Applied before remove_tags.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "remove_tags": {
      "description": "Tag names to detach.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢mailbluster_list_products(page_no, per_page)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "page_no": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's meta.nextPageNo.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (MailBluster default 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢mailbluster_get_product(product_id)

Get one product record by the id you registered it under. GET /products/{product_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Product id."
    }
  },
  "required": [
    "product_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡mailbluster_create_product(product_id, name)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Your unique product id."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Product name."
    }
  },
  "required": [
    "product_id",
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mailbluster_update_product(product_id, name)

WRITE: rename a product record. PUT /products/{product_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Product id."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "New product name."
    }
  },
  "required": [
    "product_id",
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢mailbluster_list_orders(page_no, per_page)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "page_no": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's meta.nextPageNo.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (MailBluster default 10).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢mailbluster_get_order(order_id)

Get one order record by the id it was created with. GET /orders/{order_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Order id."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mailbluster_create_order(order_id, customer, campaign_id, currency, total_price, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Your unique order id."
    },
    "customer": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "minLength": 3,
          "maxLength": 320,
          "description": "Email address."
        },
        "first_name": {
          "type": "string",
          "maxLength": 190
        },
        "last_name": {
          "type": "string",
          "maxLength": 190
        },
        "fields": {
          "type": "object",
          "propertyNames": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2000
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "description": "Custom field values keyed by the field's MERGE TAG (see mailbluster_list_fields), e.g. {\"company\": \"Pied Piper\"}."
        },
        "timezone": {
          "type": "string",
          "maxLength": 100
        },
        "ip_address": {
          "type": "string",
          "maxLength": 64
        },
        "tags": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "subscribed": {
          "type": "boolean",
          "description": "Required. true only with the customer's consent to receive email; otherwise false."
        }
      },
      "required": [
        "email",
        "subscribed"
      ]
    },
    "campaign_id": {
      "description": "Id of the campaign that led to the order, if any.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "ISO currency code, e.g. USD."
    },
    "total_price": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000,
      "description": "Order total, e.g. 10.64."
    },
    "items": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 190,
            "description": "Your id of the product (a product record with this id is created in MailBluster if it does not exist)."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 190,
            "description": "Product name."
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000,
            "description": "Unit price, e.g. 3.15."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          }
        },
        "required": [
          "id",
          "name",
          "price",
          "quantity"
        ]
      },
      "description": "Ordered products."
    }
  },
  "required": [
    "order_id",
    "customer",
    "currency",
    "total_price",
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mailbluster_update_order(order_id, campaign_id, currency, total_price, items)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 190,
      "description": "Order id."
    },
    "campaign_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "ISO currency code, e.g. USD."
    },
    "total_price": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000,
      "description": "New order total."
    },
    "items": {
      "description": "New complete item list; replaces the previous items.",
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 190,
            "description": "Your id of the product (a product record with this id is created in MailBluster if it does not exist)."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 190,
            "description": "Product name."
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000,
            "description": "Unit price, e.g. 3.15."
          },
          "quantity": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          }
        },
        "required": [
          "id",
          "name",
          "price",
          "quantity"
        ]
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本13 個工具