@umbraco-cms/mcp-dev 16.0.0-beta.1 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -547
- package/dist/index.cjs +7436 -3899
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7532 -3995
- package/dist/index.js.map +1 -1
- package/package.json +12 -6
package/README.md
CHANGED
|
@@ -1,576 +1,49 @@
|
|
|
1
1
|
# Umbraco MCP 
|
|
2
2
|
|
|
3
|
-
An MCP (Model Context Protocol) server for [Umbraco CMS](https://umbraco.com/)
|
|
4
|
-
it provides access to key parts of the Management API enabling you to do back office tasks with your agent.
|
|
3
|
+
An MCP (Model Context Protocol) server for [Umbraco CMS](https://umbraco.com/) that unlocks AI-powered content management. It provides comprehensive access to the Umbraco Management API, enabling your AI agent to perform back office tasks through natural conversation - freeing you from the UI and making complex, repetitive workflows that would be tedious or impossible manually become effortless.
|
|
5
4
|
|
|
6
5
|
## Intro
|
|
7
6
|
|
|
8
|
-
The MCP server
|
|
7
|
+
The MCP server authenticates using an Umbraco API user, ensuring secure, permission-based access to the Umbraco Management API. This means you maintain complete control over what your AI agent can do through Umbraco's standard user permission system - no special security model required.
|
|
9
8
|
|
|
10
|
-
##
|
|
9
|
+
## Quick Start
|
|
11
10
|
|
|
12
|
-
### Umbraco
|
|
13
|
-
|
|
14
|
-
In order for the MCP to talk to the Management API you will need to create a API user
|
|
15
|
-
if you are unsure how to do this follow [Umbraco's documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/data/users/api-users).
|
|
16
|
-
|
|
17
|
-
The level of access you provider this user will determine what your agent is able to do.
|
|
18
|
-
|
|
19
|
-
### Installation
|
|
11
|
+
### 1. Create an Umbraco API User
|
|
20
12
|
|
|
21
13
|
First, create an Umbraco API user with appropriate permissions. You can find instructions in [Umbraco's documentation](https://docs.umbraco.com/umbraco-cms/fundamentals/data/users/api-users).
|
|
22
14
|
|
|
23
|
-
|
|
24
|
-
<summary>Claude Desktop</summary>
|
|
25
|
-
|
|
26
|
-
To get started with using the Umbraco MCP with Claude, first download and install the [Claude.ai desktop app](https://claude.ai/download).
|
|
15
|
+
### 2. Install in Claude Desktop
|
|
27
16
|
|
|
28
|
-
|
|
17
|
+
Download and install the [Claude Desktop app](https://claude.ai/download), then add the MCP server to your configuration:
|
|
29
18
|
|
|
30
|
-
|
|
19
|
+
1. Open Claude Desktop Settings > Developer > Edit Config
|
|
20
|
+
2. Add this configuration to your `claude_desktop_config.json`:
|
|
31
21
|
|
|
32
|
-
```
|
|
22
|
+
```json
|
|
33
23
|
{
|
|
34
24
|
"mcpServers": {
|
|
35
25
|
"umbraco-mcp": {
|
|
36
26
|
"command": "npx",
|
|
37
|
-
"args": ["@umbraco-cms/mcp-dev
|
|
27
|
+
"args": ["@umbraco-cms/mcp-dev"],
|
|
38
28
|
"env": {
|
|
39
29
|
"NODE_TLS_REJECT_UNAUTHORIZED": "0",
|
|
40
|
-
"UMBRACO_CLIENT_ID": "
|
|
41
|
-
"UMBRACO_CLIENT_SECRET": "
|
|
42
|
-
"UMBRACO_BASE_URL": "https://localhost:
|
|
43
|
-
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "
|
|
44
|
-
"UMBRACO_EXCLUDE_TOOLS": "delete-document,empty-recycle-bin"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Restart Claude and try it out with a simple prompt such as `Tell me the GUID of the home page document type`. You'll need to allow each one of the tools as the Umbraco MCP starts to work its way through. If you receive a connection error with the Umbraco MCP click the button to open the logs and review the file `mcp-server-umbraco-mcp.log` for extra information on how to fix the issue.
|
|
52
|
-
|
|
53
|
-
> [!NOTE]
|
|
54
|
-
> You may need to update to a paid version of Claude.ai in order to have a large enough context window to run your prompts.
|
|
55
|
-
|
|
56
|
-
</details>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<details>
|
|
60
|
-
<summary>Claude Code</summary>
|
|
61
|
-
|
|
62
|
-
Use the Claude Code CLI to add the Umbraco MCP server:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
claude mcp add umbraco-mcp npx @umbraco-cms/mcp-dev@beta
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Or configure environment variables and scope:
|
|
69
|
-
```bash
|
|
70
|
-
# Install Claude Code globally (if not already installed)
|
|
71
|
-
npm install -g @anthropic-ai/claude-code
|
|
72
|
-
|
|
73
|
-
# Add with environment variables
|
|
74
|
-
claude mcp add umbraco-mcp --env UMBRACO_CLIENT_ID="your-id" --env UMBRACO_CLIENT_SECRET="your-secret" --env UMBRACO_BASE_URL="https://your-domain.com" --env NODE_TLS_REJECT_UNAUTHORIZED="0" --env UMBRACO_INCLUDE_TOOL_COLLECTIONS="culture,document,media" -- npx @umbraco-cms/mcp-dev@beta
|
|
75
|
-
|
|
76
|
-
# Verify installation
|
|
77
|
-
claude mcp list
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
This will add umbraco-mcp to the existing project in the claude.json config file.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
</details>
|
|
84
|
-
|
|
85
|
-
<details>
|
|
86
|
-
<summary>VS Code</summary>
|
|
87
|
-
|
|
88
|
-
#### Click the button to install:
|
|
89
|
-
[<img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF" alt="Install in VS Code">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522umbraco-mcp%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522%2540umbraco-mcp%252Fumbraco-mcp-cms%2540alpha%2522%255D%252C%2522env%2522%253A%257B%2522UMBRACO_CLIENT_ID%2522%253A%2522%253CAPI%2520user%2520name%253E%2522%252C%2522UMBRACO_CLIENT_SECRET%2522%253A%2522%253CAPI%2520client%2520secert%253E%2522%252C%2522UMBRACO_BASE_URL%2522%253A%2522https%253A%252F%252F%253Cdomain%253E%2522%252C%2522UMBRACO_EXCLUDE_TOOLS%2522%253A%2522%253Ctoolname%253E%252C%253Ctoolname%253E%2522%257D%257D)
|
|
90
|
-
|
|
91
|
-
**Requirements:** VS Code 1.101+ with GitHub Copilot Chat extension installed.
|
|
92
|
-
|
|
93
|
-
Or install manually:
|
|
94
|
-
Follow the MCP [install guide](https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_add-an-mcp-server), use this config.
|
|
95
|
-
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"servers": {
|
|
99
|
-
"umbraco-mcp": {
|
|
100
|
-
"type": "stdio",
|
|
101
|
-
"command": "npx",
|
|
102
|
-
"args": ["@umbraco-cms/mcp-dev@beta"],
|
|
103
|
-
"env": {
|
|
104
|
-
"UMBRACO_CLIENT_ID": "<API user name>",
|
|
105
|
-
"UMBRACO_CLIENT_SECRET": "<API client secret>",
|
|
106
|
-
"UMBRACO_BASE_URL": "https://<domain>",
|
|
107
|
-
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "<collection>,<collection>",
|
|
108
|
-
"UMBRACO_EXCLUDE_TOOLS": "<toolname>,<toolname>"
|
|
30
|
+
"UMBRACO_CLIENT_ID": "your-api-user-id",
|
|
31
|
+
"UMBRACO_CLIENT_SECRET": "your-api-secret",
|
|
32
|
+
"UMBRACO_BASE_URL": "https://localhost:{port}",
|
|
33
|
+
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "document,media,document-type,data-type"
|
|
109
34
|
}
|
|
110
35
|
}
|
|
111
36
|
}
|
|
112
37
|
}
|
|
113
38
|
```
|
|
114
39
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
<details>
|
|
118
|
-
<summary>Cursor</summary>
|
|
119
|
-
|
|
120
|
-
#### Or install manually:
|
|
121
|
-
Go to `Cursor Settings` -> `Tools & Integrations` -> `Add new MCP Server`.
|
|
122
|
-
|
|
123
|
-
Add the following to the config file and update the env variables.
|
|
124
|
-
|
|
125
|
-
```json
|
|
126
|
-
{
|
|
127
|
-
"mcpServers": {
|
|
128
|
-
"umbraco-mcp": {
|
|
129
|
-
"command": "npx",
|
|
130
|
-
"args": ["@umbraco-cms/mcp-dev@beta"],
|
|
131
|
-
"env": {
|
|
132
|
-
"UMBRACO_CLIENT_ID": "<API user name>",
|
|
133
|
-
"UMBRACO_CLIENT_SECRET": "<API client secret>",
|
|
134
|
-
"UMBRACO_BASE_URL": "https://<domain>",
|
|
135
|
-
"UMBRACO_INCLUDE_TOOL_COLLECTIONS": "<collection>,<collection>",
|
|
136
|
-
"UMBRACO_EXCLUDE_TOOLS": "<toolname>,<toolname>"
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
</details>
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
### Configuration Environment Variables
|
|
146
|
-
|
|
147
|
-
`UMBRACO_CLIENT_ID`
|
|
148
|
-
|
|
149
|
-
Umbraco API User name
|
|
150
|
-
|
|
151
|
-
`UMBRACO_CLIENT_SECRET`
|
|
152
|
-
|
|
153
|
-
Umbraco API User client secert
|
|
154
|
-
|
|
155
|
-
`UMBRACO_BASE_URL`
|
|
156
|
-
|
|
157
|
-
Url of the site you want to connect to, it only needs to be the scheme and domain e.g https://<nolink/>example.com
|
|
158
|
-
|
|
159
|
-
`UMBRACO_EXCLUDE_TOOLS`
|
|
160
|
-
|
|
161
|
-
The allows you to specify tools by name if you wish to exclude them for the usable tools list. This is helpful as some Agents, cant handle so many tools. This is a commma seperated list of tools which can be found below.
|
|
162
|
-
|
|
163
|
-
`UMBRACO_INCLUDE_TOOLS`
|
|
164
|
-
|
|
165
|
-
The allows you to specify tools by name if you wish to include only specific tools in the usable tools list. When specified, only these tools will be available. This is a commma seperated list of tools which can be found below.
|
|
166
|
-
|
|
167
|
-
`UMBRACO_INCLUDE_TOOL_COLLECTIONS`
|
|
168
|
-
|
|
169
|
-
The allows you to specify collections by name if you wish to include only specific collections. When specified, only tools from these collections will be available. This is a commma seperated list of collection names (see tool list below for collection names).
|
|
170
|
-
|
|
171
|
-
`UMBRACO_EXCLUDE_TOOL_COLLECTIONS`
|
|
172
|
-
|
|
173
|
-
The allows you to specify collections by name if you wish to exclude them from the usable tools list. This is a commma seperated list of collection names (see tool list below for collection names).
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
## Umbraco Management API Tools
|
|
177
|
-
|
|
178
|
-
**Note:** Collection names are shown in brackets for use with `UMBRACO_INCLUDE_TOOL_COLLECTIONS` and `UMBRACO_EXCLUDE_TOOL_COLLECTIONS`.
|
|
179
|
-
|
|
180
|
-
<details>
|
|
181
|
-
<summary> View Tool list</summary>
|
|
182
|
-
<br>
|
|
183
|
-
|
|
184
|
-
<details>
|
|
185
|
-
<summary>Culture (culture)</summary>
|
|
186
|
-
<br>
|
|
187
|
-
|
|
188
|
-
`get-culture` - gets all cultures avaliable to Umbraco
|
|
189
|
-
</details>
|
|
190
|
-
|
|
191
|
-
<details>
|
|
192
|
-
<summary>Data Type (data-type)</summary>
|
|
193
|
-
<br>
|
|
194
|
-
|
|
195
|
-
`get-data-type-search` - Search for data types
|
|
196
|
-
`get-data-type` - Get a specific data type by ID
|
|
197
|
-
`get-data-type-references` - Get references to a data type
|
|
198
|
-
`is-used-data-type` - Check if a data type is in use
|
|
199
|
-
`get-data-type-root` - Get root level data types
|
|
200
|
-
`get-data-type-children` - Get child data types
|
|
201
|
-
`get-data-type-ancestors` - Get ancestor data types
|
|
202
|
-
`get-all-data-types` - Get all data types
|
|
203
|
-
`delete-data-type` - Delete a data type
|
|
204
|
-
`create-data-type` - Create a new data type
|
|
205
|
-
`update-data-type` - Update an existing data type
|
|
206
|
-
`copy-data-type` - Copy a data type
|
|
207
|
-
`move-data-type` - Move a data type to a different location
|
|
208
|
-
`create-data-type-folder` - Create a folder for organizing data types
|
|
209
|
-
`delete-data-type-folder` - Delete a data type folder
|
|
210
|
-
`get-data-type-folder` - Get information about a data type folder
|
|
211
|
-
`update-data-type-folder` - Update a data type folder details
|
|
212
|
-
</details>
|
|
213
|
-
|
|
214
|
-
<details>
|
|
215
|
-
<summary>Dictionary (dictionary)</summary>
|
|
216
|
-
<br>
|
|
217
|
-
|
|
218
|
-
`get-dictionary-search` - Search for dictionary items
|
|
219
|
-
`get-dictionary-by-key` - Get a dictionary item by key
|
|
220
|
-
`create-dictionary` - Create a new dictionary item
|
|
221
|
-
`update-dictionary` - Update a dictionary item
|
|
222
|
-
`delete-dictionary` - Delete a dictionary item
|
|
223
|
-
</details>
|
|
224
|
-
|
|
225
|
-
<details>
|
|
226
|
-
<summary>Document (document)</summary>
|
|
227
|
-
<br>
|
|
228
|
-
|
|
229
|
-
`get-document-by-id` - Get a document by ID
|
|
230
|
-
`get-document-publish` - Get document publish status
|
|
231
|
-
`get-document-configuration` - Get document configuration
|
|
232
|
-
`copy-document` - Copy a document
|
|
233
|
-
`create-document` - Create a new document
|
|
234
|
-
`post-document-public-access` - Set document public access
|
|
235
|
-
`delete-document` - Delete a document
|
|
236
|
-
`delete-document-public-access` - Remove public access from a document
|
|
237
|
-
`get-document-urls` - Get document URLs
|
|
238
|
-
`get-document-domains` - Get document domains
|
|
239
|
-
`get-document-audit-log` - Get document audit log
|
|
240
|
-
`get-document-public-access` - Get document public access settings
|
|
241
|
-
`move-document` - Move a document
|
|
242
|
-
`move-to-recycle-bin` - Move document to recycle bin
|
|
243
|
-
`get-document-notifications` - Get document notifications
|
|
244
|
-
`publish-document` - Publish a document
|
|
245
|
-
`publish-document-with-descendants` - Publish a document and its descendants
|
|
246
|
-
`sort-document` - Sort document order
|
|
247
|
-
`unpublish-document` - Unpublish a document
|
|
248
|
-
`update-document` - Update a document
|
|
249
|
-
`put-document-domains` - Update document domains
|
|
250
|
-
`put-document-notifications` - Update document notifications
|
|
251
|
-
`put-document-public-access` - Update document public access
|
|
252
|
-
`delete-from-recycle-bin` - Delete document from recycle bin
|
|
253
|
-
`empty-recycle-bin` - Empty the recycle bin
|
|
254
|
-
`get-recycle-bin-root` - Get root items in recycle bin
|
|
255
|
-
`get-recycle-bin-children` - Get child items in recycle bin
|
|
256
|
-
`search-document` - Search for documents
|
|
257
|
-
`validate-document` - Validate a document
|
|
258
|
-
`get-document-root` - Get root documents
|
|
259
|
-
`get-document-children` - Get child documents
|
|
260
|
-
`get-document-ancestors` - Get document ancestors
|
|
261
|
-
</details>
|
|
262
|
-
|
|
263
|
-
<details>
|
|
264
|
-
<summary>Document Blueprint (document-blueprint)</summary>
|
|
265
|
-
<br>
|
|
266
|
-
|
|
267
|
-
`get-blueprint` - Get a document blueprint
|
|
268
|
-
`delete-blueprint` - Delete a document blueprint
|
|
269
|
-
`update-blueprint` - Update a document blueprint
|
|
270
|
-
`create-blueprint` - Create a new document blueprint
|
|
271
|
-
`get-blueprint-ancestors` - Get blueprint ancestors
|
|
272
|
-
`get-blueprint-children` - Get blueprint children
|
|
273
|
-
`get-blueprint-root` - Get root blueprints
|
|
274
|
-
</details>
|
|
275
|
-
|
|
276
|
-
<details>
|
|
277
|
-
<summary>Document Version (document-version)</summary>
|
|
278
|
-
<br>
|
|
279
|
-
|
|
280
|
-
`get-document-version` - Get document versions with pagination
|
|
281
|
-
`get-document-version-by-id` - Get a specific document version by ID
|
|
282
|
-
`update-document-version-prevent-cleanup` - Prevent or allow cleanup of a document version
|
|
283
|
-
`create-document-version-rollback` - Rollback a document to a specific version
|
|
284
|
-
</details>
|
|
285
|
-
|
|
286
|
-
<details>
|
|
287
|
-
<summary>Document Type (document-type)</summary>
|
|
288
|
-
<br>
|
|
289
|
-
|
|
290
|
-
`get-document-type` - Get a document type
|
|
291
|
-
`get-document-type-configuration` - Get document type configuration
|
|
292
|
-
`get-document-type-blueprint` - Get document type blueprint
|
|
293
|
-
`get-document-type-by-id-array` - Get document types by IDs
|
|
294
|
-
`get-document-type-available-compositions` - Get available compositions
|
|
295
|
-
`get-document-type-composition-references` - Get composition references
|
|
296
|
-
`update-document-type` - Update a document type
|
|
297
|
-
`copy-document-type` - Copy a document type
|
|
298
|
-
`move-document-type` - Move a document type
|
|
299
|
-
`create-document-type` - Create a new document type
|
|
300
|
-
`delete-document-type` - Delete a document type
|
|
301
|
-
`create-element-type` - Create an element type
|
|
302
|
-
`get-icons` - Get available icons
|
|
303
|
-
`get-document-type-allowed-children` - Get allowed child types
|
|
304
|
-
`get-all-document-types` - Get all document types
|
|
305
|
-
`create-document-type-folder` - Create a folder
|
|
306
|
-
`delete-document-type-folder` - Delete a folder
|
|
307
|
-
`get-document-type-folder` - Get folder info
|
|
308
|
-
`update-document-type-folder` - Update folder details
|
|
309
|
-
`get-document-type-root` - Get root document types
|
|
310
|
-
`get-document-type-ancestors` - Get document type ancestors
|
|
311
|
-
`get-document-type-children` - Get document type children
|
|
312
|
-
</details>
|
|
313
|
-
|
|
314
|
-
<details>
|
|
315
|
-
<summary>Language (language)</summary>
|
|
316
|
-
<br>
|
|
317
|
-
|
|
318
|
-
`get-language-items` - Get all languages
|
|
319
|
-
`get-default-language` - Get default language
|
|
320
|
-
`create-language` - Create a new language
|
|
321
|
-
`update-language` - Update a language
|
|
322
|
-
`delete-language` - Delete a language
|
|
323
|
-
`get-language-by-iso-code` - Get language by ISO code
|
|
324
|
-
</details>
|
|
325
|
-
|
|
326
|
-
<details>
|
|
327
|
-
<summary>Log Viewer (log-viewer)</summary>
|
|
328
|
-
<br>
|
|
329
|
-
|
|
330
|
-
`get-log-viewer-saved-search-by-name` - Get saved search by name
|
|
331
|
-
`get-log-viewer-level-count` - Get log level counts
|
|
332
|
-
`post-log-viewer-saved-search` - Save a log search
|
|
333
|
-
`delete-log-viewer-saved-search-by-name` - Delete saved search
|
|
334
|
-
`get-log-viewer` - Get logs
|
|
335
|
-
`get-log-viewer-level` - Get log levels
|
|
336
|
-
`get-log-viewer-search` - Search logs
|
|
337
|
-
`get-log-viewer-validate-logs` - Validate logs
|
|
338
|
-
`get-log-viewer-message-template` - Get message template
|
|
339
|
-
</details>
|
|
340
|
-
|
|
341
|
-
<details>
|
|
342
|
-
<summary>Media (media)</summary>
|
|
343
|
-
<br>
|
|
344
|
-
|
|
345
|
-
`get-media-by-id` - Get media by ID
|
|
346
|
-
`get-media-ancestors` - Get media ancestors
|
|
347
|
-
`get-media-children` - Get media children
|
|
348
|
-
`get-media-root` - Get root media items
|
|
349
|
-
`create-media` - Create new media
|
|
350
|
-
`delete-media` - Delete media
|
|
351
|
-
`update-media` - Update media
|
|
352
|
-
`get-media-configuration` - Get media configuration
|
|
353
|
-
`get-media-urls` - Get media URLs
|
|
354
|
-
`validate-media` - Validate media
|
|
355
|
-
`sort-media` - Sort media items
|
|
356
|
-
`get-media-by-id-array` - Get media by IDs
|
|
357
|
-
`move-media` - Move media
|
|
358
|
-
`get-media-audit-log` - Get media audit log
|
|
359
|
-
`get-media-recycle-bin-root` - Get recycle bin root
|
|
360
|
-
`get-media-recycle-bin-children` - Get recycle bin children
|
|
361
|
-
`empty-recycle-bin` - Empty recycle bin
|
|
362
|
-
`restore-from-recycle-bin` - Restore from recycle bin
|
|
363
|
-
`move-media-to-recycle-bin` - Move to recycle bin
|
|
364
|
-
`delete-from-recycle-bin` - Delete from recycle bin
|
|
365
|
-
</details>
|
|
366
|
-
|
|
367
|
-
<details>
|
|
368
|
-
<summary>Media Type (media-type)</summary>
|
|
369
|
-
<br>
|
|
370
|
-
|
|
371
|
-
`get-media-type-configuration` - Get media type configuration
|
|
372
|
-
`get-media-type-by-id` - Get media type by ID
|
|
373
|
-
`get-media-type-by-ids` - Get media types by IDs
|
|
374
|
-
`get-allowed` - Get allowed media types
|
|
375
|
-
`get-media-type-allowed-at-root` - Get types allowed at root
|
|
376
|
-
`get-media-type-allowed-children` - Get allowed child types
|
|
377
|
-
`get-media-type-composition-references` - Get composition references
|
|
378
|
-
`get-root` - Get root media types
|
|
379
|
-
`get-children` - Get child media types
|
|
380
|
-
`get-ancestors` - Get ancestor media types
|
|
381
|
-
`get-folder` - Get folder information
|
|
382
|
-
`create-folder` - Create a new folder
|
|
383
|
-
`delete-folder` - Delete a folder
|
|
384
|
-
`update-folder` - Update folder details
|
|
385
|
-
`create-media-type` - Create a new media type
|
|
386
|
-
`copy-media-type` - Copy a media type
|
|
387
|
-
`get-media-type-available-compositions` - Get available compositions
|
|
388
|
-
`update-media-type` - Update a media type
|
|
389
|
-
`move-media-type` - Move a media type
|
|
390
|
-
`delete-media-type` - Delete a media type
|
|
391
|
-
</details>
|
|
392
|
-
|
|
393
|
-
<details>
|
|
394
|
-
<summary>Member (member)</summary>
|
|
395
|
-
<br>
|
|
396
|
-
|
|
397
|
-
`get-member` - Get member by ID
|
|
398
|
-
`create-member` - Create a new member
|
|
399
|
-
`delete-member` - Delete a member
|
|
400
|
-
`update-member` - Update a member
|
|
401
|
-
`find-member` - Find members
|
|
402
|
-
</details>
|
|
403
|
-
|
|
404
|
-
<details>
|
|
405
|
-
<summary>Member Group (member-group)</summary>
|
|
406
|
-
<br>
|
|
407
|
-
|
|
408
|
-
`get-member-group` - Get member group
|
|
409
|
-
`get-member-group-by-id-array` - Get member groups by IDs
|
|
410
|
-
`create-member-group` - Create a new member group
|
|
411
|
-
`update-member-group` - Update a member group
|
|
412
|
-
`delete-member-group` - Delete a member group
|
|
413
|
-
`get-member-group-root` - Get root member groups
|
|
414
|
-
</details>
|
|
415
|
-
|
|
416
|
-
<details>
|
|
417
|
-
<summary>Member Type (member-type)</summary>
|
|
418
|
-
<br>
|
|
419
|
-
|
|
420
|
-
`get-member-type-by-id` - Get member type by ID
|
|
421
|
-
`create-member-type` - Create a new member type
|
|
422
|
-
`get-member-type-by-id-array` - Get member types by IDs
|
|
423
|
-
`delete-member-type` - Delete a member type
|
|
424
|
-
`update-member-type` - Update a member type
|
|
425
|
-
`copy-member-type` - Copy a member type
|
|
426
|
-
`get-member-type-available-compositions` - Get available compositions
|
|
427
|
-
`get-member-type-composition-references` - Get composition references
|
|
428
|
-
`get-member-type-configuration` - Get member type configuration
|
|
429
|
-
`get-member-type-root` - Get root member types
|
|
430
|
-
</details>
|
|
431
|
-
|
|
432
|
-
<details>
|
|
433
|
-
<summary>Partial View (partial-view)</summary>
|
|
434
|
-
<br>
|
|
435
|
-
|
|
436
|
-
`get-partial-view-by-path` - Get partial view by path
|
|
437
|
-
`get-partial-view-folder-by-path` - Get partial view folder by path
|
|
438
|
-
`get-partial-view-snippet-by-id` - Get partial view snippet by ID
|
|
439
|
-
`get-partial-view-snippet` - Get partial view snippet
|
|
440
|
-
`create-partial-view` - Create a new partial view
|
|
441
|
-
`create-partial-view-folder` - Create a partial view folder
|
|
442
|
-
`update-partial-view` - Update a partial view
|
|
443
|
-
`rename-partial-view` - Rename a partial view
|
|
444
|
-
`delete-partial-view` - Delete a partial view
|
|
445
|
-
`delete-partial-view-folder` - Delete a partial view folder
|
|
446
|
-
`get-partial-view-root` - Get root partial views
|
|
447
|
-
`get-partial-view-children` - Get child partial views
|
|
448
|
-
`get-partial-view-ancestors` - Get partial view ancestors
|
|
449
|
-
`get-partial-view-search` - Search partial views
|
|
450
|
-
</details>
|
|
451
|
-
|
|
452
|
-
<details>
|
|
453
|
-
<summary>Property Type (property-type)</summary>
|
|
454
|
-
<br>
|
|
455
|
-
|
|
456
|
-
`get-property-type` - Get property type by ID
|
|
457
|
-
`get-property-type-all-property-type-groups` - Get all property type groups
|
|
458
|
-
`create-property-type` - Create a new property type
|
|
459
|
-
`update-property-type` - Update a property type
|
|
460
|
-
`delete-property-type` - Delete a property type
|
|
461
|
-
</details>
|
|
462
|
-
|
|
463
|
-
<details>
|
|
464
|
-
<summary>Redirect (redirect)</summary>
|
|
465
|
-
<br>
|
|
466
|
-
|
|
467
|
-
`get-all-redirects` - Get all redirects
|
|
468
|
-
`get-redirect-by-id` - Get redirect by ID
|
|
469
|
-
`delete-redirect` - Delete a redirect
|
|
470
|
-
`get-redirect-status` - Get redirect status
|
|
471
|
-
`update-redirect-status` - Update redirect status
|
|
472
|
-
</details>
|
|
473
|
-
|
|
474
|
-
<details>
|
|
475
|
-
<summary>Script (script)</summary>
|
|
476
|
-
<br>
|
|
477
|
-
|
|
478
|
-
`get-script-by-path` - Get script by path
|
|
479
|
-
`get-script-folder-by-path` - Get script folder by path
|
|
480
|
-
`get-script-items` - Get script items
|
|
481
|
-
`create-script` - Create a new script
|
|
482
|
-
`create-script-folder` - Create a script folder
|
|
483
|
-
`update-script` - Update a script
|
|
484
|
-
`rename-script` - Rename a script
|
|
485
|
-
`delete-script` - Delete a script
|
|
486
|
-
`delete-script-folder` - Delete a script folder
|
|
487
|
-
`get-script-tree-root` - Get root script items
|
|
488
|
-
`get-script-tree-children` - Get child script items
|
|
489
|
-
`get-script-tree-ancestors` - Get script ancestors
|
|
490
|
-
</details>
|
|
491
|
-
|
|
492
|
-
<details>
|
|
493
|
-
<summary>Stylesheet (stylesheet)</summary>
|
|
494
|
-
<br>
|
|
495
|
-
|
|
496
|
-
`get-stylesheet-by-path` - Get stylesheet by path
|
|
497
|
-
`get-stylesheet-folder-by-path` - Get stylesheet folder by path
|
|
498
|
-
`create-stylesheet` - Create a new stylesheet
|
|
499
|
-
`create-stylesheet-folder` - Create a stylesheet folder
|
|
500
|
-
`update-stylesheet` - Update a stylesheet
|
|
501
|
-
`rename-stylesheet` - Rename a stylesheet
|
|
502
|
-
`delete-stylesheet` - Delete a stylesheet
|
|
503
|
-
`delete-stylesheet-folder` - Delete a stylesheet folder
|
|
504
|
-
`get-stylesheet-root` - Get root stylesheets
|
|
505
|
-
`get-stylesheet-children` - Get child stylesheets
|
|
506
|
-
`get-stylesheet-ancestors` - Get stylesheet ancestors
|
|
507
|
-
`get-stylesheet-search` - Search stylesheets
|
|
508
|
-
</details>
|
|
509
|
-
|
|
510
|
-
<details>
|
|
511
|
-
<summary>Server (server)</summary>
|
|
512
|
-
<br>
|
|
513
|
-
|
|
514
|
-
`get-server-status` - Get server status
|
|
515
|
-
`get-server-log-file` - Get server log file
|
|
516
|
-
`tour-status` - Get tour status
|
|
517
|
-
`upgrade-status` - Get upgrade status
|
|
518
|
-
</details>
|
|
519
|
-
|
|
520
|
-
<details>
|
|
521
|
-
<summary>Template (template)</summary>
|
|
522
|
-
<br>
|
|
523
|
-
|
|
524
|
-
`get-template-search` - Search for templates by name
|
|
525
|
-
`get-template` - Get a template by ID
|
|
526
|
-
`get-templates-by-id-array` - Get templates by IDs
|
|
527
|
-
`create-template` - Create a new template
|
|
528
|
-
`update-template` - Update a template by ID
|
|
529
|
-
`delete-template` - Delete a template by ID
|
|
530
|
-
`execute-template-query` - Execute template queries and return generated LINQ code
|
|
531
|
-
`get-template-query-settings` - Get schema for template queries (document types, properties, operators)
|
|
532
|
-
`get-template-root` - Get root template items
|
|
533
|
-
`get-template-children` - Get child templates or template folders by parent ID
|
|
534
|
-
`get-template-ancestors` - Get ancestors of a template by ID
|
|
535
|
-
</details>
|
|
536
|
-
|
|
537
|
-
<details>
|
|
538
|
-
<summary>Temporary File (temporary-file)</summary>
|
|
539
|
-
<br>
|
|
540
|
-
|
|
541
|
-
`create-temporary-file` - Create a temporary file
|
|
542
|
-
`get-temporary-file` - Get a temporary file
|
|
543
|
-
`delete-temporary-file` - Delete a temporary file
|
|
544
|
-
`get-temporary-file-configuration` - Get temporary file configuration
|
|
545
|
-
</details>
|
|
546
|
-
|
|
547
|
-
<details>
|
|
548
|
-
<summary>User Group (user-group)</summary>
|
|
549
|
-
<br>
|
|
40
|
+
3. Fully restart Claude Desktop (including in the system tray on Windows)
|
|
550
41
|
|
|
551
|
-
|
|
552
|
-
`get-user-group-by-id-array` - Get user groups by IDs
|
|
553
|
-
`get-user-groups` - Get all user groups
|
|
554
|
-
`get-filter-user-group` - Filter user groups
|
|
555
|
-
`create-user-group` - Create a new user group
|
|
556
|
-
`update-user-group` - Update a user group
|
|
557
|
-
`delete-user-group` - Delete a user group
|
|
558
|
-
`delete-user-groups` - Delete multiple user groups
|
|
559
|
-
</details>
|
|
42
|
+
## Documentation
|
|
560
43
|
|
|
561
|
-
|
|
562
|
-
<summary>Webhook (webhook)</summary>
|
|
563
|
-
<br>
|
|
44
|
+
For complete installation instructions, configuration options, tool listings, and usage examples, see the full documentation:
|
|
564
45
|
|
|
565
|
-
|
|
566
|
-
`get-webhook-by-id-array` - Get webhooks by IDs
|
|
567
|
-
`delete-webhook` - Delete a webhook
|
|
568
|
-
`update-webhook` - Update a webhook
|
|
569
|
-
`get-webhook-events` - Get webhook events
|
|
570
|
-
`get-all-webhook-logs` - Get all webhook logs
|
|
571
|
-
`create-webhook` - Create a new webhook
|
|
572
|
-
</details>
|
|
573
|
-
</details>
|
|
46
|
+
**[Umbraco MCP Documentation](https://docs.umbraco.com/umbraco-cms/reference/developer-mcp)**
|
|
574
47
|
|
|
575
48
|
## Contributing with AI Tools
|
|
576
49
|
|
|
@@ -597,7 +70,7 @@ rulesync supports 19+ AI development tools including GitHub Copilot, Cline, Aide
|
|
|
597
70
|
|
|
598
71
|
The instruction files cover:
|
|
599
72
|
- MCP development patterns and conventions
|
|
600
|
-
- TypeScript implementation guidelines
|
|
73
|
+
- TypeScript implementation guidelines
|
|
601
74
|
- Comprehensive testing standards with builders and helpers
|
|
602
75
|
- Project-specific context and architecture
|
|
603
|
-
- API integration patterns with Umbraco Management API
|
|
76
|
+
- API integration patterns with Umbraco Management API
|