ButterCMS MCP by usefulapi
Read blog posts, authors, categories, tags, pages and collection items in ButterCMS.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin buttercms_list_collection_items
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"buttercms": {
"url": "https://buttercms.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://buttercms.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (15)
🟢buttercms_list_posts(page, page_size, exclude_body, author_slug, category_slug, ...)
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/.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Items per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"exclude_body": {
"description": "true = leave out the full post body (smaller response).",
"type": "boolean"
},
"author_slug": {
"description": "Only posts by this author slug.",
"type": "string"
},
"category_slug": {
"description": "Only posts in this category slug.",
"type": "string"
},
"tag_slug": {
"description": "Only posts with this tag slug.",
"type": "string"
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_post(slug, locale)
Get one blog post by slug, with the full body, metadata, and the next and previous posts. Read API: GET /posts/{slug}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "The post slug (from buttercms_list_posts)."
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_search_posts(query, page, page_size, exclude_body, locale)
Full-text search in blog post titles, bodies and summaries. Results are sorted by relevance. Read API: GET /posts/search/.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Search text."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Items per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"exclude_body": {
"description": "true = leave out the full post body.",
"type": "boolean"
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_list_authors(include, locale)
List all blog authors. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /authors/.
Eingabe-Schema
{
"type": "object",
"properties": {
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_author(slug, include, locale)
Get one blog author by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /authors/{slug}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "The author slug (from buttercms_list_authors)."
},
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_list_categories(include, locale)
List all blog categories. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /categories/.
Eingabe-Schema
{
"type": "object",
"properties": {
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_category(slug, include, locale)
Get one blog category by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /categories/{slug}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "The category slug (from buttercms_list_categories)."
},
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_list_tags(include, locale)
List all blog tags. Set include to 'recent_posts' to embed the recent posts of each one. Read API: GET /tags/.
Eingabe-Schema
{
"type": "object",
"properties": {
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_tag(slug, include, locale)
Get one blog tag by slug. Set include to 'recent_posts' to embed the recent posts. Read API: GET /tags/{slug}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "The tag slug (from buttercms_list_tags)."
},
"include": {
"description": "Set to 'recent_posts' to embed the recent posts.",
"type": "string",
"enum": [
"recent_posts"
]
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_list_pages(page_type, page, page_size, order, fields, ...)
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}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_type": {
"type": "string",
"minLength": 1,
"description": "Page type slug, or '*' for Single Pages."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Items per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"order": {
"description": "Order by 'published', 'updated' or a field of the page type. Prefix '-' for descending.",
"type": "string"
},
"fields": {
"description": "Filter by field value, for example {\"headline\": \"Hello\"}. Keys are field names; nested fields use dots.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,80}$"
},
"additionalProperties": {
"type": "string"
}
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"required": [
"page_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_page(page_type, page_slug, locale, levels, preview)
Get one page by page type and slug. Use '*' as page_type for a Single Page. Read API: GET /pages/{page_type}/{page_slug}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"page_type": {
"type": "string",
"minLength": 1,
"description": "Page type slug, or '*' to search all page types."
},
"page_slug": {
"type": "string",
"minLength": 1,
"description": "The page slug."
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"required": [
"page_type",
"page_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_search_pages(query, page_type, page, page_size, locale, ...)
Search the direct content of pages by text. Results are sorted by relevance. Read API: GET /pages/search/.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Search text."
},
"page_type": {
"description": "Only this page type slug, or '*' for Single Pages.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Items per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_collections(keys, locale, levels, preview)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"keys": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,80}$"
},
"description": "Collection keys."
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"required": [
"keys"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_list_collection_items(collection_key, page, page_size, order, fields, ...)
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}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"collection_key": {
"type": "string",
"minLength": 1,
"description": "The collection key."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Items per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"order": {
"description": "A field key of the collection. Prefix '-' for descending.",
"type": "string"
},
"fields": {
"description": "Filter by field value, for example {\"headline\": \"Hello\"}. Keys are field names; nested fields use dots.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,80}$"
},
"additionalProperties": {
"type": "string"
}
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"required": [
"collection_key"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢buttercms_get_collection_item(collection_key, item_id, locale, levels, preview)
Get one collection item by its numeric id. Read API: GET /content/{collection_key}/{item_id}/.
Eingabe-Schema
{
"type": "object",
"properties": {
"collection_key": {
"type": "string",
"minLength": 1,
"description": "The collection key."
},
"item_id": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "The numeric item id (meta.id from buttercms_list_collection_items)."
},
"locale": {
"description": "Locale API slug, for example 'en' or 'fr'. Default: the account default locale.",
"type": "string"
},
"levels": {
"description": "Depth of referenced content to include (1-5). Higher values give larger responses.",
"type": "integer",
"minimum": 1,
"maximum": 5
},
"preview": {
"description": "true = return the latest draft version instead of the published one.",
"type": "boolean"
}
},
"required": [
"collection_key",
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis