Benchmark Email MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
90%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'benchmark_get_email_unsubscribes' name length outside 3-30 rangein benchmark_get_email_unsubscribes

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,561Tokens (Tool-Definitionen)
~1.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.56% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (25)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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/.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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/.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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/.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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/.

Eingabe-Schema

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

Eingabe-Schema

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

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet25 Tools