Benchmark Email MCP by usefulapi

Manage Benchmark Email lists and contacts, and read campaign reports: opens, clicks, bounces.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
90%
命名质量
79%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'benchmark_get_email_unsubscribes' name length outside 3-30 range在 benchmark_get_email_unsubscribes 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,561token 数(工具定义)
~1.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.56%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "benchmark-email": {
      "url": "https://benchmark-email.usefulapi.io/mcp"
    }
  }
}

远程端点

https://benchmark-email.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(25)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢benchmark_get_account

The Benchmark Email account this token belongs to: client id, name, company, email, status, plan products, contact count and emails sent. GET /Client/ProfileDetails.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_plan

The account's email plan, add-ons and contact usage (active, account and total contacts, percent used). GET /Client/Plan.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_settings

Default sender settings: from name and email, signature, footer, time zone, language and company address. The API token in the reply is removed. GET /Client/Setting.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_lists(search, order_by, sort_order, page, page_size)

List contact lists with id, name, description, contact count and dates. Use the ids with the contact tools. GET /Contact/.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only lists whose name matches this text."
    },
    "order_by": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Sort column as the vendor documents it: date, count, email or schedule."
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_list(list_id)

One contact list: name, description, active contact count and its custom field names (Field1Name ...). GET /Contact/{list_id}.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "list_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_list_fields(list_id)

The column names of a contact list (email, firstname, lastname and the custom fields). GET /Contact/{list_id}/Fields.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "list_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴benchmark_create_list(name, description)

WRITE: create an empty contact list. POST /Contact/.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "List name."
    },
    "description": {
      "description": "List description.",
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_segments(page, page_size)

List the saved segments (filtered subsets of lists) with id and name. GET /Contact/Segments.

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_contacts(list_id, status, search, search_type, search_field, ...)

List the contacts of one list with email, name, dates and id. Filter by status (subscribed, unsubscribed, hard_bounced) or search a column. GET /Contact/{list_id}/ContactDetails.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    },
    "status": {
      "description": "Only contacts with this status (subscribed = all except unsubscribed and hard bounced).",
      "type": "string",
      "enum": [
        "subscribed",
        "unsubscribed",
        "hard_bounced"
      ]
    },
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search text."
    },
    "search_type": {
      "description": "How `search` matches (default: the vendor's default).",
      "type": "string",
      "enum": [
        "starts_with",
        "exact",
        "contains",
        "ends_with"
      ]
    },
    "search_field": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Column to search, e.g. email, firstname, lastname."
    },
    "order_by": {
      "description": "Sort column.",
      "type": "string",
      "enum": [
        "email",
        "firstname",
        "lastname",
        "date"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "list_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_contact(list_id, contact_id)

One contact of a list with all its fields (Field1 ... Field24 hold the custom columns). GET /Contact/{list_id}/ContactDetails/{contact_id}.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    },
    "contact_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact id (the ID of a list or search row) (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "list_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_search_contacts(email)

Find an email address across all lists: one row per list it is on, with the list name, contact id and master-unsubscribe flag. GET /Contact/ContactDetails.

输入模式

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 1,
      "maxLength": 320,
      "description": "Email address to search for."
    }
  },
  "required": [
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴benchmark_add_contact(list_id, email, first_name, middle_name, last_name, ...)

WRITE: add one contact to a list (or update it if the email is already there, as the vendor decides). It does not send any email. Only add people who agreed to get email. POST /Contact/{list_id}/ContactDetails.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "pattern": "^[^\\s@]+@[^\\s@]+$",
      "description": "Email address."
    },
    "first_name": {
      "description": "First name.",
      "type": "string",
      "maxLength": 200
    },
    "middle_name": {
      "description": "Middle name.",
      "type": "string",
      "maxLength": 200
    },
    "last_name": {
      "description": "Last name.",
      "type": "string",
      "maxLength": 200
    },
    "custom_fields": {
      "description": "Custom list columns by slot, e.g. {\"Field1\": \"12 High St\"}. Slot names come from benchmark_get_list (Field1Name ...).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^Field([1-9]|1\\d|2[0-4])$"
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "permission": {
      "description": "Set true only if the person has given email permission (EmailPerm 1).",
      "type": "boolean"
    }
  },
  "required": [
    "list_id",
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴benchmark_update_contact(list_id, contact_id, email, first_name, middle_name, ...)

WRITE: change fields of one contact in one list. Only the fields you pass are sent. PATCH /Contact/{list_id}/ContactDetails/{contact_id}.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    },
    "contact_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact id (digits only, as returned by the list tools)."
    },
    "email": {
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "pattern": "^[^\\s@]+@[^\\s@]+$",
      "description": "Email address."
    },
    "first_name": {
      "description": "First name.",
      "type": "string",
      "maxLength": 200
    },
    "middle_name": {
      "description": "Middle name.",
      "type": "string",
      "maxLength": 200
    },
    "last_name": {
      "description": "Last name.",
      "type": "string",
      "maxLength": 200
    },
    "custom_fields": {
      "description": "Custom list columns by slot, e.g. {\"Field1\": \"12 High St\"}. Slot names come from benchmark_get_list (Field1Name ...).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^Field([1-9]|1\\d|2[0-4])$"
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    }
  },
  "required": [
    "list_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴benchmark_unsubscribe_contact(list_id, contact_id)

WRITE: move a contact to the Do Not Contact (master unsubscribe) list, so no campaign reaches it again. The API has no undo for this. DELETE /Contact/{list_id}/MoveToDNC/{contact_id}.

输入模式

{
  "type": "object",
  "properties": {
    "list_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact list id (digits only, as returned by the list tools)."
    },
    "contact_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Contact id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "list_id",
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_emails(search, status, order_by, sort_order, page, ...)

List email campaigns with id, name, subject, type, status, dates and target lists. GET /Emails/.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only emails whose name matches this text."
    },
    "status": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Status filter as the vendor spells it (e.g. Draft, Scheduled, Sent)."
    },
    "order_by": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Sort column, e.g. date, name."
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email(email_id)

