MCP Tool Reference

ToolDescriptionParameters
list_postsList posts (with draft/published status) from the content repocollection?
read_postRead a post's content and frontmatterslug, collection?
create_postCreate a new post (allowlist-validated), commit it to the content reposlug, html, title, date, draft?, tags?, collection?
edit_postUpdate content/frontmatter of an existing post (allowlist-validated), commit the changeslug, html?, title?, date?, draft?, tags?, collection?
delete_postRemove a post, commit the deletionslug, collection?
upload_imageUpload an image (base64-encoded) into an existing post's image directory and commit it to the content repo. Reference it in the post's HTML as <img src="<filename>" alt="...">, a bare filename — do not write <picture>/srcset/width/height, those are generated automatically at build time.slug, filename, data, collection?
create_branchStart (or resume) the draft branch for a post. Fails if another draft is already checked out for this slug — see spec §5.4 "Per-post draft locking".slug, collection?
abandon_draftDiscard a post's draft branch without publishing, releasing the lock on itslug, collection?
diffShow a post's draft-branch changes against main (or another ref)slug, against?, collection?
publishMerge a post's draft branch into main, push, and trigger a rebuild. Mode (direct/pr) is set by the PUBLISH_MODE env var, not per-call.slug, collection?
previewPush a post's draft branch to the content repo. No hosted preview URL in v1 — check out the branch and run the build locally to view it.slug, collection?
revalidateTrigger a Cloudflare Pages rebuild via its deploy hook(none)
deploy_statusRead the most recent Cloudflare Pages deployment's real state — closes the loop publish/revalidate open, since a deploy hook accepting a POST doesn't prove the build actually succeeded(none)
rollbackRevert to a previous commit — pass slug to revert just that post, omit it to revert a whole commit repo-widecommitHash, slug?, collection?