This site exposes an MCP connector so an AI assistant can maintain it through tools (list, read, write, move, delete pages; set permissions; activate themes/layouts). It speaks standard MCP + OAuth, so it works with any MCP-capable client - Claude.ai, ChatGPT, Claude Desktop, Claude Code, and others.
For the full tool catalogue, auth/capability model and error reference, see AI connector - tools reference. This page covers connecting.
The endpoint is the same for everyone:
https://YOUR-SITE/cgi-bin/lazysite-mcp.pl
There are two ways to authenticate, depending on the client:
Authorization: Bearer <partner-id>:<lzs_ token> header (the token comes from
Generate agent brief). These clients let you set a header directly.
The capability gating and per-file ACLs are identical whichever you use - call
whoami first to confirm the grant.
whoami.whoami, then list_files.Note: on Plus/Pro, ChatGPT can call read-only tools only (whoami, list_files, read_file). Business/Enterprise get the write tools (write_file, activate_theme, …) with a per-call approval card. ChatGPT is also noticeably slower than Claude per tool call.
The most common cause is not the server - it is that the assistant's tool list
is fixed when a chat opens. A connector you finished authorising during a
conversation will not surface until you start a new chat. So: complete the
sign-in, confirm the Users panel shows connected, then open a fresh chat and
ask for whoami.
If a tool call is refused, the error's reason names the cause precisely:
sign-in-incomplete (the connect code was never pasted - redo the sign-in with a
fresh code), token-expired (reconnect, or let the client refresh), or
token-invalid (the token was revoked or the site secret was rotated - reconnect).
lzs_ token directly).Authorization: Bearer <partner-id>:<lzs_ token> (Desktop/Code support custom
headers). A script can also use the control API + WebDAV directly (API mode -
see the publishing briefing).Point it at the endpoint. If it supports OAuth, it will discover
/.well-known/oauth-protected-resource from the 401 WWW-Authenticate challenge
and run the connect-code flow. If it supports a static header, use the
partner-id:lzs_ bearer.
invalid_client: remove and re-add the
connector so the app does a fresh registration + sign-in.whoami works but a write is refused: the grant (capabilities + per-file
ACL) is authoritative - the partner lacks that capability or write access.