Siteleaf
A friendly CMS for static sites. Powered by Jekyll, with GitHub sync, and a complete API.
Verdict
Common use cases
- Draft blog posts with AI and publish directly
- Update documentation pages from support tickets
- Trigger site rebuilds after content changes
- Assign contributor roles to new team members
- Check build job status without leaving chat
Integration
- Vendor
- Siteleaf
- Category
- developer-tools
- Auth
- API_KEY
- Tools
- 35
- Composio slug
siteleaf
Tools
- Cancel Job
Cancel an active Siteleaf job by job ID. This irreversibly requests that the job stop.
- Create Collection
Create a content collection in a Siteleaf site.
- Create Collection File
Upload one static file to a Siteleaf collection identified by its path. This action cannot create collection documents or content files with YAML front matter.
- Create Document
Create a document in a Siteleaf collection with content, taxonomy, metadata, and visibility.
- Create or Replace Source File
Create or replace one raw source file in a Siteleaf site.
- Create Page
Create a page in a Siteleaf site.
- Create Role
Grant a Siteleaf user an admin, publisher, or writer role on a site.
- Create Site
Create a Siteleaf site with its domain, timezone, metadata, and defaults.
- Delete Collectiondestructive
Permanently delete a Siteleaf collection by site ID and collection path. This cannot be undone.
- Delete Documentdestructive
Permanently delete a Siteleaf document by ID. This cannot be undone.
- Delete Pagedestructive
Permanently delete a Siteleaf page by ID. This cannot be undone.
- Delete Roledestructive
Delete a Siteleaf role by ID, removing the user's access to its site.
- Delete Sitedestructive
Permanently delete a Siteleaf site by ID. This cannot be undone.
- Delete Source Filedestructive
Permanently delete one raw source file from a Siteleaf site. Directories and _config.yml are protected and cannot be deleted.
- Get Collection
Get a collection by site ID and collection path.
- Get Current User
Return the Siteleaf user authenticated by the connected API key.
- Get Document
Get a Siteleaf document by ID.
- Get Job
Get the complete buffered status stream for a Siteleaf job, including all status events and the latest status details. The call waits until Siteleaf closes the event stream.
- Get Page
Get a Siteleaf page by ID.
- Get Role
Get a Siteleaf site-access role by ID.
- Get Site
Get one Siteleaf site by ID, including its settings and current or most recent preview, publish, and synchronization job states.
- Get Site Taxonomy
Return the unique post tags and categories used by a Siteleaf site.
- Get Source
Get raw source-file metadata or list a source directory for a Siteleaf site.
- List Collection Files
Search and list static files in a Siteleaf collection with sorting and agent-controlled pagination.
- List Collections
List content collections in a Siteleaf site with agent-controlled pagination.
- List Documents
Search and list documents in a Siteleaf collection with visibility, extension, sorting, and pagination filters.
- List Pages
Search and list pages in a Siteleaf site with visibility, extension, sorting, and pagination filters.
- List Sites
List sites accessible to the connected Siteleaf account, with optional sorting and agent-controlled pagination.
- List Site Users
List users who have access to a Siteleaf site with agent-controlled pagination.
- Publish Site
Start an asynchronous compile-and-publish job for a Siteleaf site and return its job ID. This publishes externally visible site content and does not wait for job completion.
- Update Collection
Update at least one of a collection's title, path, permalink, output behavior, or metadata.
- Update Document
Update at least one of a document's content, path, taxonomy, visibility, metadata, or date.
- Update Page
Update at least one of a page's content, path, visibility, metadata, or publication date.
- Update Role
Change an existing Siteleaf role to admin, publisher, or writer.
- Update Site
Update at least one of a site's title, domain, timezone, metadata, or Jekyll content defaults. Hosting credentials and repository sync are intentionally not accepted as agent inputs.
Setup
Setup guide
- 11. Open your Switchy workspace and navigate to Settings > Integrations. 2. Find Siteleaf in the MCP catalog and click Connect. 3. Log into your Siteleaf account at manage.siteleaf.com and go to Account > API Keys. 4. Generate a new API key or copy an existing one that has write permissions for the sites you want to control. 5. Paste the key into the Switchy connection dialog and click Authorize. 6. Switchy will verify the key works by listing your sites. 7. Open any Project, type '@Siteleaf list my sites' in the chat, and confirm you see your site names in the response. 8. If the list appears, the connection is live and you can start creating pages, documents, or managing collections.
What teammates see: by default, memories from Siteleaf are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
List All Sites
@Siteleaf show me all the sites I have access to, including their IDs and current publish status.
Create Blog Post
@Siteleaf create a new blog post titled 'Getting Started with Static Sites' in the posts collection on my main site. Include an introduction paragraph and tag it 'tutorial' and 'jekyll'.
Update Documentation Page
@Siteleaf find the 'Installation Guide' page on my docs site and update the prerequisites section to mention Node 18 instead of Node 16.
Check Build Status
@Siteleaf get the status of the latest build job for my production site and show me any error messages if it failed.
Add Team Member
@Siteleaf create a writer role for user email alex@example.com on my blog site so they can draft posts but not publish.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@siteleaf list all documents in the 'blog' collection and show me which ones are still in draft status
The 'blog' collection contains 47 documents. Of these, 8 are currently in draft status: 'introducing-our-new-api' (last modified 3 days ago), 'migration-guide-v2' (last modified 1 week ago), 'performance-optimization-tips' (last modified 2 weeks ago), and 5 others. The remaining 39 documents are published. All drafts have 'visible: draft' in their metadata. This is an illustrative example showing how the MCP surfaces document visibility state across a collection.
This example uses the list/read capabilities to surface content state. Requires API key with read access to the target site. Useful for editorial workflows where you need to track unpublished content. The MCP returns metadata fields including visibility, so you can filter or prioritize drafts without opening each document individually.
@siteleaf create a new blog post titled 'Q1 Product Updates' with a summary of our recent feature releases, set it to draft, and tag it with 'product' and 'announcements'
Created document 'q1-product-updates' in the 'blog' collection with draft visibility. The document includes the provided content summary, a slug generated from the title, and taxonomy tags 'product' and 'announcements'. The document is now visible in your Siteleaf dashboard under Drafts and can be edited further before publishing. Document ID: doc_abc123xyz. This illustrative example shows the MCP creating content with metadata in a single action.
This example demonstrates the Create Document tool, which writes new content with front matter in one step. Requires API key with write permissions. The MCP sets visibility to 'draft' by default unless you specify 'visible: published'. Be aware that creating documents does not trigger a site rebuild — you'll need to publish separately to deploy changes to your live site.
@siteleaf review all blog posts published in the last 30 days and draft a short release note highlighting the three most significant topics we covered
Reviewed 12 blog posts published between March 1-31, 2024. The three most significant topics were: (1) API v2 migration guidance, covered in 4 posts with detailed code examples; (2) Performance optimization strategies, including caching and asset delivery improvements; (3) New collaboration features for multi-author workflows. Suggested release note: 'This month we focused on helping teams migrate to our v2 API, optimize site performance, and collaborate more effectively. Read our migration guide, performance tips, and workflow updates on the blog.' This illustrative example shows synthesis across multiple documents.
This example pairs Siteleaf's read capabilities with the AI's reasoning to synthesize content themes. The MCP fetches document metadata and content, then the AI identifies patterns and drafts copy. Useful for generating summaries, newsletters, or changelog entries from your CMS content. Rate limits apply when fetching many documents — the API allows 120 requests per minute per API key.
Use-case deep-dives
When non-technical editors need to ship content changes fast
A 6-person startup runs their marketing site on Jekyll via Siteleaf. The product manager wants to publish a new case study page without waiting for the engineer to merge a PR. This MCP is the right call if your team already uses Siteleaf and needs AI to draft pages with proper front matter, taxonomy, and metadata in one shot. The Create Page and Create Document tools handle YAML structure so the PM can say "add a case study for Acme Corp with tags SaaS and enterprise" and the AI writes valid Jekyll. The threshold: if your site has complex nested layouts or custom shortcodes, you'll still need a dev to review the output before publish. Worth it when your content velocity is 3+ pages per week and your editor knows enough to spot broken links.
This MCP handles one-time content imports at small scale
A 3-person dev tools company is moving 40 markdown docs from a legacy CMS into Siteleaf. The Create or Replace Source File tool can push each file programmatically, but the 35-tool surface means you're also paying for job cancellation, role management, and collection scaffolding you won't touch. This MCP works if you're already committed to Siteleaf and need the AI to map old front matter fields to new taxonomy during the import. The trade-off: if you're migrating more than 200 files or need to preserve git history, a direct Jekyll repo script is faster and cheaper. Use this MCP when the migration is a weekend project and you want conversational control over how metadata gets rewritten, not when you're automating a 10k-page cutover.
When you spin up 5+ Siteleaf sites per month for clients
A 10-person agency builds marketing sites for local businesses on Siteleaf. The account manager wants to say "create a site for Bakery XYZ with their timezone and grant the owner publisher access" without opening the Siteleaf dashboard. This MCP is the right tool because Create Site and Create Role let the AI handle the full onboarding flow in one conversation. The agency saves 15 minutes per client and avoids the copy-paste errors that happen when setting up defaults and permissions manually. The boundary: if your agency uses a white-label CMS or needs to template 20+ collections per site, Siteleaf's structure might be too rigid and this MCP won't fix that. Best fit when your client sites share 80% of the same scaffold and you bill hourly for setup time.
Frequently asked
What does the Siteleaf MCP let me do in Switchy?
It lets your AI agents create and manage Jekyll-based static sites through Siteleaf's API. Agents can create pages, collections, and documents, upload files, manage user roles, and trigger site builds. This is useful for teams that maintain documentation sites, marketing pages, or content hubs in Siteleaf and want AI to handle routine content operations without opening the Siteleaf dashboard.
Do I need admin access to connect Siteleaf MCP?
Yes. The MCP uses Siteleaf API keys, which are tied to your user account. You need owner or admin permissions on the sites you want agents to modify. Writer or publisher roles won't work because the MCP can create sites, assign roles, and delete content — operations that require admin privileges in Siteleaf's permission model.
Can the MCP edit existing pages or just create new ones?
It can do both. The "Create or Replace Source File" tool overwrites existing files by path, so agents can update pages, layouts, or data files. For collection documents, agents use "Create Document" with the same slug to replace content. There's no dedicated "update" endpoint — Siteleaf's API treats creates and replacements identically when the resource already exists.
Why use this instead of editing Siteleaf files in GitHub directly?
Siteleaf's API handles Jekyll front matter, taxonomy, and metadata validation automatically. If you edit files in GitHub, you risk breaking YAML syntax or violating collection schemas. The MCP also triggers Siteleaf builds, which compile your site and deploy it. Direct GitHub edits require manual builds or webhook configuration. Use this when you want guardrails; use GitHub when you need version control history.
Who on the team should connect this integration?
Whoever owns your Siteleaf account and has API key access. Typically that's a developer or content ops lead. Once connected, any Switchy workspace member can ask agents to use it, but the API key's permissions apply to all requests. If your team has multiple Siteleaf sites, connect the account that has admin rights across all of them.