An implementation of a Model Context Protocol Server for Umbraco. Enables basic functionality such as document type retrieval, content creation, and content editing. Experimental. Only use in production with caution.
$ dotnet add package Axendo.ModelContextProtocol.UmbracoThe first step to a more AI-agentic Umbraco.
This package adds MCP Server capabilities to your Umbraco instance. This allows you to communicate with the Umbraco CMS using the Model Context Protocol that has been gaining a lot of traction in the AI space recently.
Among many other features like AI workflow automation, it allows you to chat directly with your CMS using LLMs.

This packages offers the following functionality or tools as they are called in MCP:
To get started, install the package from NuGet after installing Umbraco 15+.
dotnet add package Axendo.ModelContextProtocol.Umbraco
In your Umbraco 15+ project, add the following section to your appsettings.json.
...
"McpServer": {
"Username": "{UMBRACO USER}"
}
...
This defines the user identity MCP utilizes for retrieving and storing data within Umbraco. It is advisable to create a seperate user for this.
Run Umbraco and navigate to your Umbraco instance (e.g. https://localhost:43111/sse) to vertify the Model Context Protocol Server has been started.
⚠️ NOTE
This version of the package exposes an unproteced public-facing HTTP endpoint. It is intended for local development and testing purposes only.
Create either set up a basic Document Type structure or use a starter package.
I've been using the Clean starterkit by Paul Seal while testing.
After that create and publish some content via the Umbraco back-office. This will create some reference files that the LLM will use later on learn about details of your Umbraco instance and configuration.
ChatGPT for Desktop will support MCP soonish, according to the annoucment by Sam Altman. For now, you can use the most popular Claude Desktop, Cursor & Windsurf to connect.
Configure by using the following config format:
{
"mcpServers": {
"MyUmbracoWebsite": {
"command": "npx",
"args": [
"mcp-remote",
"https://{HOSTNAME}/sse"
],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
},
}
}
}You don't need the NODE_TLS_REJECT_UNAUTHORIZED if you allow self signed certificates by default.
More info about how to configure MCP Servers per client:
Read more about connecting to an MCP Server from a local client here.
Chat from you favorite client and use prompts like:
There are heaps :-)
It is easy to think about future possibilities and extentions:
The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It enables secure integration between LLMs and various data sources and tools.
For more information about MCP:
The author of of the official C# SDK have been helpfull while making this package.
This project is licensed under the MIT License.