buttondown_get_account
Get account
The Buttondown account this API key belongs to: username and e-mail address. GET /accounts/me.
Takes no parameters.
io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.3Updated Nov 7, 2026
Read Buttondown subscribers, emails, analytics and automations; add subscribers; write email drafts.
The publisher's own server: Ably MCP by usefulapi
Hosted MCP server for Buttondown that lets an assistant read subscribers, emails, analytics and automations, add subscribers and write email drafts.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.usefulapi%2Fbuttondown/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"buttondown-by-usefulapi": {
"type": "http",
"url": "https://buttondown.usefulapi.io/mcp"
}
}
}Use Buttondown from Claude, Cursor, or any MCP client — subscribers, emails, analytics, tags, automations, surveys and events, plus subscribers and email drafts. Hosted, no local install: connect with your own Buttondown credentials.
Live endpoint: https://buttondown.usefulapi.io/mcp · Homepage: https://usefulapi.io/buttondown
https://buttondown.usefulapi.io/mcp.claude mcp add --transport http buttondown https://buttondown.usefulapi.io/mcp, then run /mcp to log in.Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Buttondown credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/buttondown/
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].
Pro covers this server only. Subscribe with buttondown_upgrade (it returns a Stripe Checkout link). Cancel any time with buttondown_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running buttondown_upgrade before then undoes the cancel. Or write to [email protected].
MIT © usefulapi. Not affiliated with or endorsed by Buttondown.
Source: servers/buttondown/README.md at commit 4046075
Get account
The Buttondown account this API key belongs to: username and e-mail address. GET /accounts/me.
Takes no parameters.
List newsletters
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.
pageGet newsletter
One newsletter by id (settings and identity only; no API key, CSS or templates). GET /newsletters/{id}.
newsletter_idrequiredList subscribers
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.
tagpagetypedomainnot_typeorderingcreated_afteremail_addresscreated_beforeGet subscriber
One subscriber by id or by e-mail address: type, tags, notes, metadata, source, engagement and lifecycle dates. GET /subscribers/{id_or_email}.
id_or_emailrequiredAdd a subscriber
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.
tagsnotesmetadatautm_mediumutm_sourcereferrer_urlutm_campaignemail_addressrequiredUpdate a subscriber's tags, notes or metadata
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}.
notesadd_tagsmetadataid_or_emailrequiredremove_tagsList emails
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.
pagestatussubjectorderinginclude_bodycreated_aftercreated_beforepublished_afterpublished_beforeGet email
One email by id with its full body, subject, status, publish date, slug, archive settings and analytics summary. GET /emails/{id}.
email_idrequiredGet email analytics
Delivery and engagement numbers for one sent email: recipients, deliveries, opens, clicks, failures, unsubscriptions, complaints, replies, page views. GET /emails/{id}/analytics.
email_idrequiredCreate an email draft
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.
bodyslugimagesubjectrequireddescriptioncanonical_urlEdit an email draft
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}.
bodyslugimagesubjectemail_idrequireddescriptioncanonical_urlList tags
List subscriber tags with name, color, descriptions and whether subscribers can edit them. GET /tags.
pageGet tag analytics
Subscribers created, open rate and click rate for one tag. GET /tags/{id}/analytics.
tag_idrequiredCreate a tag
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.
namerequiredcolorrequireddescriptionpublic_descriptionsubscriber_editableList automations
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.
pageGet automation
One automation by id with its trigger, actions and filters. GET /automations/{id}.
automation_idrequiredGet automation analytics
Performance numbers for one automation. GET /automations/{id}/analytics.
automation_idrequiredList surveys
List surveys with question, answers, status and response count. GET /surveys.
pagestatusList survey responses
List survey responses (who answered what), optionally for one survey, email or subscriber. GET /survey_responses.
pageemail_idsurvey_idcreated_aftersubscriber_idcreated_beforeList segments
List saved subscriber segments with name, description and filters. GET /segments.
pageList forms
List sign-up forms with title, slug, status, tags and subscriber counts. GET /forms.
pageList snippets
List reusable content snippets with identifier, name, mode and how often each is referenced. GET /snippets.
pageList webhooks
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.
pageList email events
List delivery events (delivered, opened, clicked, bounced, unsubscribed, ...), newest first, optionally for one email or subscriber. GET /events.
pageemail_idpage_sizeevent_typesubscriber_id100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
io.usefulapiOfficial publisher
Hosted MCP server for Ably realtime messaging: inspect channel history, presence and occupancy, publish messages, and review app usage and configuration.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant look up Woffu company users, employment contracts, departments and offices.
io.usefulapiOfficial publisher
Hosted MCP server for White Label Loyalty: browse rewards, read a customer's points wallet and tier progress, and buy rewards with points.
io.usefulapiOfficial publisher
Hosted Weekdone connector that lets an assistant read weekly reports, teams, objectives and KPIs, and add report items, comments and KPI values.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant list WebinarKit webinars, their dates, series, meetings and white-label sub-accounts.
{ "mcpServers": { "buttondown": { "url": "https://buttondown.usefulapi.io/mcp" } }}