Benchmark Email MCP by usefulapi
Manage Benchmark Email lists and contacts, and read campaign reports: opens, clicks, bounces.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen benchmark_get_email_unsubscribes
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"benchmark-email": {
"url": "https://benchmark-email.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://benchmark-email.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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/.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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/.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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/.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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/.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia