@typeroll/mcp-server 0.7.4 → 0.7.5
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/dist/tools/pages.js +11 -4
- package/dist/tools/settings.js +6 -1
- package/package.json +3 -3
package/dist/tools/pages.js
CHANGED
|
@@ -7,11 +7,12 @@ function v(version) {
|
|
|
7
7
|
export const pageTools = [
|
|
8
8
|
{
|
|
9
9
|
name: 'list_pages',
|
|
10
|
-
description: 'List pages on the active site. Returns id, title, slug, status, and SEO summary. Supports filtering by status and forward-cursor pagination.',
|
|
10
|
+
description: 'List pages on the active site. Returns id, title, slug, status, and SEO summary (no html_content by default — use read_page or batch_read_pages for body content). Supports filtering by status and forward-cursor pagination. Pass full=true to include html_content + blocks in the response.',
|
|
11
11
|
inputSchema: {
|
|
12
12
|
status: z.enum(['draft', 'review', 'unlisted', 'published', 'all']).optional(),
|
|
13
13
|
limit: z.number().int().min(1).max(200).optional(),
|
|
14
14
|
cursor: z.string().optional(),
|
|
15
|
+
full: z.boolean().optional().describe('Set true to include html_content + blocks. Default false (summary only) to avoid large payloads on sites with many pages.'),
|
|
15
16
|
version: versionParam,
|
|
16
17
|
},
|
|
17
18
|
handler: withErrorBoundary(async (args, { client, siteId }) => {
|
|
@@ -19,6 +20,7 @@ export const pageTools = [
|
|
|
19
20
|
status: args.status,
|
|
20
21
|
limit: args.limit,
|
|
21
22
|
cursor: args.cursor,
|
|
23
|
+
full: args.full ? 'true' : undefined,
|
|
22
24
|
...v(args.version),
|
|
23
25
|
});
|
|
24
26
|
return ok(res);
|
|
@@ -50,11 +52,16 @@ export const pageTools = [
|
|
|
50
52
|
},
|
|
51
53
|
{
|
|
52
54
|
name: 'create_page',
|
|
53
|
-
description: 'Create a new page. Defaults to
|
|
55
|
+
description: 'Create a new page. Defaults to html mode — pass html_content to set the body. ' +
|
|
56
|
+
'Slug is derived from the title when omitted. Default status is "draft". ' +
|
|
57
|
+
'Homepage convention: pass slug="" (empty string) or omit slug and set title to "Home"; ' +
|
|
58
|
+
'the server stores it under id "home" with slug "". ' +
|
|
59
|
+
'Do NOT pass slug="/"; strip leading slashes from slugs (use "about", not "/about"). ' +
|
|
60
|
+
'Returns the created page including html_content.',
|
|
54
61
|
inputSchema: {
|
|
55
62
|
title: z.string().min(1),
|
|
56
|
-
slug: z.string().optional(),
|
|
57
|
-
content_mode: z.enum(['blocks', 'html']).optional().describe('Default "
|
|
63
|
+
slug: z.string().optional().describe('URL slug without leading slash (e.g. "about", "services/design"). Empty string "" = homepage.'),
|
|
64
|
+
content_mode: z.enum(['blocks', 'html']).optional().describe('Default "html". "html" stores body in html_content; "blocks" stores a Block[] tree (note: blocks mode pages render as empty until the block editor ships — use html mode for all real content).'),
|
|
58
65
|
html_content: z.string().optional().describe('Body HTML — only used when content_mode="html".'),
|
|
59
66
|
blocks: z.array(z.any()).optional().describe('Block tree — only used when content_mode="blocks". Omit to get the default heading+prose seed.'),
|
|
60
67
|
status: z.enum(['draft', 'review', 'unlisted', 'published']).optional(),
|
package/dist/tools/settings.js
CHANGED
|
@@ -18,7 +18,12 @@ export const settingsTools = [
|
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
name: 'update_site_settings',
|
|
21
|
-
description: 'Patch site settings. Only the fields you pass change.
|
|
21
|
+
description: 'Patch site settings. Only the fields you pass change. ' +
|
|
22
|
+
'Pass fields at the TOP LEVEL of the object — do NOT wrap in a "settings" key. ' +
|
|
23
|
+
'Example: {"site_name": "Acme", "colors": {"primary": "#ff0"}} not {"settings": {...}}. ' +
|
|
24
|
+
'Nested objects (colors, fonts, contact, social) are shallow-merged into the existing value. ' +
|
|
25
|
+
'Unknown top-level keys return a 400 error listing the valid fields. ' +
|
|
26
|
+
'scripts_head / scripts_body_end / custom_css ARE writable here — useful for a global stylesheet across all pages.',
|
|
22
27
|
inputSchema: {
|
|
23
28
|
site_name: z.string().optional(),
|
|
24
29
|
tagline: z.string().optional(),
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typeroll/mcp-server",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "Model Context Protocol server for the Typeroll public API. Use with Claude Code or any MCP-compatible client to manage a Typeroll site.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/bootingbots/typeroll.git",
|
|
8
|
+
"url": "git+https://github.com/bootingbots/typeroll.git",
|
|
9
9
|
"directory": "packages/mcp-server"
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://github.com/bootingbots/typeroll/tree/main/packages/mcp-server#readme",
|
|
12
12
|
"bugs": "https://github.com/bootingbots/typeroll/issues",
|
|
13
13
|
"type": "module",
|
|
14
14
|
"bin": {
|
|
15
|
-
"typeroll-mcp": "
|
|
15
|
+
"typeroll-mcp": "dist/index.js"
|
|
16
16
|
},
|
|
17
17
|
"main": "./dist/index.js",
|
|
18
18
|
"files": [
|