Buttondown MCP by usefulapi
io.usefulapi/buttondown · v1.0.0
Read Buttondown subscribers, emails, analytics and automations; add subscribers; write email drafts.
MCPremoteno credentialsEmailAnalytics & marketing
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 25 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 87/100
What it does: 25 tools · 20 read, 5 write (incl. delete/pay) · Email, Analytics & marketing, Knowledge & docs
Test call buttondown_get_account: needs a key: HTTP 401 (1,046 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +9
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://buttondown.usefulapi.io/mcpTools
25 tools listed at last check
buttondown_get_accountThe Buttondown account this API key belongs to: username and e-mail address. GET /accounts/me.buttondown_list_newslettersList 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.buttondown_get_newsletterOne newsletter by id (settings and identity only; no API key, CSS or templates). GET /newsletters/{id}.buttondown_list_subscribersList 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.buttondown_get_subscriberOne subscriber by id or by e-mail address: type, tags, notes, metadata, source, engagement and lifecycle dates. GET /subscribers/{id_or_email}.buttondown_add_subscriberWRITE: 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 thebuttondown_update_subscriberWRITE: 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 cannbuttondown_list_emailsList 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.buttondown_get_emailOne email by id with its full body, subject, status, publish date, slug, archive settings and analytics summary. GET /emails/{id}.buttondown_get_email_analyticsDelivery and engagement numbers for one sent email: recipients, deliveries, opens, clicks, failures, unsubscriptions, complaints, replies, page views. GET /emails/{id}/analytics.buttondown_create_email_draftWRITE: 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.buttondown_update_email_draftWRITE: 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 schbuttondown_list_tagsList subscriber tags with name, color, descriptions and whether subscribers can edit them. GET /tags.buttondown_get_tag_analyticsSubscribers created, open rate and click rate for one tag. GET /tags/{id}/analytics.buttondown_create_tagWRITE: 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.buttondown_list_automationsList 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.buttondown_get_automationOne automation by id with its trigger, actions and filters. GET /automations/{id}.buttondown_get_automation_analyticsPerformance numbers for one automation. GET /automations/{id}/analytics.buttondown_list_surveysList surveys with question, answers, status and response count. GET /surveys.buttondown_list_survey_responsesList survey responses (who answered what), optionally for one survey, email or subscriber. GET /survey_responses.buttondown_list_segmentsList saved subscriber segments with name, description and filters. GET /segments.buttondown_list_formsList sign-up forms with title, slug, status, tags and subscriber counts. GET /forms.buttondown_list_snippetsList reusable content snippets with identifier, name, mode and how often each is referenced. GET /snippets.buttondown_list_webhooksList configured webhooks with status and subscribed event types. The signing key is never returned and the URL is shown by host only. GET /webhooks.buttondown_list_eventsList delivery events (delivered, opened, clicked, bounced, unsubscribed, ...), newest first, optionally for one email or subscriber. GET /events.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/buttondown)