Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
79571d7
Add initial Developer MCP documentation structure
Oct 15, 2025
052d411
add to the summary file
Oct 15, 2025
98e604a
improve hints
Oct 15, 2025
69c68b7
Improve README and remove empty host setup files
Oct 15, 2025
8f63245
Add README files for concepts and host-setup sections
Oct 15, 2025
b1424bf
Update SUMMARY.md to reflect new documentation structure
Oct 15, 2025
6faa086
Add comprehensive host setup documentation for Claude Desktop and Cla…
Oct 15, 2025
8bbc966
Update host setup documentation with improved titles and complete Cur…
Oct 16, 2025
269fde0
Refine host setup documentation with clarity improvements and formatt…
Oct 16, 2025
14f76ec
Add configuration reminder to GitHub Copilot setup guide
Oct 16, 2025
71bda78
Add configuration reminder to Claude Code setup guide
Oct 16, 2025
87dd9b8
Add comprehensive configuration documentation for Developer MCP Server
Oct 16, 2025
ca1180e
Add NODE_TLS_REJECT_UNAUTHORIZED configuration documentation
Oct 16, 2025
57e8ed8
Improve configuration documentation formatting and clarity
Oct 16, 2025
57d0497
Rename mcp-toolkit.md to available-tools.md and update references
Oct 16, 2025
af57751
Update SUMMARY.md structure
Oct 16, 2025
c140a0a
Add Excluded Tools section to SUMMARY.md
Oct 16, 2025
f0965b4
Remove duplicate mcp-toolkit.md reference from SUMMARY.md
Oct 16, 2025
f8de587
Add excluded-tools.md documentation file
Oct 16, 2025
71c69de
Update context engineering documentation and excluded tools
Oct 20, 2025
a898ea5
Update MCP and context engineering documentation, add scenarios page
Oct 20, 2025
0daedb2
Add maintenance use case and fix typos in MCP documentation
Oct 20, 2025
d8acd5f
Add comprehensive use cases and scenarios documentation for Developer…
Oct 20, 2025
74b843a
Update scenarios page title to 'Use Cases and Scenarios'
Oct 20, 2025
097369d
Fix table of contents links in scenarios documentation
Oct 20, 2025
a24b3a0
Reorganize MCP documentation: consolidate best practices
Oct 21, 2025
e676062
Add cost and sustainability section to MCP best practices
Oct 23, 2025
461a4fd
Add critical production environment warning section
Oct 24, 2025
0d8bdc1
Update GitHub Copilot install button with tool collections
Oct 24, 2025
720cb77
Update MCP documentation with tool collections and improvements
Oct 25, 2025
999e46b
Comprehensive update to available-tools documentation
Oct 25, 2025
9d4a078
Update MCP documentation for available tools and Claude Code setup
Oct 25, 2025
0125524
Update excluded-tools documentation
Oct 25, 2025
15f8113
Update Developer MCP README documentation
Oct 25, 2025
bbecc64
Reorganize Developer MCP best practices documentation
Oct 25, 2025
bf5d98c
Update Developer MCP README documentation
Oct 25, 2025
7d4ec8a
Update Developer MCP README documentation
Oct 25, 2025
44ca636
Update Developer MCP README documentation
Oct 25, 2025
6796e16
Add comprehensive media creation documentation
Oct 31, 2025
c71a036
Move creating-media.md to best-practice section and update content
Nov 3, 2025
211d826
trigger rebuild
Nov 3, 2025
02802b6
Apply suggestions from code review by Andy Butland
hifi-phil Nov 3, 2025
725606a
Improve example instructions documentation and clean up excluded tools
Nov 3, 2025
d460fc3
Merge branch 'cms/v16/developer-mcp' of https://github.com/hifi-phil/…
Nov 3, 2025
6be83f9
Improve sentence clarity and readability in documentation
Nov 3, 2025
ec0be98
Improve sentence clarity in Best Practice documentation
Nov 3, 2025
4316589
Split all sentences over 25 words in README.md for improved readability
Nov 3, 2025
dc78bfb
Fix missed long sentence and improve wording
Nov 3, 2025
2d3fd79
Fix remaining long sentences in best practice documentation
Nov 3, 2025
d486471
Standardize capitalization of Data Type and Document Type
Nov 3, 2025
5269466
Fix all long sentences in context engineering documentation
Nov 3, 2025
b5075c3
Fix final long sentences in best practice and context engineering docs
Nov 3, 2025
37cc4a3
Fix long sentences in configuration and host setup documentation
Nov 3, 2025
ab9b95d
Fix all long sentences in model context protocol and host setup docs
Nov 3, 2025
e064791
Improve word choices in model context protocol and configuration docs
Nov 3, 2025
9ebfcd0
Fix long sentence in Claude Desktop docs and improve word choice in M…
Nov 3, 2025
9e17c85
Update scenarios documentation and add CSV acronym
Nov 3, 2025
66bc139
Remove template creation scenario from scenarios documentation
Nov 3, 2025
ce29f06
Standardize Document Type capitalization in scenarios
Nov 3, 2025
126d7b5
Generalize instruction file references in example instructions
Nov 4, 2025
048644d
Add block creation workflow to example instructions
Nov 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/styles/UmbracoDocs/Acronyms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ exceptions:
- CMD # Command (Windows shell)
- CMS # Content Management System
- CPU # Central Processing Unit
- CRM # Customer Relationship Management
- CRUD # Create, Read, Update, Delete
- CSS # Cascading Style Sheets
- CSV # Comma Separated Values
- CTRL # Control (Keyboard key)
- CURL # Client URL
- DELETE # HTTP DELETE method
Expand Down Expand Up @@ -68,6 +71,9 @@ exceptions:
- KUDU # Azure deployment engine
- LDAP # Lightweight Directory Access Protocol
- LINK #
- LINQ # Language Integrated Query
- LLM # Large Language Model
- MCP # Mode Context Protocol
- MIT # Open-source software license developed at the Massachusetts Institute of Technology (MIT)
- MDN # Mozilla Developer Network
- MFA # Multi-factor Authentication
Expand Down Expand Up @@ -110,6 +116,7 @@ exceptions:
- UI # User Interface
- URI # Uniform Resource Identifier
- URL # Uniform Resource Locator
- USB # Universal Serial Bus
- UTC # Coordinated Universal Time
- UUID # Universally Unique Identifier
- UWP # Universal Windows Platform
Expand Down
16 changes: 16 additions & 0 deletions 16/umbraco-cms/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,22 @@
* [Additional preview environments support](reference/content-delivery-api/additional-preview-environments-support.md)
* [Webhooks](reference/webhooks/README.md)
* [Expanding Webhook Events](reference/webhooks/expanding-webhook-events.md)
* [Developer MCP](reference/developer-mcp/README.md)
* [Key Concepts](reference/developer-mcp/concepts/README.md)
* [Model Context Protocol](reference/developer-mcp/concepts/model-context-protocol.md)
* [Context Engineering](reference/developer-mcp/concepts/context-enginerring.md)
* [Host Setup](reference/developer-mcp/host-setup/README.md)
* [Claude Desktop](reference/developer-mcp/host-setup/claude-desktop.md)
* [Claude Code](reference/developer-mcp/host-setup/claude-code.md)
* [Cursor](reference/developer-mcp/host-setup/cursor.md)
* [GitHub Copilot](reference/developer-mcp/host-setup/github-copilot.md)
* [Best Practice](reference/developer-mcp/best-practice/README.md)
* [Example Instruction File](reference/developer-mcp/best-practice/example-instructions.md)
* [Creating Media](reference/developer-mcp/best-practice/creating-media.md)
* [Configuration](reference/developer-mcp/configuration.md)
* [Available Tools](reference/developer-mcp/available-tools.md)
* [Excluded Tools](reference/developer-mcp/excluded-tools.md)
* [Use Cases and Scenarios](reference/developer-mcp/scenarios.md)
* [API versioning and OpenAPI](reference/api-versioning-and-openapi.md)
* [Searching](reference/searching/README.md)
* [Examine](reference/searching/examine/README.md)
Expand Down
201 changes: 201 additions & 0 deletions 16/umbraco-cms/reference/developer-mcp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
---
description: Get started with the CMS developer MCP.
---

