Releases: umbraco/Umbraco-CMS-MCP-Dev
Releases · umbraco/Umbraco-CMS-MCP-Dev
v17.3.1
Changes
- Cursor pagination moved into
withStandardDecorators(SDK beta.12). It's now applied at tool-definition time rather than at registration time, so it works for both stdio and hosted MCP paths. RemovedwithCursorPaginationfromtool-registrar.ts. - Tests updated to drop explicit
skip/takeparams andwithCursorPaginationusage; snapshots regenerated for cursor-wrapped responses.
Dependencies
@umbraco-cms/mcp-server-sdkupgraded to beta.12.
v17.3.0
Features
- Cursor-based pagination integrated across MCP tools via the tool registrar (replaces skip/take). Paginated tool tests migrated to the new
CursorPaginatedResulttype andvalidateToolResponsehelper. - Hosted MCP Worker: Cloudflare Worker entry point (
src/worker.ts) with OAuth via the Umbraco backoffice, pluswrangler.toml/wrangler.production.toml. - Collections export:
src/collections.tslightweight entry point for in-process tool chaining, exposed via@umbraco-cms/mcp-dev/collections. - CLI integration: wires
handleCliCommandsfrom the SDK to support--list-tools,--describe-tool, and--generate-context. - CI test pipeline: GitHub Actions runs ~2131 unit + integration tests, Playwright E2E (OAuth + hosted worker), and LLM eval tests on
release/*PRs against a real Umbraco + SQL Server 2022 instance. - CLI skill plugin (
umb-cms-cli) distributed viamarketplace.jsonwith a smoke eval.
Fixes
- GUID validation: output schemas now use
zod.guid()to accept Umbraco's non-RFC 4122 GUIDs (e.g.0000003f-0000-0000-0000-000000000000); input schemas keep strictuuid(). OrvalafterAllFilesWritehook applies the replacement during generation. - Async SDK changes:
getServerConfigandvalidateFilePathare now async; server no longer crashes on startup. - Test reliability:
workerIdleMemoryLimitprevents OOM on full runs; pre-cleanup added to fragile collections;UserBuilderusesAdminGroupKeyString. - Audit log input schemas flattened for cursor pagination compatibility.
- Log-viewer page size reduced from 100 to 50.
- Marketplace: corrected
marketplace.jsonname (umb-cms-mcp), source path, and version; alignedplugin.json.
Dependencies
@umbraco-cms/mcp-server-sdkand@umbraco-cms/mcp-hostedupgraded through beta.5 → beta.7 → beta.8 → beta.11.
Chores
server.jsonbumped to 17.3.0.- Eval tests temporarily disabled in CI (API key budget) — re-enabled in 17.3.1.
v17.2.2
GUID Validation
- Replaced
zod.uuid()withzod.guid()in output schemas to accept Umbraco's non-RFC 4122 GUIDs (e.g. sequential version IDs like0000003f-0000-0000-0000-000000000000) - Added Orval
afterAllFilesWritehook to automatically apply replacement during code generation - Input schemas retain strict
uuid()validation for LLM inputs
Testing
- Added
guid-not-uuidtest to verify generated schemas useguid() - Added
output-schema-umbraco-compattest validating all 252 output schemas through the MCP SDK's actual validation pipeline — catches any overly-strict format validator, not just UUID
Marketplace
- Fixed
marketplace.json: correct plugin name (umb-cms-mcp), source path, and version - Aligned
plugin.jsonwithmarketplace.json
v17.2.1
SDK Upgrades
- Upgraded to @umbraco-cms/mcp-server-sdk and @umbraco-cms/mcp-hosted beta.8
- Added input sanitization — all string inputs are validated before tool handlers run (rejects control characters, path traversal, embedded query params)
- Fixed async SDK changes for server config loading
CLI Introspection
- Added CLI commands:
--list-tools,--describe-tool,--call,--debug-config - Added
umb-cms-cliskill as distributable plugin via marketplace
Testing & Reliability
- Fixed test suite to run all 386 tests without OOM
- Added Jest failure reporter for easier test debugging
- Added CLI smoke eval test using Claude Agent SDK
Housekeeping
- Removed old skills migrated to base SDK plugin
- Added
.claude-plugin/marketplace.jsonfor plugin distribution
v17.2.0
Collections Export & Hosted MCP
- Added collections export for programmatic access to tool collections
- Added hosted MCP deployment support via Streamable HTTP transport
SDK Upgrade
- Upgraded to latest @umbraco-cms/mcp-server-sdk
- Fixed async getServerConfig call to match updated SDK signature
- Made validateFilePath async to properly await config loading
Bug Fixes
- Updated snapshots for SDK error format and user-group description field
- Added .claude/worktrees/ to jest ignore paths
v17.1.1
What's Changed
SDK & Dependencies
- Upgraded
@umbraco-cms/mcp-server-sdkto 17.0.0-beta.4 - Pinned
@anthropic-ai/claude-agent-sdkto 0.2.39 to fix compatibility issue
Compatibility
- Added content tool return compatibility mode as standard for Cursor / Antigravity
Testing
- Fixed jest config to separate integration and eval test setup
- Eval tests are now self-contained and run in parallel
- Updated test snapshots for Umbraco instance upgrade
Infrastructure
- Updated
server.jsonto 2025-12-11 MCP schema format - Upgraded Umbraco test instance
v17.1.0
What's Changed
Content Editing
- AI agents can now update individual document properties and nested block content without replacing the entire document
SDK Migration
- Migrated to
@umbraco-cms/mcp-server-sdknpm package, centralizing shared MCP infrastructure into a reusable SDK - Updated to
@modelcontextprotocol/sdkv1.25.1 with new SDK patterns - Moved to structured JSON output from text-based tool responses
- Added tool annotations (
readOnlyHint,idempotentHint) for better LLM understanding
Readonly Mode
- Added
UMBRACO_READONLYconfig option (env var and--umbraco-readonlyCLI flag) to restrict the server to read-only operations
Tool Slices & Modes
- Added tool slice system for categorizing tools by operation type (CRUD, navigation, workflow, etc.)
- Added mode system for granular tool filtering (publisher, developer, admin)
Tools
- Added
create-media-foldertool for media library organization - Improved tool descriptions and property editor templates
Testing
- Added evaluation tests for common workflows
- Improved test stability with snapshot normalization helpers