Skip to main content

Overview

The MailGreet MCP server exposes 44 tools across 7 categories. Your API key controls which tools are available — tools/list only returns tools the key has permission to call.

Subscribers

9 tools

Campaigns

8 tools

Groups

8 tools

Webhooks

5 tools

Automations

5 tools

Forms

5 tools

Segments

4 tools

Response format

Every tool call returns a JSON-RPC result with a content array:
The text field contains a JSON-encoded string with the actual data. On error, isError: true is added to the result and text contains {"error": "...", "message": "..."}.

Pagination

All list_* tools support these parameters: Paginated responses include a meta block:

Subscribers

9 tools · Required permission: subscribers:read or subscribers:write
Permission: subscribers:writeAdd a new subscriber or update an existing one by email (upsert). If the email already exists, the record is updated with the provided fields — existing custom fields not mentioned are kept.Example:
Success response:
Permission: subscribers:readGet full details about a subscriber by their UUID or email.
One of subscriber_id or email must be provided.
Permission: subscribers:writeUpdate an existing subscriber’s fields. Only provided fields are changed — others are untouched.
Permission: subscribers:readList subscribers with optional filtering. Returns paginated results.
Permission: subscribers:readGet the activity history for a subscriber: email opens, clicks, sends, unsubscribes, and more.
Permission: subscribers:readGet the total count of subscribers, optionally filtered by status.Success response:
Permission: subscribers:writeDelete a subscriber. Historical activity data (opens, clicks) is retained. The subscriber can re-subscribe later.
Permission: subscribers:write
GDPR right-to-erasure tool. Completely removes a subscriber and all associated data including activity history, custom fields, and group memberships. This action is irreversible.
Permission: subscribers:readGet the status and details of a subscriber import job created via import_subscribers_to_group.

Campaigns

8 tools · Required permission: campaigns:read or campaigns:write
Permission: campaigns:writeCreate a new email campaign in draft status.
Permission: campaigns:readGet full details about a campaign including delivery stats.
Permission: campaigns:readList campaigns with optional filtering.
Permission: campaigns:writeUpdate a campaign’s details. Only draft campaigns can be updated.
Permission: campaigns:writeDelete a campaign. Only draft or cancelled campaigns can be deleted.
Permission: campaigns:writeSchedule a draft campaign to send at a specific future time.
Permission: campaigns:writeCancel a scheduled campaign, returning it to draft status.
Permission: campaigns:readGet the list of subscribers who received a specific campaign.

Groups

8 tools · Required permission: groups:read or groups:write
Permission: groups:readList all subscriber groups.
Permission: groups:writeCreate a new subscriber group.Success response:
Permission: groups:writeRename a subscriber group.
Permission: groups:writeDelete a group. Subscribers in the group are not deleted — only their group membership is removed.
Permission: groups:readGet all subscribers in a group.
Permission: subscribers:writeAdd a subscriber to a group.
Permission: subscribers:writeRemove a subscriber from a group. The subscriber record is not deleted.
Permission: subscribers:writeBulk upsert up to 1,000 subscribers into a group per call. Creates new subscribers if the email doesn’t exist, or updates existing ones.Each subscriber object in the array:

Webhooks

5 tools · Required permission: webhooks:read or webhooks:write
Permission: webhooks:readList all configured webhook endpoints.
Permission: webhooks:readGet details of a specific webhook.
Permission: webhooks:writeCreate a new webhook endpoint. MailGreet will POST to the provided URL when selected events occur.Available event types:
  • email.delivery.sent · email.delivery.opened · email.delivery.clicked
  • email.delivery.bounced · email.delivery.complained · email.delivery.unsubscribed
  • api_email.sent · api_email.delivered · api_email.opened · api_email.clicked
  • api_email.bounced · api_email.failed
Permission: webhooks:writeUpdate a webhook’s URL, events, or enabled status.
Permission: webhooks:writeDelete a webhook endpoint permanently.

Automations

5 tools · Required permission: automations:read or automations:write
Permission: automations:readList all automations.
Permission: automations:readGet details about an automation including its trigger configuration and workflow steps.
Permission: automations:readGet subscriber activity within an automation — who entered, who completed, who is currently active.
Permission: automations:writeCreate a new automation in draft status.Available trigger types: subscriber_joins_group · completes_form · joins_segment · clicks_link · updates_field · event_anniversary · exact_date · api_called
Permission: automations:writeDelete an automation and all related steps, triggers, and subscriber history.

Forms

5 tools · Required permission: forms:read or forms:write
Permission: forms:readList all signup forms.
Permission: forms:readGet detailed information about a specific form.
Permission: forms:writeUpdate a form’s name.
Permission: forms:writeDelete a form permanently.
Permission: forms:readGet the list of subscribers who signed up through a specific form.

Segments

4 tools · Required permission: subscribers:read or subscribers:write
Segments use subscriber scopes (not a dedicated segments:* scope) because segments are a filtered view over subscriber data.
Permission: subscribers:readList all subscriber segments with their subscriber counts.
Permission: subscribers:readGet subscribers matching a segment’s filter criteria.
Permission: subscribers:writeRename a segment.
Permission: subscribers:writeDelete a segment. Subscribers are not affected.

All tools at a glance