MCP.md
This repository includes configuration for Model Context Protocol (MCP) servers, enabling AI tooling integration for Umbraco CMS development workflows.
MCP allows AI assistants (like Claude) to interact with external tools and services. This repository configures two MCP servers:
| Server | Purpose | Package |
|---|---|---|
| umbraco-cms | Manage Umbraco content types, documents, and media | @umbraco-cms/mcp-dev@17 |
| playwright | Browser automation for testing and debugging | @playwright/mcp@latest |
Ensure your local Umbraco instance is running at https://localhost:44339 (or update the URL in your .env.local).
Copy the example environment file and customize it:
cp .env.example .env.local
Edit .env.local with your local settings:
UMBRACO_CLIENT_ID=umbraco-back-office-mcp
UMBRACO_CLIENT_SECRET=<your-client-secret>
UMBRACO_BASE_URL=https://localhost:44339
NODE_TLS_REJECT_UNAUTHORIZED=0
UMBRACO_INCLUDE_TOOL_COLLECTIONS=data-type,document-type,document,media-type,media
Create an OAuth client in your Umbraco instance with:
umbraco-back-office-mcp.env.local| Variable | Description | Example |
|---|---|---|
UMBRACO_CLIENT_ID | OAuth client ID configured in Umbraco | umbraco-back-office-mcp |
UMBRACO_CLIENT_SECRET | OAuth client secret (keep secure!) | your-secure-secret |
UMBRACO_BASE_URL | URL of your local Umbraco instance | https://localhost:44339 |
NODE_TLS_REJECT_UNAUTHORIZED | Set to 0 for self-signed certificates (local dev only) | 0 |
UMBRACO_INCLUDE_TOOL_COLLECTIONS | Comma-separated list of tool collections to enable | data-type,document-type,document |
The UMBRACO_INCLUDE_TOOL_COLLECTIONS variable controls which Umbraco MCP tools are available:
data-type - Manage data types (property editors)document-type - Manage document types (content types)document - Manage content/documentsmedia-type - Manage media typesmedia - Manage media itemsWarning: This configuration is for local development only.
NODE_TLS_REJECT_UNAUTHORIZED=0 disables SSL certificate validation. This is necessary for self-signed certificates in local development but:
.env.local file is gitignored for this reason1234567890 in .env.example is a placeholder onlyUmbraco-CMS/
├── .mcp.json # MCP server configuration
├── .env.example # Example environment variables (committed)
├── .env.local # Your local environment variables (gitignored)
├── .claude/
│ ├── settings.json # Shared Claude AI permissions (committed)
│ └── settings.local.json # Local Claude overrides (gitignored)
├── .gitignore # Ignores .env.local and settings.local.json
└── MCP.md # This documentation (you are here)
The .claude/settings.json file configures which MCP tools Claude can use automatically without prompting. This is shared across the team for consistent developer experience.
Create .claude/settings.local.json to override permissions for your environment:
{
"permissions": {
"allow": [
"mcp__umbraco__get-all-document-types"
]
}
}
UMBRACO_BASE_URLUMBRACO_CLIENT_ID and UMBRACO_CLIENT_SECRET matchNODE_TLS_REJECT_UNAUTHORIZED=0 in .env.localnpx @umbraco-cms/mcp-dev@17 --help to verify the package works