Skip to main content
Glama

Buttondown MCP by usefulapi

Server Details

Read Buttondown subscribers, emails, analytics and automations; add subscribers; write email drafts.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

25 tools
buttondown_add_subscriberAdd a subscriberInspect

WRITE: add ONE subscriber by e-mail address. No subscriber type is set, so Buttondown applies the newsletter's normal sign-up rules (double opt-in: the subscriber is typically created as unactivated and Buttondown e-mails THAT ONE address a confirmation message; opt-in is never bypassed, nor is the firewall). Only add people who asked to subscribe. Creating a subscriber (and its tags) can also start the newsletter's own automations, which may e-mail that one subscriber. An existing e-mail is left untouched (error, no overwrite). Optional tags (a tag that does not exist is created, which needs a plan with tags), a private note and metadata. Buttondown limits creation to 100 subscribers per day. POST /subscribers.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTag names to apply.
notesNoPrivate note (never shown to the subscriber).
metadataNoFree-form key-value data stored on the subscriber.
utm_mediumNo
utm_sourceNo
referrer_urlNoWhere the subscriber came from.
utm_campaignNo
email_addressYesThe new subscriber's e-mail address. They receive the confirmation e-mail.
buttondown_create_email_draftCreate an email draftInspect

WRITE: create a DRAFT email (status always "draft"). Nothing is sent or scheduled and no subscriber is e-mailed; to send it, the user must open the draft in Buttondown and send it there. This server has no tool that sends or schedules email. Body is Markdown or HTML. POST /emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoEmail body in Markdown (or HTML).
slugNoArchive URL slug.
imageNoPreview image URL.
subjectYesSubject line.
descriptionNoShort description used for archives and SEO.
canonical_urlNoURL of the original source of the content.
buttondown_create_tagCreate a tagInspect

WRITE: create a subscriber tag (needs a Buttondown plan with tags). An existing tag with the same name is returned as an error and not changed. POST /tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name (up to 100 characters).
colorYesHex color, e.g. #FFD700.
descriptionNoInternal description (only you see it).
public_descriptionNoPublic description shown in the subscriber portal.
subscriber_editableNoLet subscribers add/remove this tag themselves. Default false.
buttondown_get_accountGet account
Read-only
Inspect

The Buttondown account this API key belongs to: username and e-mail address. GET /accounts/me.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

buttondown_get_automationGet automation
Read-only
Inspect

One automation by id with its trigger, actions and filters. GET /automations/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
automation_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
buttondown_get_automation_analyticsGet automation analytics
Read-only
Inspect

Performance numbers for one automation. GET /automations/{id}/analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
automation_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
buttondown_get_emailGet email
Read-only
Inspect

One email by id with its full body, subject, status, publish date, slug, archive settings and analytics summary. GET /emails/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
buttondown_get_email_analyticsGet email analytics
Read-only
Inspect

Delivery and engagement numbers for one sent email: recipients, deliveries, opens, clicks, failures, unsubscriptions, complaints, replies, page views. GET /emails/{id}/analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
buttondown_get_newsletterGet newsletter
Read-only
Inspect

One newsletter by id (settings and identity only; no API key, CSS or templates). GET /newsletters/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
newsletter_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
buttondown_get_subscriberGet subscriber
Read-only
Inspect

One subscriber by id or by e-mail address: type, tags, notes, metadata, source, engagement and lifecycle dates. GET /subscribers/{id_or_email}.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_or_emailYesThe subscriber's id or e-mail address.
buttondown_get_tag_analyticsGet tag analytics
Read-only
Inspect

Subscribers created, open rate and click rate for one tag. GET /tags/{id}/analytics.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYesTag id (see buttondown_list_tags).
buttondown_list_automationsList automations
Read-only
Inspect

List automations (welcome sequences and other triggered e-mails) with name, status, trigger, actions and filters (webhook URLs in actions are shown by host only). Read-only: automations are not started or changed. GET /automations.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_emailsList emails
Read-only
Inspect

List emails (drafts, scheduled and sent), newest first by default, with subject, status, publish date, slug, archive URL and analytics summary. The body is left out unless include_body is set. Filter by status, subject text or date. GET /emails.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
statusNoOnly emails with these statuses (draft, scheduled, sent, ...).
subjectNoOnly emails whose subject contains this text.
orderingNoSort order (default -creation_date).
include_bodyNoInclude each email's full body (large). Default false.
created_afterNoOnly emails created on or after this date (yyyy-mm-dd).
created_beforeNoOnly emails created before this date (yyyy-mm-dd).
published_afterNoOnly emails published on or after this date (yyyy-mm-dd).
published_beforeNoOnly emails published before this date (yyyy-mm-dd).
buttondown_list_eventsList email events
Read-only
Inspect

List delivery events (delivered, opened, clicked, bounced, unsubscribed, ...), newest first, optionally for one email or subscriber. GET /events.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
email_idNoOnly events for this email.
page_sizeNoResults per page, 1-500 (default 100).
event_typeNoOnly events of this type.
subscriber_idNoOnly events for this subscriber (id, not e-mail).
buttondown_list_formsList forms
Read-only
Inspect

