Skip to content

MCP

Kide includes a local stdio MCP server for AI-assisted, schema-aware content editing. Agents can inspect collections, manage drafts and translations, and update asset metadata without using the admin UI.

Terminal window
pnpm cms:mcp

Most clients start it for you. Configure them to run this command from the Kide project root.

From the project root:

Terminal window
codex mcp add kide -- pnpm cms:mcp

For a project-scoped setup, create .codex/config.toml:

[mcp_servers.kide]
command = "pnpm"
args = ["cms:mcp"]
cwd = "/path/to/your-kide-project"
[mcp_servers.kide.env]
KIDE_MCP_USER_ROLE = "editor"
KIDE_MCP_USER_EMAIL = "[email protected]"

The env table is optional — it runs the server as an editor-like actor instead of the defaults listed under Access rules actor.

From the project root:

Terminal window
claude mcp add --transport stdio kide -- pnpm cms:mcp

Open Claude Code and use /mcp to confirm that kide is connected.

{
"mcpServers": {
"kide": {
"command": "pnpm",
"args": ["cms:mcp"],
"cwd": "/path/to/your-kide-project"
}
}
}

Collection introspection; document list, count, get, create, and update; explicit publishing and scheduling; translations; and asset metadata and folders. The full content model is also available at kide://model.

Create and update tools accept only declared schema fields; system fields are ignored, and publishing is always explicit. Draft-enabled collections create drafts by default, so publish only after review.

Auth collections, such as users, are blocked for MCP mutations by default. Enable them only when you intentionally want agent access:

Terminal window
KIDE_MCP_ALLOW_AUTH_COLLECTIONS=true pnpm cms:mcp

MCP calls include an actor, so collection access rules still receive context.user. Defaults:

Variable Default
KIDE_MCP_USER_ID mcp-local
KIDE_MCP_USER_ROLE admin
KIDE_MCP_USER_EMAIL mcp@local

To run as an editor-like actor:

Terminal window
claude mcp add --transport stdio \
--env KIDE_MCP_USER_ROLE=editor \
kide -- pnpm cms:mcp

The server uses the same local database as your Kide app (data/cms.db on Node unless CMS_DATABASE_URL is set). For production edits, work against local or staging content, review drafts and previews, then apply only approved changes. Do not routinely replace a production database with an AI-edited copy.