About Butterfly MCP
Butterfly MCP is an MCP server in the Browser category: mCP server that exposes the Enodo Butterfly headless CMS (via the Butterfly API) as tools for LLM agents.
Install
git clone https://github.com/enodo-io/butterfly-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (54)
create_authorCreate an author.
Parameters not published.
create_categoryCreate a category. parent_category is a propertycategoryId.
Parameters not published.
create_custom_settingRegister a custom field that can be used in the `custom` object of posts / categories / terms / authors / medias / general.
Parameters not published.
create_feedCreate a feed with an ordered list of elements (post / category / term<tax>).
Parameters not published.
create_flagCreate a flag.
Parameters not published.
create_postCreate a post. type is required (one per post). category is optional (zero or one). flags/authors/terms are all many-to-many. body is an optional butterfly block array — when provided the semantic editor document is seeded with it so humans can keep editing.
Parameters not published.
create_taxonomyCreate a taxonomy.
Parameters not published.
create_termCreate a term in a taxonomy.
Parameters not published.
create_typeCreate a content type.
Parameters not published.
delete_authorDelete an author by slug.
Parameters not published.
Show all 54 tools
delete_block_templateDelete a block template by key. Posts that referenced it keep the orphan slug; renderers ignore it.
Parameters not published.
delete_categorySoft-delete a category (and record how subsequent GETs of its URL respond). Same http_code / detail contract as delete_post.
Parameters not published.
delete_custom_settingDelete a custom setting by key.
Parameters not published.
delete_custom_styleDelete a custom style by key. Posts that referenced it keep the orphan slug; renderers ignore it.
Parameters not published.
delete_feedDelete a feed by slug.
Parameters not published.
delete_flagDelete a flag by id.
Parameters not published.
delete_mediaDelete a media.
Parameters not published.
delete_postSoft-delete a post — flips its status to
Parameters not published.
delete_taxonomyDelete a taxonomy by slug.
Parameters not published.
delete_termSoft-delete a term within a taxonomy (and record how subsequent GETs of its URL respond). Same http_code / detail contract as delete_post.
Parameters not published.
delete_typeDelete a type by id.
Parameters not published.
get_block_templateRead one block template by key (admin only).
Parameters not published.
get_custom_styleRead one custom style by key (admin only).
Parameters not published.
get_postFetch a post by id (including its body). By default published-only via the public key. Set include_drafts: true to fetch any post (admin, cache-bypass).
Parameters not published.
get_propertyRead the current Butterfly property — its title, description, locale, timezone, hostname, permalink template and custom field values. Use this to see what is editable before calling update_property, and to inspect the current permalink (URL shape of posts on the live site).
Parameters not published.
get_property_contextSnapshot of the property
Parameters not published.
list_authorsList authors. By default only authors with at least one published post, going through the edge cache. Set include_unused: true to also see authors with no attached posts. Paginated — `meta.total` is the full count.
Parameters not published.
list_block_templatesList the per-property catalog of named block templates (admin only). Each template carries a name, a description and a list of stylable block types (`targets`) it can be applied to. Reference one from a body block via `template:
Parameters not published.
list_block_typesReturn the full butterfly post body grammar: every block type, its exact JSON shape, a concrete example, plus the inline-node sub-grammar. Call this whenever you are about to craft or review a body — block shapes differ subtly (e.g. quote flattens source into data, related unwraps to {type,id} pairs, images only carry mediaId + editorial fields).
Parameters not published.
list_categoriesList categories. Always reads with the admin key, so categories with no attached posts are included.
Parameters not published.
list_custom_settingsList custom settings definitions (admin only).
Parameters not published.
list_custom_stylesList the per-property catalog of named custom styles (admin only). Custom styles are inline marks (like bold / italic) applied to a substring of a text-bearing block. Each style carries a whitelisted CSS bag and a list of inline-capable block types (`targets`) it can be applied within. Wrap the styled substring with a `customstyle` inline node: { type:
Parameters not published.
list_feedsList feeds. Admin key returns actual feeds.
Parameters not published.
list_flagsList flags (admin only).
Parameters not published.
list_mediasList medias. By default only those attached to a published post (cacheable). Set include_orphans: true to include medias not attached to any published post (admin, cache-bypass).
Parameters not published.
list_postsList posts. By default returns published content only, going through the edge cache. Set include_drafts: true (or ask for a non-published status) to see drafts / awaiting-approval / planned / deleted posts — that path uses the admin key and skips the cache.
Parameters not published.
list_taxonomiesList taxonomies.
Parameters not published.
list_termsList terms in a taxonomy. By default only terms with at least one published post, going through the edge cache. Set include_unused: true to also see terms with no attached posts. Paginated — `meta.total` is the full count.
Parameters not published.
list_typesList content types (admin only).
Parameters not published.
markdown_to_butterfly_bodyConvert a markdown string into a butterfly post body array, ready to pass to create_post / update_post. Handles paragraphs, headings (h2-h6), lists, code fences, blockquotes, horizontal rules, inline formatting (bold/italic/strike/code/links) and line breaks. Markdown images become image blocks with the markdown alt/title and, if image_media_ids matches, a mediaId; otherwise mediaId is left unset and _sourceUrl carries the original URL for a follow-up upload. Tables are kept as raw markdown blocks — promote them via list_block_types if you need structured tables.
Parameters not published.
update_authorUpdate an author by slug.
Parameters not published.
update_block_templateUpdate a block template by key. The key is immutable; any subset of name, description, targets can be patched.
Parameters not published.
update_categoryUpdate a category. Pass restore=true to undo a prior soft-delete (brings the category back into the live list).
Parameters not published.
update_custom_settingUpdate a custom setting by key. The key itself and the target resource are immutable — only name, description and the field definition can change.
Parameters not published.
update_custom_styleUpdate a custom style by key. The key is immutable; any subset of name, description, targets, css can be patched.
Parameters not published.
update_feedUpdate a feed by slug.
Parameters not published.
update_flagUpdate a flag by id.
Parameters not published.
update_mediaUpdate media metadata (name/description/credits/keywords/custom).
Parameters not published.
update_postUpdate a post. Send only the fields you want to change. Sending authors/flags/terms replaces the whole set (not append). Sending body pushes a new fs revision so the semantic editor sees the change.
Parameters not published.
update_propertyUpdate the current Butterfly property. Every field is optional — send only the ones you want to change. The property title / description / locale / timezone drive SEO metadata on the live site; hostname is the base URL; permalink is the URL template applied to every post.
Parameters not published.
update_taxonomyUpdate a taxonomy by slug.
Parameters not published.
update_termUpdate a term by slug within a taxonomy.
Parameters not published.
update_typeUpdate a content type by id.
Parameters not published.
upload_mediaUpload a new media (image, video, audio). Source is a local path OR URL OR base64.
Parameters not published.
Ask AI
Ask AI about Butterfly MCP
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.