List sign-up forms with title, slug, status, tags and subscriber counts. GET /forms.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_newslettersList newsletters
Read-only
Inspect

List the newsletters on the account with name, username, domains, sender, locale and timezone. The newsletter's API key, custom CSS and e-mail templates are never returned. GET /newsletters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_segmentsList segments
Read-only
Inspect

List saved subscriber segments with name, description and filters. GET /segments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_snippetsList snippets
Read-only
Inspect

List reusable content snippets with identifier, name, mode and how often each is referenced. GET /snippets.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_subscribersList subscribers
Read-only
Inspect

List or search subscribers (newest first by default) with e-mail, type (regular, unactivated, unsubscribed, premium, ...), tags, notes, metadata, source, open/click rates and dates. Filter by e-mail text, type, tag, signup date or domain. GET /subscribers.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoOnly subscribers with these tag names.
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
typeNoOnly subscribers of these types (e.g. regular, unactivated, unsubscribed).
domainNoOnly subscribers whose e-mail domain is one of these.
not_typeNoExclude subscribers of these types.
orderingNoSort field, - for descending (default -creation_date).
created_afterNoOnly subscribers created on or after this date (yyyy-mm-dd).
email_addressNoOnly subscribers whose e-mail address contains this text.
created_beforeNoOnly subscribers created before this date (yyyy-mm-dd).
buttondown_list_survey_responsesList survey responses
Read-only
Inspect

List survey responses (who answered what), optionally for one survey, email or subscriber. GET /survey_responses.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
email_idNoOnly responses submitted from this email.
survey_idNoOnly responses to this survey.
created_afterNoA date, yyyy-mm-dd.
subscriber_idNoOnly responses by this subscriber (id, not e-mail).
created_beforeNoA date, yyyy-mm-dd.
buttondown_list_surveysList surveys
Read-only
Inspect

List surveys with question, answers, status and response count. GET /surveys.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
statusNoOnly surveys with this status.
buttondown_list_tagsList tags
Read-only
Inspect

List subscriber tags with name, color, descriptions and whether subscribers can edit them. GET /tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_list_webhooksList webhooks
Read-only
Inspect

List configured webhooks with status and subscribed event types. The signing key is never returned and the URL is shown by host only. GET /webhooks.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
buttondown_update_email_draftEdit an email draft
Destructive
Inspect

WRITE: edit the subject, body, description, slug or preview image of an email that is still a DRAFT (replaces those fields; the previous text is lost unless Buttondown's email history is used). Refuses any email that is not a draft, and never changes status or publish date, so nothing is sent or scheduled. PATCH /emails/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoNew body in Markdown (or HTML); replaces the whole body.
slugNo
imageNo
subjectNo
email_idYesThe object's Buttondown id (a UUID or a prefixed id such as em_..., sub_..., tag_...).
descriptionNo
canonical_urlNo
buttondown_update_subscriberUpdate a subscriber's tags, notes or metadata
Destructive
Inspect

WRITE: change ONE subscriber's tags, private note or metadata. Tags are merged (add_tags / remove_tags change only those names; the others stay). A given note or metadata replaces the existing value (destructive for that field). The subscriber's type (unsubscribe, block, ...) and e-mail address cannot be changed here, and this tool sends nothing itself; but a tag, note or metadata change can start the newsletter's own automations (for example a tag-triggered welcome sequence), which may e-mail that one subscriber. PATCH /subscribers/{id_or_email}.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoReplace the private note with this text (empty string clears it).
add_tagsNoTag names to add.
metadataNoReplace the subscriber's metadata object with this one.
id_or_emailYesThe subscriber's id or e-mail address.
remove_tagsNoTag names to remove.

Tool Schema Changelog

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

  1. 25 tool updates
    • First observedbuttondown_add_subscriber
    • First observedbuttondown_create_email_draft
    • First observedbuttondown_create_tag
    • First observedbuttondown_get_account
    • First observedbuttondown_get_automation
    • First observedbuttondown_get_automation_analytics
    • First observedbuttondown_get_email
    • First observedbuttondown_get_email_analytics
    • First observedbuttondown_get_newsletter
    • First observedbuttondown_get_subscriber
    • First observedbuttondown_get_tag_analytics
    • First observedbuttondown_list_automations
    • First observedbuttondown_list_emails
    • First observedbuttondown_list_events
    • First observedbuttondown_list_forms
    • First observedbuttondown_list_newsletters
    • First observedbuttondown_list_segments
    • First observedbuttondown_list_snippets
    • First observedbuttondown_list_subscribers
    • First observedbuttondown_list_survey_responses
    • First observedbuttondown_list_surveys
    • First observedbuttondown_list_tags
    • First observedbuttondown_list_webhooks
    • First observedbuttondown_update_email_draft
    • First observedbuttondown_update_subscriber

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.