> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-in-ai/mcp/custom-mcp-server.md).

# Custom MCP Server

Build, host, and deploy custom MCP servers that expose Umbraco APIs to AI assistants.

The Base MCP packages provide the foundation for building Model Context Protocol (MCP) servers that expose Umbraco APIs to AI assistants. The [Developer MCP Server](/umbraco-in-ai/mcp/mcp-servers/cms-developer-mcp.md#how-it-works) is built on these packages, and you can use them to build your own.

These packages are for Umbraco package developers, property editor authors, and anyone who needs to expose custom Umbraco APIs through MCP. If your package has its own Management API endpoints, you can create a dedicated MCP server. This lets AI assistants interact with those APIs directly.

## Packages

The Base MCP ecosystem consists of three packages:

### [MCP Server SDK](/umbraco-in-ai/mcp/custom-mcp-server/sdk.md)

The core SDK (`@umbraco-cms/mcp-server-sdk`) provides infrastructure for building MCP servers. It includes tool authoring primitives, API helpers, a flexible filtering system, MCP chaining, and test utilities.

This package is installed automatically when you create a new project with the [Create Umbraco MCP Server](/umbraco-in-ai/mcp/custom-mcp-server/create-umbraco-mcp-server.md) CLI. You do not need to install it separately.

### [Hosted MCP](/umbraco-in-ai/mcp/custom-mcp-server/hosted-mcp.md)

The hosted package (`@umbraco-cms/mcp-hosted`) prepares your MCP server for deployment to Cloudflare Workers. It provides OAuth authentication, consent screen rendering, per-request server creation, and multi-site support. Users authenticate as backoffice users — no API keys required.

This package is also installed automatically when you create a new project with the [Create Umbraco MCP Server](/umbraco-in-ai/mcp/custom-mcp-server/create-umbraco-mcp-server.md) CLI.

### [Create Umbraco MCP Server](/umbraco-in-ai/mcp/custom-mcp-server/create-umbraco-mcp-server.md)

The CLI toolkit (`@umbraco-cms/create-umbraco-mcp-server`) is the fastest way to create an MCP server for Umbraco. It scaffolds a new project, discovers your API endpoints, and can build the entire MCP server for you — including tool collections, tests, and evaluations. Whether you need to expose a custom property editor API or a full add-on, this is where you start.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.umbraco.com/umbraco-in-ai/mcp/custom-mcp-server.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
