automate-mcp-server
OfficialProvides an MCP server template for Umbraco add-ons, enabling AI agents to connect to an Umbraco instance and interact with add-on APIs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@automate-mcp-serverSet up OAuth for my Umbraco MCP server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@umbraco-automate/mcp-dev
An MCP server for Umbraco Automate. Point it at an Umbraco instance and your AI assistant can build and publish automations, wire up their steps and triggers, manage connections and workspaces, inspect and control runs, handle approvals, and roll back to earlier versions — 62 Automate tools across 8 collections, plus a server-info tool.
Built on @umbraco-cms/mcp-server-sdk.
Requirements
Node.js 22+
An Umbraco instance with Umbraco Automate installed, reachable over HTTP(S)
An API user on that instance (see below)
This version targets Umbraco 18 with Umbraco Automate 18.x. Connecting to a different major
version warns and blocks the first tool call; set UMBRACO_EXPECTED_MAJOR to override if you know
what you're doing.
Which version for which Umbraco
Umbraco | Umbraco Automate | Package |
18 | 18.x |
|
17 | 17.x |
|
Install the version that matches your site's Umbraco major — the API client and the version check differ between them.
The Umbraco 17 line is in beta and published under the lts-17-beta dist-tag. A range such as
@17 doesn't match prereleases and won't find a version until 17.0.0 is released.
Related MCP server: Remote MCP Server on Cloudflare
1. Create an API user in Umbraco
In the Umbraco backoffice:
Go to Settings → Users
Create a new API user
Note its Client ID and Client Secret
Grant it permissions for the Automate sections you want the assistant to reach
The server authenticates with those credentials via OAuth client credentials.
2. Add it to your MCP client
Claude Code / Claude Desktop
Add to your .mcp.json (or claude_desktop_config.json):
{
"mcpServers": {
"umbraco-automate": {
"command": "npx",
"args": ["-y", "@umbraco-automate/mcp-dev"],
"env": {
"UMBRACO_BASE_URL": "https://your-site.example.com",
"UMBRACO_CLIENT_ID": "your-client-id",
"UMBRACO_CLIENT_SECRET": "your-client-secret"
}
}
}
}Restart your client and the tools appear.
Any other MCP client
The server speaks MCP over stdio. Run it however your client spawns servers:
UMBRACO_BASE_URL=https://your-site.example.com \
UMBRACO_CLIENT_ID=your-client-id \
UMBRACO_CLIENT_SECRET=your-client-secret \
npx -y @umbraco-automate/mcp-devLocal Umbraco with a self-signed certificate
Add "NODE_TLS_REJECT_UNAUTHORIZED": "0" to env. Only do this against local development
instances — it disables certificate verification process-wide.
3. Check it works
Without wiring up a client:
# List every tool this server exposes
npx -y @umbraco-automate/mcp-dev --list-tools
# Show resolved configuration and where each value came from
npx -y @umbraco-automate/mcp-dev --debug-config
# Call a tool directly
UMBRACO_BASE_URL=... UMBRACO_CLIENT_ID=... UMBRACO_CLIENT_SECRET=... \
npx -y @umbraco-automate/mcp-dev --call list-automations --call-args '{}'--describe-tool <name> prints a single tool's full input schema.
Configuration
Every option is an environment variable, and most also have a CLI flag (--help lists them).
Connection
Variable | Required | Purpose |
| yes | Base URL of your Umbraco instance |
| yes | API user's client ID |
| yes | API user's client secret |
| no | Override the expected Umbraco major version |
Limiting the tool surface
63 tools is a lot of context. Narrow it down:
Variable | Purpose |
| Enable named groups of collections (see below) |
| Only these collections |
| Everything except these |
| Individual tools by name |
| By operation type, e.g. |
| Block every write operation |
| Log writes instead of performing them |
Available modes:
Mode | Includes |
| All 8 Automate collections |
| Server information only |
"env": {
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "automations,catalogue,runs",
"UMBRACO_READONLY": "true"
}What you get
Collection | Tools | What it covers |
| 23 | Create, publish, trigger, import/export and delete automations; add, connect and configure steps; set triggers |
| 10 | Workspaces and the groups (folders) that organise automations |
| 8 | Available triggers, actions, control flows, connection types, notification channels and webhook authenticators |
| 6 | Stored credentials/endpoints that steps use, including a connection test |
| 6 | Run history and detail; replay, resume, suspend and terminate runs |
| 5 | Past versions of an entity — list, inspect, compare and roll back |
| 2 | Runs paused on an approval step, and approving/rejecting them |
| 2 | Run metrics overall and per automation |
| 1 | Umbraco server information (version, runtime) |
Run --list-tools for the full list with descriptions.
Building an automation
The usual order:
list-catalogue-triggers/list-catalogue-step-types— see what's available.create-automation— creates an empty draft in a workspace.set-automation-trigger, thenadd-automation-stepandconnect-automation-steps— build the graph one piece at a time.publish-automation— make it live.trigger-automationstarts a run by hand.
To copy an existing automation, use export-automation and then import-automation
(check the payload first with validate-automation-import).
Umbraco CMS tools
By default this server also chains to @umbraco-cms/mcp-dev,
exposing CMS tools (documents, media, members) alongside the Automate ones, prefixed cms--
(e.g. cms--get-document-by-id). It reuses the same credentials. The chained server is
configured in src/config/mcp-servers.ts.
Set DISABLE_MCP_CHAINING=true to turn this off and run Automate tools only.
Troubleshooting
Symptom | Likely cause |
| Wrong |
Self-signed certificate errors | Local HTTPS instance — set |
Version mismatch warning, first tool call blocked | Instance isn't Umbraco 18 — use |
| Umbraco Automate isn't installed on the instance |
A tool you expected isn't listed | Check |
Contributing
Setting up the repo, running the demo Umbraco site and the test suites: see CONTRIBUTING.md.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop and other MCP clients to interact with any OAuth2-authenticated OpenAPI-based API through automatic tool generation from OpenAPI specifications, with built-in token management and authentication handling.6 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables deploying and connecting to MCP servers on Cloudflare Workers with OAuth login, allowing remote access to tools via MCP clients like Claude Desktop.364 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables deployment of MCP servers over HTTP, providing ready-to-use tools for text processing, math calculations, and social media content generation, accessible to AI assistants like GitHub Copilot and Claude.-
- AlicenseCqualityFmaintenanceSingle MCP server providing over 500 developer tools for Claude Code, covering security, testing, documentation, and more.500546 npm3MIT