MCP App Store
by KeenEthics

Overview

SendFox is email marketing for creators and small businesses. Connect your SendFox account to grow and manage your list, write and send newsletters, and see how they performed, all from a conversation. What you can do: - Add, update, tag, and organize contacts into lists, and size an audience with filters (for example, everyone who opened in the last 30 days). - Draft emails, send yourself a test, and send or schedule them to lists or tags. - See open, click, and unsubscribe stats, and who opened or didn't, then resend to non-openers. - Manage automations, sign-up forms, custom fields, sending domains, and publish emails to your Smart Page. Connecting an AI assistant requires a SendFox Pro plan. SendFox only acts on the account you connect. Every send goes through SendFox's normal plan limits, deliverability, and anti-spam review, and recipients can always unsubscribe. SendFox cannot buy or import contact lists from other sources, process payments, or access other SendFox accounts.

Tools

add-contact-to-list

ChatGPT
Add one of your contacts to a list. Returns the contact.

batch-create-contacts

ChatGPT
Batch import up to 1000 contacts in one call. Existing contacts (by email) are updated; new ones are created. Rejects when the import would exceed the account contact limit. Returns created/updated counts.

bulk-contact-operation

ChatGPT
Apply one action to every contact matching a filter: apply_tag, remove_tag, add_to_list, or remove_from_list. Runs in the background in chunks and returns an id to poll with get-bulk-action-status. ALWAYS run with dry_run true first — that reports how many contacts match without touching anything, and is the only way to catch a filter that matches more than intended. Deleting and unsubscribing in bulk are deliberately not available here.

create-automation

ChatGPT
Create an automation. Optionally attach a trigger (apply_list requires trigger_list_id; open_campaign/click_campaign require trigger_campaign_id). Activating requires an active subscription and a verified email.

create-automation-email

ChatGPT
Add an email step to an automation. Creates the underlying campaign and links it to a new automation item, with an optional delay in hours before it sends.

create-campaign

ChatGPT
Create a draft email campaign. The audience is any combination of lists and included tags (to_contact_tags). excluded_lists removes contacts in those lists and excluded_contact_tags removes contacts carrying those tags from the send. HTML must include {{unsubscribe_url}}.

create-contact

ChatGPT
Create a contact (or attach lists to an existing one) via the API. Rejects when the account has reached its contact limit. Optionally attach owned lists and set custom contact fields.

create-contact-field

ChatGPT
Create a custom contact field. The internal name is derived by slugging the label; labels that slug to an existing field's name are rejected.

create-contact-tag

ChatGPT
Create a new contact tag. A brand color is auto-assigned when none is provided. Tag names are unique per account.

create-domain

ChatGPT
Add a white-label sending domain and provision its SendGrid record so DNS records can be generated.

create-form

ChatGPT
Create an embeddable signup form that subscribes contacts to one or more of your lists. Optionally set a redirect URL and whether GDPR consent is required.

create-list

ChatGPT
Create a new contact list.

delete-automation

ChatGPT
Delete an automation and cancel any of its scheduled deliverables.

delete-automation-email

ChatGPT
Remove an email from an automation and cancel any of its scheduled deliverables.

delete-campaign

ChatGPT
Delete a draft campaign. A campaign that has already been sent cannot be deleted.

delete-contact

ChatGPT
Delete a contact owned by the account. Any scheduled deliverables for the contact are removed first.

delete-contact-field

ChatGPT
Delete a custom contact field.

delete-contact-tag

ChatGPT
Delete a tag. Tagged contacts are kept — only the tag and its attachments (including any campaign audience use) are removed.

delete-domain

ChatGPT
Delete a white-label sending domain, removing its SendGrid record.

delete-form

ChatGPT
Delete a signup form.

delete-list

ChatGPT
Delete a contact list. The list cannot be deleted while it is used by a form, landing page, or automation.

get-account

ChatGPT
Get the authenticated SendFox account (the "me" endpoint): profile, plan, timezone, and contact usage.

get-automation

ChatGPT
Fetch a single automation with its triggers and emails, including each email's campaign stats.

get-batch-campaign-stats

ChatGPT
Get stored counts and rates for up to 100 owned campaigns in one call, in request order. Duplicate, missing or foreign IDs reject the whole request. Does not return link stats.

get-bulk-action-status

ChatGPT
Check a bulk contact action started by bulk-contact-operation: its status (pending, processing, completed, failed), how many contacts matched, and how many have been processed so far. For a dry run, matched_count is the answer and nothing was modified.

get-campaign

ChatGPT
Get a single campaign by ID, including its lists, excluded lists, and included and excluded tag audiences.

get-campaign-section

ChatGPT
Get one saved campaign section owned by this account, including its HTML. Shared gallery content is not included.

get-campaign-stats

ChatGPT
Return a campaign's performance statistics: sent, open, click, unsubscribe, bounce, and spam counts and rates. Pass include_link_stats true to also get link_stats — the campaign's links ranked by click count, so you can see which link earned the clicks. That part costs one count per link over a nine-figure table, so only ask for it when the question is about links.

get-campaign-template

ChatGPT
Get one saved campaign template owned by this account, including its HTML. Shared gallery content is not included.

get-contact

ChatGPT
Fetch a single contact owned by the account by its ID.

get-contact-activity

ChatGPT
Return email activity (opens, clicks, bounces, unsubscribes, spam) for a contact owned by the account, alongside a summary of the contact's last engagement timestamps. Deliverables are paginated 50 per page.

get-contact-field

ChatGPT
Get a single custom contact field.

get-domain

