Every capability in the engine is exposed as a Model Context Protocol tool. Once your client is connected, you stop thinking in dashboards and start saying what you want: add a pricing page, translate the site into German, make the hero darker and republish.
The endpoint is the engine's own URL with /mcp on the end:
https://your-host/mcp Authentication is OAuth. The first time a client connects you are sent to the engine, you sign in with your normal account, and you approve the scopes it asked for. The client stores a token and refreshes it silently after that. You can revoke it from the dashboard at any time.
Claude Desktop and claude.ai
Claude speaks remote MCP natively, so there is nothing to install.
- Open Settings, then Connectors, then Add custom connector.
- Paste
https://your-host/mcpand save. - Click Connect. You are sent to the engine to sign in and approve scopes, then back to Claude.
- The fastsite tools now appear in any conversation. Start with list my sites.
The same connector works in the desktop app, on claude.ai, and on mobile — it is stored on your account, not on the machine.
Tell it to read the guide first
The engine ships an authoring guide as a tool. A good opening instruction is read the authoring guide for site blog, then draft the page. It is the difference between markup that passes the build audit and markup that gets rejected.
ChatGPT
- Enable developer mode in settings, then open Connectors.
- Add a new connector pointing at
https://your-host/mcp. - Complete the OAuth prompt.
- Select the connector inside a conversation to make the tools available.
Connector setup moves around between ChatGPT releases. If the menu looks different, look for whatever adds a remote MCP server — the URL is the only thing that matters.
OpenAI Codex
Codex reads MCP servers from its config file, so fastsite sits alongside your repo tooling in the CLI, the IDE extension, and the desktop app.
# ~/.codex/config.toml
[mcp_servers.fastsite]
url = "https://your-host/mcp" Restart Codex and the tools are registered. Config keys differ between versions — if remote servers are not supported by yours, use the bridge below. This is the setup worth having if you write content in the same repo as your code, since Codex can edit a Twig template on disk and publish through the engine in the same session.
Any other MCP client
fastsite implements the protocol, not a vendor integration. Anything that can talk to a remote MCP server over HTTP will work. Clients that only support stdio can bridge with a standard remote-MCP proxy:
npx mcp-remote https://your-host/mcp The protocol details — discovery, registration, token lifetimes, the full tool catalogue — are on the MCP reference. If you would rather not use an agent at all, the REST API covers the same ground, and webhooks handle the push direction.
What the agent can actually do
Content
Create and revise pages and posts, import media from a URL with alt text, manage redirects, move things to trash and back.
Design
Read and rewrite the Twig shell and CSS tokens, snapshot before a change, restore a revision after one.
Localisation
Add a locale, translate published content and UI strings, keep hreflang correct across the tree, remove a locale cleanly.
Release
Preview without deploying, run the build audit, publish to git, check job status, take and restore backups.
Keeping it safe
- Scopes bound what it can do. They are approved per verb, not per site: grant
content:writewithoutpublishand an agent can draft and revise all day without anything reaching the CDN. - Access follows your account. An agent connected as you can reach exactly the sites you can reach — no more. To narrow it further, create a user who belongs to a single site and connect the agent as them.
- Publishing is a separate step. Writing content does not push it live; publishing is its own tool call. Drafts and previews never leave the engine.
- Every publish is one commit. If an agent does something you did not want, the diff is right there and
git revertundoes it. - Snapshot before big changes. Shell snapshots are cheap, restoring one is a single tool call, and a restore takes its own snapshot first — so undoing an undo works too.
- The build is the last line of defence. An agent cannot ship a page that fails the audit. Broken markup is rejected at the boundary, not discovered in production.