mothermachine

Browse / Content publishing

Umbraco CMS

.NET CMS configured in appsettings.json, with an official MCP server over its Management API.

AdaptableOperable Business appWeb app Deterministic C#TypeScript MCP server License: MIT

Umbraco is an MIT-licensed ASP.NET Core CMS with a back office for documents, media, and content types, a Management API, and a Content Delivery API for headless reads. The Umbraco org publishes @umbraco-cms/mcp-dev, an MCP server that wraps the Management API so an agent can manage documents, media, document types, and data types under a normal API user's permissions.

Use it when
  • I run .NET and want a CMS my editors like and my agent can populate through a permissioned API
  • I need to bulk-create pages and media for a site launch without clicking through the back office
Gotchas
  • The MCP package is named mcp-dev and pinned to the CMS major (@umbraco-cms/mcp-dev@17); the CMS repo's own MCP.md calls its config local-development-only, though the MCP-Dev repo also ships a Cloudflare Worker hosted mode
  • The MCP authenticates as an Umbraco API user with client credentials; create that user and scope its permissions first
  • Swagger and the OpenAPI document at /umbraco/openapi are disabled in production
  • README says not to run Umbraco from the source checkout; install the NuGet templates and extend

Last activity Sep 3, 2026. Fit: adaptable 3, operable 3.

Editions

Umbraco CMS · Free open source

  • Clonegit clone https://github.com/umbraco/Umbraco-CMS
  • Installdotnet new install Umbraco.Templates && dotnet new umbraco --name MyProject

Umbraco Cloud · Free closed source

Umbraco Heartcore · Free closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only11 things to edit

A new site is a dotnet template; appsettings.json holds the Umbraco:CMS section (global settings, unattended install, connection string, security) and any key can be overridden with ASP.NET double-underscore env vars. Content types are modelled in the back office, not code. Views are Razor files if you want to change markup. The MCP server is configured entirely by UMBRACO_* env vars.

Env vars
ConnectionStrings__umbracoDbDSN Umbraco__CMS__Global__Id Umbraco__CMS__Unattended__InstallUnattended UMBRACO_CLIENT_ID UMBRACO_CLIENT_SECRET UMBRACO_BASE_URL UMBRACO_INCLUDE_TOOL_COLLECTIONS
Config files
appsettings.json appsettings.Development.json Views/*.cshtml .mcp.json
Prompt files
none
Accounts you need
Umbraco Cloud (only for the hosted edition)

Source

Also: umbraco/Umbraco-CMS-MCP-Dev

Operable: what an agent can drive

Interface

OfficialMCP serverpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
github.com/umbraco/Umbraco-CMS-MCP-Dev

Reach

Partial coverage. 6 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Create and edit content documentsReachableMCP tool collection 'document' (MCP.md; MCP-Dev README)
Publish and unpublish contentReachabledocument collection wraps Management API document endpoints, which include publish; confirm in tool listing
Manage media itemsReachableMCP tool collection 'media'
Define document types (content models)ReachableMCP tool collection 'document-type'
Define data types (property editors)ReachableMCP tool collection 'data-type'
Define media typesReachableMCP tool collection 'media-type'
Manage users and API usersUndeterminednot among the five collections named in MCP.md; full tool listing at docs.umbraco.com/umbraco-developer-mcp not fetched
Build and read form submissionsUndeterminedseparate umbraco/Umbraco-Forms-MCP-Dev repo exists; not analyzed
Serve content headlessly to a front endNot reachableContent Delivery API is a read interface for sites, not an MCP job
Edit Razor templates and viewsNot reachabletemplates are code in the project

Code stack

Languages
C#TypeScript
Frameworks
ASP.NET CoreRazorLit (back office)
Package manager
NuGet
Database
SQL ServerSQLite
Hosting target
any .NET hostAzureUmbraco CloudDocker
Built
Human-written (recorded, never ranked)

Skills

The official MCP repo ships a plugin with skills for CLI setup and wiring the MCP server; the CMS repo separately carries contributor-only skills.

Kind
bundled
Paths
plugins-server/skills/*/SKILL.md
Install
/plugin marketplace add umbraco/Umbraco-CMS-MCP-Dev

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: .NET CMS installed with dotnet new templates with a web back office95%
executionModelno model at runtime95%
operabilityumbraco/Umbraco-CMS-MCP-Dev (MIT, pushed 2026-09-02) on the Umbraco org; documented at docs.umbraco.com/umbraco-developer-mcp; CMS repo ships MCP.md and .mcp.json wiring it90%
effortMCP.md documents UMBRACO_* env vars; appsettings.json is the documented CMS config surface (docs.umbraco.com); triage-confirmed80%
editionsREADME: free and open source .NET CMS; umbraco.com lists Cloud and Heartcore70%
activepushedAt 2026-09-03 (CMS) and 2026-09-02 (MCP-Dev)–
provenancecompany-backed project since 2005; no vibe-coded claim90%
reach70%

Open questions

  • Fetch the full tool listing at docs.umbraco.com/umbraco-developer-mcp to settle users and publish Reach
  • Umbraco Cloud and Heartcore prices
  • Confirm the exact appsettings.json keys used for unattended install and connection string

Sources