ChatGPT
Get a single white-label sending domain, including its SendGrid DNS records when available.

get-form

ChatGPT
Get a single signup form, including the lists it subscribes contacts to.

get-list

ChatGPT
Get a single contact list, including its average email open and click percentages.

list-automations

ChatGPT
List the account's automations, newest first. Paginated 100 per page.

list-campaign-engagement

ChatGPT
List the contacts behind a sent campaign's engagement: openers, clickers, non_openers, bounced, or unsubscribed. Paginated, newest first. Use this for wave-2 resends, click-based segments, and bounce cleanup.

list-campaign-sections

ChatGPT
List saved campaign sections owned by this account, 20 per page, newest first. Shared gallery content is not included.

list-campaign-templates

ChatGPT
List saved campaign templates owned by this account, 20 per page, newest first. Shared gallery content is not included.

list-campaigns

ChatGPT
List the account's campaigns, newest first. Paginated 100 per page.

list-contact-fields

ChatGPT
List the account's custom contact fields. Paginated 20 per page.

list-contact-tags

ChatGPT
List the account's contact tags, newest first, each with its contact count. Paginated 100 per page.

list-contacts

ChatGPT
List the account's contacts, newest first, each with its lists. Filter by a free-text search query, an exact email, unsubscribed status, or engagement (filter.status, filter.last_opened_before/after, filter.never_opened, filter.in_list_ids, filter.tag_ids, …). Use count_only to get just the matched count — the right way to size an audience before acting on it, instead of paging through every contact. Up to 1000 per page.

list-domains

ChatGPT
List the account's white-label sending domains, newest first. Paginated 10 per page.

list-forms

ChatGPT
List the account's embeddable signup forms, newest first. Landing-page forms are excluded. Optionally filter by a free-text search query. Paginated 10 per page.

list-list-contacts

ChatGPT
List the contacts belonging to a list, newest first. Optionally filter by a search query. Paginated 100 per page.

list-lists

ChatGPT
List the account's contact lists, newest first. Optionally filter by a search query. Paginated 10 per page.

list-smart-pages

ChatGPT
List the account's Smart Pages, primary first, each with its URL, whether its Newsletters tab is on, and the tags that decide which emails it lists. Use publish-to-smart-page to put emails on a page. Paginated 100 per page.

list-tags-for-contact

ChatGPT
List the tags attached to a single contact.

list-unsubscribed-contacts

ChatGPT
List the account's unsubscribed contacts, most recently unsubscribed first, each with its lists. Optionally filter by a free-text search query. Paginated 100 per page.

publish-to-smart-page

ChatGPT
Publish emails to one Smart Page, or take them off it (published: false). Works on sent emails and drafts; a draft appears on the page once it sends. Publishing adds the page's tags to each email (creating a tag named after the page if it has none) and turns the page's Newsletters tab on. Unpublishing removes the page's tags, which also takes the email off any other page that shares one of those tags; each email's published_pages in the result shows where it ends up. Find page IDs with list-smart-pages.

remove-contact-from-list

ChatGPT
Remove a contact from a list. Returns the contact.

resend-campaign

ChatGPT
Clone a sent campaign into a new draft aimed at part of its original audience (non_openers, openers, or clickers) — the wave-2 resend. Optionally give it a new subject and a send time; omit scheduled_at to leave it as a draft you can review first. The clone keeps the original's content, sender, and tag exclusions. estimated_recipient_count is the size of the engagement group before the campaign's Skip lists/tags and unsubscribes are removed, so the real send is at most that.

send-campaign

ChatGPT
Send a draft campaign now. All existing abuse, approval, and deliverability checks still apply. The campaign must have a list or tag audience and the required content fields.

send-test-email

ChatGPT
Send a test of a campaign to one or more email addresses so it can be checked in a real inbox before send-campaign. The rendered email is really delivered to those addresses only; the campaign audience is untouched and the campaign stays a draft. Recipients are not added as contacts, and links in a test are not tracked.

tag-contact

ChatGPT
Attach a tag to a contact (idempotent). Returns the contact's tags after the change.

unsubscribe-contact

ChatGPT
Unsubscribe a contact by email address. Already-unsubscribed contacts are left unchanged. Returns the contact, or a message when no contact matches the email.

untag-contact

ChatGPT
Remove a tag from a contact. Returns the contact's remaining tags.

update-automation

ChatGPT
Update an automation's title, trigger, or active state. Activating requires an active subscription and a verified email.

update-automation-email

ChatGPT
Update an automation email — its delay, send order, and/or campaign content (subject, html, from_name, from_email).

update-campaign

ChatGPT
Update a draft campaign. A campaign that has already been sent cannot be updated. Only the fields you provide are changed; when html is provided it must contain {{unsubscribe_url}}. The audience is any combination of lists and included tags (to_contact_tags); excluded_lists removes contacts in those lists and excluded_contact_tags removes contacts carrying those tags from the send.

update-contact

ChatGPT
Update a contact owned by the account. Set first_name/last_name, replace its list membership, or set custom contact fields.

update-contact-field

ChatGPT
Rename a custom contact field. The internal name is re-derived from the new label; labels that slug to another field's name are rejected.

update-contact-tag

ChatGPT
Rename a tag or change its color. Only tags owned by the account can be updated.

update-form

ChatGPT
Update a signup form. Only the provided fields change. Supplying lists replaces the form's current lists.

update-list

ChatGPT
Rename a contact list.

validate-domain

ChatGPT
Trigger DNS validation for a white-label sending domain. On success the domain is marked validated; failures return the per-record validation errors.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps