Skip to main content
Glama

EmailOctopus MCP by usefulapi

Server Details

Manage lists, contacts and campaigns, and read campaign performance reports on EmailOctopus.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
83.8% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource-action combination (create/get/update/delete/list for lists and contacts; get/list/report for campaigns). The campaign report tools are clearly differentiated by their descriptions (summary vs. per-link).

Naming Consistency5/5

All tools follow the consistent pattern `emailoctopus_<verb>_<noun>`, with plural nouns for list operations (list_campaigns, list_contacts, list_lists). No mixed conventions or surprising verbs.

Tool Count5/5

13 tools is well within the ideal range for an email marketing API server. Each tool maps to a meaningful endpoint or report, and the count feels proportionate to the domain.

Completeness3/5

Contacts and lists have solid CRUD coverage (create/get/update/list/delete for contacts; create/get/update/list for lists). Campaigns, however, are read-only: no create/update/delete or send operation, and there is no delete_list. These are notable gaps for a full email marketing workflow.

Available Tools

13 tools
emailoctopus_create_contactCreate contact
Destructive
Inspect

CREATES a new contact in a list — this MODIFIES live data (adds a subscriber). email_address is required; optionally set fields (keyed by field tag), tags, and status. EmailOctopus: POST /lists/{list_id}/contacts. Returns the created contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags to apply to the contact, e.g. ["vip", "beta"].
fieldsNoCustom field values, keyed by the list's field tag (e.g. {"FirstName": "Ada"}).
statusNoSubscription status: subscribed, pending, or unsubscribed.
list_idYesThe list's id to add the contact to.
email_addressYesThe contact's email address.
emailoctopus_create_listCreate list
Destructive
Inspect

CREATES a new list — this MODIFIES live data. Provide a name. EmailOctopus: POST /lists. Returns the created list.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable name for the new list.
emailoctopus_delete_contactDelete contact
Destructive
Inspect

PERMANENTLY REMOVES a contact from a list — this MODIFIES live data and cannot be undone. contact_id is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: DELETE /lists/{list_id}/contacts/{contact_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYesThe list's id.
contact_idYesThe contact's id to delete — the MD5 hash of the lowercased email address, or the id from list_contacts.
emailoctopus_get_campaignGet campaign
Read-only
Inspect

Get a single campaign by its id. Returns the campaign's full state — name, status, subject, from, content, and created_at. EmailOctopus: GET /campaigns/{campaign_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesThe campaign's id.
emailoctopus_get_campaign_reportGet campaign report
Read-only
Inspect

Get a campaign's aggregate performance report — sent, opened, clicked, bounced, unsubscribed, complained, and related counts. EmailOctopus: GET /campaigns/{campaign_id}/reports/summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesThe campaign's id.
emailoctopus_get_contactGet contact
Read-only
Inspect

Get a single contact in a list. Returns email_address, fields, tags, status, and created_at. contact_id is the MD5 hash of the lowercased email address, or the id returned by emailoctopus_list_contacts. EmailOctopus: GET /lists/{list_id}/contacts/{contact_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYesThe list's id.
contact_idYesThe contact's id — the MD5 hash of the lowercased email address, or the id from list_contacts.
emailoctopus_get_listGet list
Read-only
Inspect

Get a single list by its id. Returns the list's full state — name, contact counts by status, and created_at. EmailOctopus: GET /lists/{list_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYesThe list's id.
emailoctopus_list_campaignsList campaigns
Read-only
Inspect

List all campaigns in the account. Returns {data:[...],paging:{...}} — each campaign's id, name, status, subject, and created_at. Paginate with limit (max 100) and starting_after. EmailOctopus: GET /campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax campaigns to return (1..100).
starting_afterNoPagination cursor — the id to start after (from the previous page's paging).
emailoctopus_list_contactsList contacts
Read-only
Inspect

List the contacts in a list. Returns {data:[...],paging:{...}} — each contact's id, email_address, fields, tags, status, and created_at. Paginate with limit (max 100) and starting_after. EmailOctopus: GET /lists/{list_id}/contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax contacts to return (1..100).
list_idYesThe list's id.
starting_afterNoPagination cursor — the id to start after (from the previous page's paging).
emailoctopus_list_listsList lists
Read-only
Inspect

List all lists in the account. Returns {data:[...],paging:{...}} — each list's id, name, contact counts by status, and created_at. Paginate with limit (max 100) and starting_after (cursor from the previous page). EmailOctopus: GET /lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax lists to return (1..100).
starting_afterNoPagination cursor — the id to start after (from the previous page's paging).
emailoctopus_update_contactUpdate contact
Destructive
Inspect

UPDATES an existing contact in a list — this MODIFIES live data. Send only the fields you want to change (email_address, fields, tags, status). contact_id is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: PUT /lists/{list_id}/contacts/{contact_id}. Returns the updated contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags to apply to the contact, e.g. ["vip", "beta"].
fieldsNoCustom field values, keyed by the list's field tag (e.g. {"FirstName": "Ada"}).
statusNoSubscription status: subscribed, pending, or unsubscribed.
list_idYesThe list's id.
contact_idYesThe contact's id — the MD5 hash of the lowercased email address, or the id from list_contacts.
email_addressNoThe contact's email address.
emailoctopus_update_listUpdate list
Destructive
Inspect

UPDATES an existing list by id — this MODIFIES live data. Sets the list's name. EmailOctopus: PUT /lists/{list_id}. Returns the updated list.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe new name for the list.
list_idYesThe list's id to update.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updates
    • Changedemailoctopus_create_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_create_list1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_delete_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_get_campaign1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_get_campaign_links_report1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_get_campaign_report1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_get_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_get_list1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_list_campaigns1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_list_contacts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_list_lists1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_update_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedemailoctopus_update_list1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 13 tool updates
    • First observedemailoctopus_create_contact
    • First observedemailoctopus_create_list
    • First observedemailoctopus_delete_contact
    • First observedemailoctopus_get_campaign
    • First observedemailoctopus_get_campaign_links_report
    • First observedemailoctopus_get_campaign_report
    • First observedemailoctopus_get_contact
    • First observedemailoctopus_get_list
    • First observedemailoctopus_list_campaigns
    • First observedemailoctopus_list_contacts
    • First observedemailoctopus_list_lists
    • First observedemailoctopus_update_contact
    • First observedemailoctopus_update_list

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage mailing lists and contacts, read campaign reports with per-link clicks, and trigger automations. Supports lookups and updates by email address, tag and status management, and destructive operations with client confirmation.
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Provides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.
    21
    898 npm
    32
    ISC
  • F
    license
    B
    quality
    D
    maintenance
    Enables management of email campaigns, subscribers, lists, segments, journeys, templates, transactional email, and client/account settings through the Campaign Monitor API via natural language.
    100
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables sending and managing emails via Postmark, including email delivery with templates, template listing, and delivery statistics.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.