Connect an AI assistant
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:
- Connector + OAuth (web apps)
- For Claude.ai and ChatGPT, you add the connector by URL; the app runs an OAuth sign-in, and you paste a one-time connect code (from the Users page → the partner → Connect an AI assistant). No token is ever pasted into chat.
- Static bearer header (developer tools)
-
For Claude Desktop, Claude Code, or a script, you set an
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.
Claude.ai (web / mobile)
- Users page → the partner → Connect an AI assistant. Keep that panel open (it waits for the connection, then reveals the task prompt).
- In Claude.ai: Settings (click your username) → Connectors (under Customize) → Add custom connector. Enter the Name (the site domain) and the URL above; leave Advanced settings blank; Add.
- Open a new chat, enable the connector, and ask Claude to run
whoami. - Claude.ai shows a sign-in pop-up; paste the connect code. Done - the Users panel flips to connected and gives you the prompt to paste.
ChatGPT (Plus / Pro / Business / Enterprise)
- Users page → the partner → Connect an AI assistant (get the connect code).
- In ChatGPT: Settings → Apps / Connectors → Advanced → enable Developer mode → Create / Add custom connector. Enter a Name and the URL above; Authentication = OAuth (it is discovered automatically).
- Acknowledge the custom-connector risk notice, then create it - ChatGPT runs the OAuth sign-in and asks for the connect code; paste it.
- In a chat, ask it to run
whoami, thenlist_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.
If the connector is added but the tools do not appear
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).
Claude Desktop / Claude Code / scripts (static bearer)
- Users page → the partner → Generate agent brief (gives a pairing key) or
Generate credential (gives an
lzs_token directly). - Add the endpoint as a remote MCP server with a header:
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).
Any other MCP client
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.
Troubleshooting
- Tools call back "unauthorized" /
invalid_client: remove and re-add the connector so the app does a fresh registration + sign-in. - Connect code expired (30 min): click Connect an AI assistant again for a fresh one - it supersedes the old.
- Tools aren't in the assistant's toolset: connectors load at the start of a turn; enable it for the chat and send one more message. Don't fall back to raw HTTP - that path is unauthenticated.
whoamiworks but a write is refused: the grant (capabilities + per-file ACL) is authoritative - the partner lacks that capability or write access.