ButterCMS MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.3.4Updated Nov 7, 2026

Read blog posts, authors, categories, tags, pages and collection items in ButterCMS.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableKnowledge & MemoryBusiness & Commerce

Overview

AI-generated overview

Hosted read-only MCP access to a ButterCMS site: browse and search blog posts, authors, categories, tags, pages and collection items.

What you can do
  • List, fetch and full-text search blog posts, with author, category and tag filters and optional body exclusion.
  • List and fetch authors, categories and tags, optionally embedding each one's recent posts.
  • List, fetch and search pages by page type, including Single Pages.
  • Fetch one or more collections by key, and list or fetch individual collection items with paging, ordering and field filters.
  • Check monthly usage, request a missing feature, and manage a paid subscription.
When to use it
Useful when an assistant should answer questions about a ButterCMS-backed site's content — summarizing or finding blog posts, checking who wrote what, or pulling structured collection data — without leaving the chat client.
Requirements
Remote streamable HTTP endpoint; no local install. Sign-in is by OAuth, and the login page asks for a ButterCMS Read API token (one per site), which the server validates and stores per user. No API key or Authorization header goes in the client config.
Before you install
The service is metered: the free plan allows 50 tool calls per month, and paid plans are billed through a Stripe checkout link returned by the upgrade tool. The subscription tools can start or cancel a paid plan, and cancellation gives no refund for the current period. Your ButterCMS token is stored server-side, and content is read from your ButterCMS site through this third-party host.

Installation

In SourceWeft

  1. Open ButterCMS MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

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%2Fbuttercms/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.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "buttercms-by-usefulapi": {
      "type": "http",
      "url": "https://buttercms.usefulapi.io/mcp"
    }
  }
}

README

ButterCMS MCP by usefulapi

Use your ButterCMS account from Claude, Cursor, or any MCP client. Read blog posts, authors, categories, tags, pages and collection items of a site. Hosted, no local install: connect with your own credentials.

Live endpoint: https://buttercms.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://buttercms.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http buttercms https://buttercms.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "buttercms": {      "url": "https://buttercms.usefulapi.io/mcp"    }  }}

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 ButterCMS credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/buttercms/

On first connect you provide a ButterCMS Read API token (ButterCMS dashboard → Settings → General → API Tokens). Each site has its own token. The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
buttercms_list_postsreadList blog posts
buttercms_get_postreadGet a blog post
buttercms_search_postsreadSearch blog posts
buttercms_list_authorsreadList authors
buttercms_get_authorreadGet an author
buttercms_list_categoriesreadList categories
buttercms_get_categoryreadGet a category
buttercms_list_tagsreadList tags
buttercms_get_tagreadGet a tag
buttercms_list_pagesreadList pages
buttercms_get_pagereadGet a page
buttercms_search_pagesreadSearch pages
buttercms_get_collectionsreadGet collections by key
buttercms_list_collection_itemsreadList collection items
buttercms_get_collection_itemreadGet a collection item
buttercms_usage_statusmetaUsage status (free-tier meter)
buttercms_request_featuremetaRequest a missing feature
buttercms_upgrademetaUpgrade to Pro or Pro+
buttercms_cancel_subscriptionmetaCancel the Pro subscription

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.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*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 buttercms_upgrade (it returns a Stripe Checkout link). Cancel any time with buttercms_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running buttercms_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/buttercms/README.md at commit 4046075

Tools

15

buttercms_list_posts

List blog posts

List published blog posts, newest first, with optional filters by author, category or tag. Use exclude_body to get short results. Read API: GET /posts/.

Parameterspagelocalepreviewtag_slugpage_sizeauthor_slugexclude_bodycategory_slug

buttercms_get_post

Get a blog post

Get one blog post by slug, with the full body, metadata, and the next and previous posts. Read API: GET /posts/{slug}/.

Parametersslugrequiredlocale

buttercms_search_posts

Search blog posts

Full-text search in blog post titles, bodies and summaries. Results are sorted by relevance. Read API: GET /posts/search/.

Parameterspagequeryrequiredlocalepage_sizeexclude_body

buttercms_list_authors

List authors

List all blog authors. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /authors/.

Parameterslocaleinclude

buttercms_get_author

Get an author

Get one blog author by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /authors/{slug}/.

Parametersslugrequiredlocaleinclude

buttercms_list_categories

List categories

List all blog categories. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /categories/.

Parameterslocaleinclude

buttercms_get_category

Get a category

Get one blog category by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /categories/{slug}/.

Parametersslugrequiredlocaleinclude

buttercms_list_tags

List tags

List all blog tags. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /tags/.

Parameterslocaleinclude

buttercms_get_tag

Get a tag

Get one blog tag by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /tags/{slug}/.

Parametersslugrequiredlocaleinclude

buttercms_list_pages

List pages

List pages of one page type, or all Single Pages with page_type '*'. Filtering and ordering work only for a real page type. Read API: GET /pages/{page_type}/.

Parameterspageorderfieldslevelslocalepreviewpage_sizepage_typerequired

buttercms_get_page

Get a page

Get one page by page type and slug. Use '*' as page_type for a Single Page. Read API: GET /pages/{page_type}/{page_slug}/.

Parameterslevelslocalepreviewpage_slugrequiredpage_typerequired

buttercms_search_pages

Search pages

Search the direct content of pages by text. Results are sorted by relevance. Read API: GET /pages/search/.

Parameterspagequeryrequiredlevelslocalepage_sizepage_type

buttercms_get_collections

Get collections by key

Get the items of one or more collections at once. Every key must be an existing collection key. Read API: GET /content/?keys=a,b.

Parameterskeysrequiredlevelslocalepreview

buttercms_list_collection_items

List collection items

List the items of one collection, with paging, ordering and field filters. Each item meta.id is the item id. Read API: GET /content/{collection_key}/.

Parameterspageorderfieldslevelslocalepreviewpage_sizecollection_keyrequired

buttercms_get_collection_item

Get a collection item

Get one collection item by its numeric id. Read API: GET /content/{collection_key}/{item_id}/.

Parameterslevelslocaleitem_idrequiredpreviewcollection_keyrequired

Version history

6
  1. v1.3.4LatestNov 7, 2026
  2. v1.2.3Nov 5, 2026
  3. v1.2.2Nov 5, 2026
  4. v1.2.1Nov 4, 2026
  5. v1.2.0Nov 3, 2026
  6. v1.1.1Nov 3, 2026

Score

100% 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.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations