Use Cursor, Claude, or ChatGPT connected via MCP to build and edit your public site under project/ — HTML, CSS, and JavaScript — alongside CMS content tools in a single prompt.
When to use this
- You installed a starter pack (e.g. Marsk) and want AI to add pages, tweak templates, or wire homepage sections to new blog posts.
- You prefer editing static templates in
project/rather than only CMS entries. - You want one connected AI session that can both create content (
create_entry) and update templates (write_project_file).
Studio (visual builder) is separate — this guide covers the canonical public site folder project/ only.
Prerequisites
- MCP connected — see MCP connections.
- Admin role (or a service agent with Admin) — project file writes require
manage_project_site, which is enabled for Admin by default. - Starter site optional — fresh installs have an empty
project/; Marsk and other starters populate it during onboarding.
Quick setup: Site builder service agent
- Open Settings → AI → Connect your AI app.
- Click Add agent → choose Service agent.
- Click the Site builder preset (sets Admin role and a helpful name).
- Choose who may use the agent, then create it and copy the Connector URL.
- Paste the URL in Cursor (or Claude / ChatGPT) and sign in.
Personal connector: sign in with your own Birkly account — you need the Admin role on that account to edit project/ files.
Available tools
| Tool | What it does | |------|----------------| | get_project_info | Paths, collections list, templating cheat sheet — call this first | | list_project_files | List files/folders under project/ (optional path) | | read_project_file | Read one file by relative path | | write_project_file | Create or overwrite a file | | create_project_file | Create only if the path does not exist | | delete_project_file | Delete a file (Admin by default) |
Content tools (list_collections, create_entry, update_entry, …) work in the same session.
Sandbox rules
AI can only touch files under project/:
- Allowed extensions:
html,css,js,json,md,svg,webp,txt - Blocked:
..path traversal, PHP files, dotfiles (e.g..htaccess)
Approvals
| Channel | Write behavior | |---------|----------------| | MCP (Cursor, Claude, ChatGPT) | Your AI app asks you to approve each tool call | | Built-in admin chat | Birkly Approvals tab when Require approval is on |
Example prompt (smoke test)
After Marsk onboarding, try:
Add a new blog post titled "Morning light" with a short body, then update
index.htmlto feature that post in the journal section.
The AI should:
get_project_info— learn collection slugs and template syntaxread_project_fileonindex.html— see current homepage markupcreate_entryin the blog collectionwrite_project_fileonindex.html— link or loop the new post
MCP resource
Clients that support MCP resources can read birkly://project for the same info as get_project_info (JSON).