One email campaign: subject, sender, target and excluded lists, dates and settings. GET /Emails/{email_id}.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_email_reports(search, sort_order, page, page_size)

Report summaries of sent emails: sends, opens, clicks, bounces, unsubscribes and complaints per campaign. GET /Emails/Report.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only emails whose name matches this text."
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email_report(email_id)

The report summary of one email: recipients, opens, clicks, bounces, unsubscribes, forwards, complaints and rates. GET /Emails/{email_id}/Report.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email_opens(email_id, page, page_size)

Who opened an email: contact, email address, time and device. GET /Emails/{email_id}/Report/Opens.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email_clicks(email_id)

Who clicked a link in an email: contact, email address and time. GET /Emails/{email_id}/Report/Clicks.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email_bounces(email_id)

Which addresses bounced for an email: contact, email address, time and bounce type. GET /Emails/{email_id}/Report/Bounces.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_email_unsubscribes(email_id)

Who unsubscribed after an email: contact, email address, time and reason, with a count per reason. GET /Emails/{email_id}/Report/Unsubscribes.

输入模式

{
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Email id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "email_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_list_signup_forms(search, order_by, sort_order, page, page_size)

List signup forms with id, name, date and the lists they feed. GET /SignupForm/.

输入模式

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only forms whose name matches this text."
    },
    "order_by": {
      "description": "Sort column.",
      "type": "string",
      "enum": [
        "name",
        "date",
        "size"
      ]
    },
    "sort_order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_signup_form(form_id)

One signup form with its settings and target lists. GET /SignupForm/{form_id}.

输入模式

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Signup form id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢benchmark_get_signup_form_link(form_id)

The public link of a signup form. GET /SignupForm/{form_id}/Link.

输入模式

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "string",
      "pattern": "^\\d{1,19}$",
      "description": "Signup form id (digits only, as returned by the list tools)."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本25 个工具