# Developer Model Context Protocol (MCP) server

The Developer [MCP Server](./concepts/model-context-protocol.md#mcp-servers) makes it straightforward for developers to connect AI tools with Umbraco. It allows you to harness large language models (LLMs) to perform almost any task that can be achieved within the Umbraco backoffice. This includes generating and editing content, managing media, automating workflows, and assisting with complex development tasks.

This MCP Server acts as a secure gateway between your Umbraco installation and MCP-compatible AI environments. These include Claude (Desktop or Code), Cursor, or GitHub Copilot and many more.

Through this bridge, your AI assistant can interact directly with Umbraco's Management API. This enables a more natural, conversational way to develop and maintain your sites.

{% hint style="info" %}
Think of it as giving your AI tools a secure, structured way to β€œspeak to Umbraco.”
{% endhint %}

## How does it work

Unlike most Umbraco integrations, the Developer CMS MCP Server is not a plugin that you install into your Umbraco site.
Instead, it runs as a standalone Node.js application that acts as an MCP server.

[MCP clients](./concepts/model-context-protocol.md#mcp-clients) are implemented inside compatible [host applications](./concepts/model-context-protocol.md#host-applications) such as Claude Desktop, Cursor, or Windsurf. These clients connect to this server. When you interact with your chat-based development environment, the client communicates with the MCP Server using the Model Context Protocol (MCP).

Learn more about [Model Context Protocol (MCP)](./concepts/model-context-protocol.md)

The MCP Server, in turn, talks directly to Umbraco through the Management API. This is the same API layer that powers the Umbraco backoffice and allows the server to directly read from and modify the CMS.

By exposing these endpoints as MCP tools, the Developer MCP Server enables you to perform almost any backoffice action. You can do this through natural language interaction with your LLM-powered chat environment.

{% hint style="info" %}
The MCP Server acts as the bridge between your Umbraco instance and your AI assistant. It translates and adapts your tasks into Management API calls.
{% endhint %}

## Who is this for?

**The Developer MCP Server is designed specifically to be used by Umbraco developers.**

While the Model Context Protocol (MCP) can be used for many types of solution, automation, and workflow integrations. This particular MCP Server focuses on developer-oriented tasks and productivity enhancements within Umbraco projects.

Example use cases:

- **Automation of content, media and schema**
Automate repetitive actions through conversational commands. This includes creating or updating content or media, generating content models, or performing large-scale operations.

- **Developer quality-of-life improvements**
Speed up tasks that would otherwise take time or require numerous clicks in the backoffice UI. Examples include batch-moving Document Types or Data Types, cleaning up unused entities, or synchronising content structures.

- **Integration into modern development workflows**
Use the Developer MCP Server alongside other MCP servers such as Playwright MCP, Figma MCP, or GitHub MCP. This streamlines your end-to-end site development process.

- **Leveraging LLM reasoning**
Use your LLM to understand, debug, or make better decisions. For example, ask it to interpret entries from Umbraco Logs, suggest schema changes, or explain configuration errors.

- [**Plus many, many more**](./scenarios.md)

**Not recommended for non-developers**

While it’s technically feasible for non-developers to connect to Umbraco using this MCP server, we do not recommend it for the following reasons:

- **Complex setup requirements**
This MCP server must be run locally, and it requires a configured Umbraco user account with appropriate permissions.

- **Powerful tool access**
Even for users with limited permissions, the MCP Server exposes many management-level tools. Incorrect commands could unintentionally alter or damage your Umbraco instance.

{% hint style="warning" %}
Do not connect the Developer MCP Server to a production Umbraco environment.
Always use a local or isolated development instance.
{% endhint %}

We are actively working on additional MCP servers tailored to other roles such as editors and content managers. These will provide safer, simplified toolsets and workflows.

## Getting started

### Umbraco Setup

Before connecting the MCP Server, you need to create an [API User](../../fundamentals/data/users/api-users.md) in Umbraco. This user allows the MCP Server to communicate securely with the Management API.

The level of access you assign to this API user determines what actions your AI agent can perform.
For example:

- A user with Editor permissions can manage and update content but cannot modify Document Types or perform administrative tasks.
- A user with Administrator permissions grants full access to all capabilities. This includes the ability to create, edit, or delete document types, data types, and more within Umbraco.

{% hint style="warning" %}
Only use a dedicated API user for MCP connections.
Do not share or reuse credentials from an existing backoffice user.
{% endhint %}

### Host Setup

Each MCP-compatible host application has its own setup process. For this reason, we provide dedicated setup guides for the main developer environments we see most often:

[Claude Desktop](./host-setup/claude-desktop.md)
[Claude Code](./host-setup/claude-code.md)
[GitHub Copilot](./host-setup/github-copilot.md)
[Cursor](./host-setup/cursor.md)

Although the details vary slightly, the general pattern is the same across all hosts:

``` json
{
"umbraco-mcp": {
"command": "npx",
"args": ["@umbraco-cms/mcp-dev@beta"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0",
"UMBRACO_CLIENT_ID": "umbraco-back-office-mcp",
"UMBRACO_CLIENT_SECRET": "1234567890",
"UMBRACO_BASE_URL": "https://localhost:12345",
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "document,media,document-type,data-type"
}
}
}

```

Add your Umbraco MCP configuration values (Client ID, Client Secret, URL of Umbraco) in the appropriate section of your host setup. Then restart the MCP Server or, in some cases, restart the host application itself.

Once restarted, you’ll have access to the full suite of tools available through the Umbraco CMS Developer MCP Server.

{% hint style="info" %}
This Developer MCP Server requires Node.js version 22 or higher to be installed.
You can check your current Node.js version by running node -v in your terminal.
{% endhint %}

#### Never Use Against Production Environments

{% hint style="danger" %}
**Critical: Do not connect the Developer MCP Server to a production Umbraco environment.**

The Developer MCP Server provides powerful, direct access to your Umbraco Management API. While this makes it a good tool for development and testing, mistakes can have serious consequences. Misconfigurations or misunderstood commands can cause immediate and potentially destructive damage.

**Always use the Developer MCP Server with:**
- Local development instances only
- Isolated staging or test environments
- Environments where data loss or corruption would not impact live users or business operations

**Never connect to:**
- Production websites
- Live client sites
- Any environment where content, media, or configuration changes could affect real users

Even with limited user permissions, the scope and power of LLM-driven actions make this tool unsuitable for production use.
{% endhint %}

### Choosing Your Tools

Your first step after setup should be deciding which tools you want to enable.
All tools are grouped into collections for easier management and isolation.

[Learn more about Tool Collections](./available-tools.md)

Choosing the right tools improves how efficiently the AI communicates with Umbraco, making each conversation faster and more context-aware.

[Learn more about Context Engineering](./concepts/context-enginerring.md)

### Why Use npx?

We recommend launching the Developer MCP Server using npx.
This allows you to run the Node.js application without needing to install anything globally.
npx will temporarily download the package, execute it, and clean up automatically β€” ensuring you’re always using the latest version.

If you prefer, you can also install it globally with:

``` bash

npm install -g @umbraco/mcp-server

```

For advanced configuration options and environment variable settings, see the [Configuration guide](./configuration.md).

## Working with the MCP Server

Once your MCP server is configured and connected, explore these guides to get the most out of your setup:

- [Creating Media](./creating-media.md) - Learn how to upload and manage media items programmatically
- [Available Tools](./available-tools.md) - Complete reference of all available tools and collections
- [Scenarios](./scenarios.md) - Real-world examples and use cases
- [Best Practices](./best-practice/README.md) - Tips for effective MCP usage

## Version Compatibility

The Umbraco MCP Server is designed to work with specific major versions of Umbraco CMS:

| MCP Server Version | Compatible Umbraco Version | NPM Package Name |
|--------------------|----------------------------|--------------------------------------|
| 15.x.x | alpha | @umbraco-mcp/umbraco-mcp-cms@alpha |
| 16.x.x | all betas, 16.x | @umbraco-cms/mcp-dev@beta |

### Version Checking

The MCP server automatically checks version compatibility on startup:

- **βœ… Version Match**: No message displayed, server functions normally
- **⚠️ Version Mismatch**: The first tool request will fail with an error message asking you to retry if you want to proceed. After you retry, the warning displays once more. It is then never shown again for that session.
- **⚠️ API Error**: If the version check API call fails, a warning is displayed once but does not block tool execution.

The version check uses the Umbraco Management API endpoint `/umbraco/management/api/v1/server/information` to detect the connected Umbraco version and compares the major version number.

Loading
Loading