Skip to content

Connecting AI Clients

Your site’s MCP endpoint is your site URL with /mcp on the end:

https://yoursite.com/mcp

That single URL is all most clients need. What a client can see through it depends on who it is: anonymous callers get whatever you’ve exposed publicly, and an API key unlocks admin-level access to schemas, templates, and content. See MCP Server for how those audiences differ.

Everything below is copy-paste. Claude has no one-click install link, so the desktop extension is the closest equivalent; Cursor and VS Code do support install links, covered at the end.

The lowest-friction option is the Total CMS desktop extension: a single file that installs with a double-click, no config file and no toolchain.

  1. Download totalcms.mcpb from the releases page
  2. Double-click it, or drag it onto the Claude Desktop window
  3. When prompted, set Total CMS MCP endpoint to https://yoursite.com/mcp
  4. Leave API key blank for public access, or paste one for admin access

Leave the endpoint untouched and it points at the official Total CMS documentation server, so you can ask Claude about Total CMS itself with no setup at all.

Without the extension, add your site as a custom connector:

  1. Click the + button beside the chat input
  2. Choose Add custom connector
  3. Paste https://yoursite.com/mcp

One command:

Terminal window
claude mcp add --transport http totalcms https://yoursite.com/mcp

Add your site to .cursor/mcp.json in a project, or ~/.cursor/mcp.json to make it available everywhere:

{
"mcpServers": {
"totalcms": {
"url": "https://yoursite.com/mcp"
}
}
}

With an API key:

{
"mcpServers": {
"totalcms": {
"url": "https://yoursite.com/mcp",
"headers": {
"X-API-Key": "tcms_your_key_here"
}
}
}
}

From the command line:

Terminal window
code --add-mcp '{"name":"totalcms","type":"http","url":"https://yoursite.com/mcp"}'

You can also browse MCP servers inside VS Code by opening the Extensions view and typing @mcp in the search box.

Cursor and VS Code both accept an install link, so you can put a button on a page instead of asking anyone to edit JSON. These point at the official Total CMS documentation server:

To build one for your own site, the two formats differ:

Cursor is an ordinary https link, with the server config base64-encoded:

Terminal window
CONFIG=$(printf '{"url":"https://yoursite.com/mcp"}' | base64)
echo "https://cursor.com/en/install-mcp?name=totalcms&config=${CONFIG}"

VS Code takes URL-encoded JSON, and needs the type as well as the url:

vscode:mcp/install?{"name":"totalcms","type":"http","url":"https://yoursite.com/mcp"}

URL-encode that JSON before using it as a link. Use the vscode-insiders: scheme for Insiders builds.

Anonymous callers see only what you have deliberately exposed. An API key raises the connection to admin level — schemas, templates, cache, and content writes included — so treat one like a password, and prefer a key over signing in when you want an agent to work on the site itself.

Create one in Admin → API Keys, then supply it as an X-API-Key header, or paste it into the desktop extension’s API key field at install time.

Without a key, what an agent can reach is governed by mcp.publicAccess and each collection’s own mcp.access setting. A site with public access off simply exposes nothing to anonymous callers, which is the default.

Connection failures usually have one of a handful of causes, and they stack — a site often has two at once. Troubleshooting walks them in the order they actually occur, starting with bot filters and stripped Authorization headers.

Confirm the server side independently with:

Terminal window
tcms mcp:status