io.github.umbraco/Umbraco-CMS-MCP-Dev
A developer focused model context protocol (MCP) server for Umbraco CMS
What can you do with io.github.umbraco/Umbraco-CMS-MCP-Dev?
- MCP development patterns and conventions
- TypeScript implementation guidelines
- Comprehensive testing standards with builders and helpers
- Project-specific context and architecture
- API integration patterns with Umbraco Management API
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@umbraco-cms/mcp-devclaude mcp add umbraco-cms-mcp-dev -e 'UMBRACO_CLIENT_ID=<your umbraco_client_id>' -e 'UMBRACO_CLIENT_SECRET=<your umbraco_client_secret>' -e 'UMBRACO_BASE_URL=<UMBRACO_BASE_URL>' -e 'UMBRACO_INCLUDE_TOOL_COLLECTIONS=<UMBRACO_INCLUDE_TOOL_COLLECTIONS>' -e 'UMBRACO_READONLY=<UMBRACO_READONLY>' -- npx -y @umbraco-cms/mcp-dev@18.0.1
{
"mcpServers": {
"umbraco-cms-mcp-dev": {
"command": "npx",
"args": [
"-y",
"@umbraco-cms/mcp-dev@18.0.1"
],
"env": {
"UMBRACO_CLIENT_ID": "<your umbraco_client_id>",
"UMBRACO_CLIENT_SECRET": "<your umbraco_client_secret>",
"UMBRACO_BASE_URL": "<UMBRACO_BASE_URL>",
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "<UMBRACO_INCLUDE_TOOL_COLLECTIONS>",
"UMBRACO_READONLY": "<UMBRACO_READONLY>"
}
}
}
}
Environment variables
UMBRACO_CLIENT_IDrequired secret Umbraco API user client IDUMBRACO_CLIENT_SECRETrequired secret Umbraco API user client secretUMBRACO_BASE_URLrequired Base URL of your Umbraco instanceUMBRACO_INCLUDE_TOOL_COLLECTIONSComma-separated list of tool collections to include (e.g., document,media,document-type)UMBRACO_READONLYEnable readonly mode to disable all write operations (create, update, delete). Only read and query tools remain available.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Umbraco MCP
An MCP (Model Context Protocol) server for Umbraco CMS that unlocks AI-powered content management. It provides comprehensive access to the Umbraco Management API, enabling your AI agent to perform back office tasks through natural conversation - freeing you from the UI and making complex, repetitive workflows that would be tedious or impossible manually become effortless.
Intro
The MCP server authenticates using an Umbraco API user, ensuring secure, permission-based access to the Umbraco Management API. This means you maintain complete control over what your AI agent can do through Umbraco's standard user permission system - no special security model required.
Quick Start
1. Create an Umbraco API User
First, create an Umbraco API user with appropriate permissions. You can find instructions in Umbraco's documentation.
2. Install in Claude Desktop
Download and install the Claude Desktop app, then add the MCP server to your configuration:
- Open Claude Desktop Settings > Developer > Edit Config
- Add this configuration to your
claude_desktop_config.json:
{
"mcpServers": {
"umbraco-mcp": {
"command": "npx",
"args": ["@umbraco-cms/mcp-dev@17"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0",
"UMBRACO_CLIENT_ID": "your-api-user-id",
"UMBRACO_CLIENT_SECRET": "your-api-secret",
"UMBRACO_BASE_URL": "https://localhost:{port}",
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "document,media,document-type,data-type"
}
}
}
}
- Fully restart Claude Desktop (including in the system tray on Windows)
Tip: Pin
@umbraco-cms/mcp-devto your site's Umbraco major (e.g.@17above, or@18for an Umbraco 18.x site) rather than@latest. Tool schemas track the Management API of the package's own major, so a mismatched major can fail confusingly mid-task once a tool's shape has drifted. The server checks the connected site's version on startup and warns on a mismatch, but pinning avoids it altogether.
Documentation
For complete installation instructions, configuration options, tool listings, and usage examples, see the full documentation:
Hosted Deployment
The Cloudflare Worker entry point (src/worker.ts) supports two deployment modes, selected at request time by the @umbraco-cms/mcp-hosted library:
- Single-tenant (default) — the worker authenticates against the
UMBRACO_BASE_URLconfigured inwrangler.toml. This is the existing behavior and requires no extra configuration. - Multi-tenant Umbraco Cloud — set
UMBRACO_CLOUD_ROUTING_ENABLED = "true"under[vars]inwrangler.toml. Requests to/at/{alias}/...resolve the upstream Umbraco Cloud project for{alias}and issue access tokens scoped to that resource per the MCP resource-indicator spec. Each Umbraco Cloud project served by the worker must register an OpenIddict client with idumbraco-cms-developer-mcp-hosted.
siteRouting is wired unconditionally; the per-request toggle is the env var.
Contributing with AI Tools
This project is optimized for development with AI coding assistants. We provide instruction files for popular AI tools to help maintain consistency with our established patterns and testing standards.
Using rulesync
The project includes rulesync configuration files that can automatically generate instruction files for 19+ AI development tools. Generate configuration files for your preferred AI tools:
# Generate only for Claude Code
npx rulesync generate --claudecode
# Generate only for Cursor
npx rulesync generate --cursor
# Generate only for Vs Code Copilot
npx rulesync generate --copilot
Other AI Tools
rulesync supports 19+ AI development tools including GitHub Copilot, Cline, Aider, and more. Check the rulesync repository for the complete list of supported tools.
The instruction files cover:
- MCP development patterns and conventions
- TypeScript implementation guidelines
- Comprehensive testing standards with builders and helpers
- Project-specific context and architecture
- API integration patterns with Umbraco Management API
Frequently asked questions
What is io.github.umbraco/Umbraco-CMS-MCP-Dev?
A developer focused model context protocol (MCP) server for Umbraco CMS
How do I install io.github.umbraco/Umbraco-CMS-MCP-Dev?
It runs on your machine. In Claude Code: claude mcp add umbraco-cms-mcp-dev -e 'UMBRACO_CLIENT_ID=<your umbraco_client_id>' -e 'UMBRACO_CLIENT_SECRET=<your umbraco_client_secret>' -e 'UMBRACO_BASE_URL=<UMBRACO_BASE_URL>' -e 'UMBRACO_INCLUDE_TOOL_COLLECTIONS=<UMBRACO_INCLUDE_TOOL_COLLECTIONS>' -e 'UMBRACO_READONLY=<UMBRACO_READONLY>' -- npx -y @umbraco-cms/mcp-dev@18.0.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.umbraco/Umbraco-CMS-MCP-Dev need an API key?
Yes. It expects UMBRACO_CLIENT_ID, UMBRACO_CLIENT_SECRET, UMBRACO_BASE_URL, which you set in its configuration.
Is io.github.umbraco/Umbraco-CMS-MCP-Dev open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.umbraco/Umbraco-CMS-MCP-Dev?
It is published by umbraco. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.