A Model Context Protocol (MCP) server implementation for Umbraco CMS, allowing LLMs to access and manipulate Umbraco content through standardized interfaces.
This repository provides a Model Context Protocol server that connects to Umbraco CMS, enabling AI models like Claude to:
- Retrieve content from Umbraco
- Execute operations against the Umbraco Management API
- Access document types, media, and other Umbraco resources
- Perform actions through standardized tool interfaces
# Clone the repository
git clone https://github.com/HappydanceLabs/umbraco-mcp-server.git
# Navigate to the project directory
cd umbraco-mcp-server
# Install dependencies
npm install
# Generate Umbraco API types
npm run generate:umbraco
# Start the development server
npm run dev
The server will be available at http://localhost:8787/
To explore the MCP API and test available resources and tools:
-
Start the MCP Inspector:
npm run mcp:inspector
-
In the Inspector interface, switch the Transport Type to
SSE
and enterhttp://localhost:8787/mcp
as the URL. -
Click "Connect" and follow any authentication prompts.
-
Once connected, you can list and call the available resources and tools.
To use this MCP server with Claude:
-
Install Claude Desktop and follow Anthropic's MCP Quickstart
-
In Claude Desktop, go to Settings > Developer > Edit Config
-
Replace the configuration with:
{
"mcpServers": {
"umbraco": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}
- Restart Claude and you'll be able to use the Umbraco tools directly from Claude.
-
Create a KV namespace for OAuth:
npx wrangler kv namespace create OAUTH_KV
-
Add the KV namespace ID to
wrangler.jsonc
-
Deploy to Cloudflare Workers:
npm run deploy
-
Update your Claude configuration to use your deployed URL:
{ "mcpServers": { "umbraco": { "command": "npx", "args": [ "mcp-remote", "https://your-worker-url.workers.dev/sse" ] } } }
/src/api
: Umbraco API clients and interfaces/src/resources
: MCP resource implementations for reading Umbraco data/src/tools
: MCP tool implementations for executing operations/src/helpers
: Utility functions and shared code/src/types
: TypeScript type definitions
This project uses the Model Context Protocol TypeScript SDK and Cloudflare Agents SDK to implement resources and tools according to the MCP specification. Hosted and deployed on a Cloudflare Worker.
For more information on the MCP protocol, see the official documentation.
If you encounter issues:
# Test direct connection to the MCP server
npx mcp-remote http://localhost:8787/sse
# Clear MCP authentication cache if needed
rm -rf ~/.mcp-auth