@typeroll/mcp-server 0.45.59 → 0.45.61
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/AGENTS.md +25 -3
- package/README.md +14 -7
- package/dist/bundled-content.js +10 -9
- package/dist/client.js +16 -1
- package/dist/compact-tools.js +1 -1
- package/dist/server.js +52 -23
- package/dist/tools/block-types.js +5 -5
- package/dist/tools/page-blocks.js +31 -16
- package/dist/tools/pages.js +11 -5
- package/dist/tools/search.js +6 -0
- package/dist/tools/settings.js +12 -2
- package/dist/tools/sites.js +5 -0
- package/dist/tools/styles.js +4 -4
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/tr-brand.md +8 -0
- package/skills/tr-content-write.md +5 -0
- package/skills/tr-custom-blocks.md +6 -1
- package/skills/tr-edit-site.md +49 -0
- package/skills/tr-migrate-wp.md +3 -0
- package/skills/tr-migration-evidence.md +35 -0
- package/skills/tr-new-site.md +3 -1
- package/skills/tr-page-template.md +5 -0
package/AGENTS.md
CHANGED
|
@@ -64,6 +64,16 @@ maps to one HTTP endpoint; the actual logic runs in the customer's portal
|
|
|
64
64
|
or let the content type's `route_template` derive it. All articles and
|
|
65
65
|
directory entries are Pages created with `create_page`.
|
|
66
66
|
|
|
67
|
+
A requested address is never changed silently. If the `slug` (or `path`)
|
|
68
|
+
you pass to `create_page`/`clone_page` is already in use — drafts and
|
|
69
|
+
unsaved drafts included — the call fails with 409 `slug_in_use` (or
|
|
70
|
+
`path_in_use`) and `details: { page_id, path }` of the existing page: edit
|
|
71
|
+
that page or choose another slug. Only a slug derived from the title is
|
|
72
|
+
numbered (`tack` → `tack-2`), and the response then carries
|
|
73
|
+
`warnings: [{ code: "slug_adjusted", requested, slug, path,
|
|
74
|
+
conflicting_page_id }]`. Link to the returned `url`, not the slug you
|
|
75
|
+
expected.
|
|
76
|
+
|
|
67
77
|
- **Partials = global blocks.** Three kinds:
|
|
68
78
|
- `header` — auto-injected at the top of every page.
|
|
69
79
|
- `footer` — auto-injected at the bottom of every page.
|
|
@@ -183,8 +193,8 @@ maps to one HTTP endpoint; the actual logic runs in the customer's portal
|
|
|
183
193
|
blocks — never hardcode block ids or field names, the available set is
|
|
184
194
|
per-site.
|
|
185
195
|
|
|
186
|
-
**Building a block type** (needs **
|
|
187
|
-
|
|
196
|
+
**Building a block type** (needs **write** permission on the site; editors
|
|
197
|
+
can define types as well as place them and edit their fields):
|
|
188
198
|
- Prefer a core block, then a block template (a section people copy and
|
|
189
199
|
adapt), then a global block (identical everywhere). Build a block type
|
|
190
200
|
only for a recurring shape whose structure should stay fixed while
|
|
@@ -1213,7 +1223,7 @@ preview.
|
|
|
1213
1223
|
| **Global blocks (partials)** | `list_partials` (summary by default), `read_partial`, `create_free_block` (`blocks` or `html_content`), `update_partial`, `replace_partial`, `set_partial_mode`, `delete_partial`, `find_pages_using_block`, `make_block_global`, `detach_global_block`. Block pages reference a global block with `core/global_block` (`global_block_id`); HTML pages use `<x-include>`. |
|
|
1214
1224
|
| **Block templates** | `list_block_templates`, `read_block_template`, `save_block_template` (from `blocks` or `from: { page_id, block_id }`), `update_block_template`, `delete_block_template`, `insert_block_template` (copies with new ids). Per site, not per branch. |
|
|
1215
1225
|
| **Styles** | `list_styles`, `create_style`, `update_style`, `delete_style`, `apply_standard_styles`. Blocks pick a style with `style_id` (heading parts: `eyebrow_style_id`, `subtitle_style_id`). Contrast below WCAG AA is refused. |
|
|
1216
|
-
| **Block types** | `list_block_types`, `read_block_type`, `find_pages_using_block_type`, `list_block_type_starters`, `validate_block_type`, `preview_block_type`, `create_block_type`, `update_block_type` (`renames`, `confirm_data_loss`), `delete_block_type`, `export_block_types`, `import_block_types` (`on_conflict`: skip, rename, replace). Authoring and import need
|
|
1226
|
+
| **Block types** | `list_block_types`, `read_block_type`, `find_pages_using_block_type`, `list_block_type_starters`, `validate_block_type`, `preview_block_type`, `create_block_type`, `update_block_type` (`renames`, `confirm_data_loss`), `delete_block_type`, `export_block_types`, `import_block_types` (`on_conflict`: skip, rename, replace). Authoring and import need write permission. |
|
|
1217
1227
|
| **Content types** | `list_content_types`, `read_content_type`, `create_content_type`, `update_content_type`, `delete_content_type`, `change_page_content_type`, `page_completeness` |
|
|
1218
1228
|
| **Page templates** | `list_page_templates`, `read_page_template`, `create_page_template`, `update_page_template`, `delete_page_template` |
|
|
1219
1229
|
| **Media** | `get_media_upload_status`, `list_media`, `read_media`, `create_upload_url`, `upload_media_from_url`, `upload_media_inline`, `update_media`, `delete_media`, `finalize_media`, `finalize_all_media`, `generate_image_variants`, `suggest_alt_text_context` |
|
|
@@ -1338,3 +1348,15 @@ responsive `min_height_px`, and Post Card supports an action group and optional
|
|
|
1338
1348
|
title icon. Use `read_block_type` for the exact current schemas. Set a Page's
|
|
1339
1349
|
`breadcrumb_label` for a short navigation label without changing its title or
|
|
1340
1350
|
route. Do not duplicate parent category information into each article body.
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
## Personal OAuth and site selection
|
|
1354
|
+
|
|
1355
|
+
Personal connections follow live memberships and shares across organizations.
|
|
1356
|
+
Confirm one site and version, call `select_site`, and pass its `site_context`
|
|
1357
|
+
on every site operation. Do not silently search or switch sites. Use
|
|
1358
|
+
`resolve_page_url` for a URL within the selected site. Read current guidance
|
|
1359
|
+
with `read_site_instructions` and enabled App guides with
|
|
1360
|
+
`read_app_documentation`. Use `tr-edit-site` for the editor workflow.
|
|
1361
|
+
Organization administration requires an explicit `organization_id` and a
|
|
1362
|
+
current owner/admin membership. Manual API keys keep their existing scope.
|
package/README.md
CHANGED
|
@@ -30,13 +30,12 @@ release. See the [model guide](https://typeroll.com/docs/tools/content-types/) a
|
|
|
30
30
|
- **Remote MCP — enter a URL.** Use a client with Streamable HTTP support
|
|
31
31
|
and OAuth or bearer-header authentication. The Cloud endpoint is
|
|
32
32
|
`https://app.typeroll.com/api/mcp`; self-hosted portals use
|
|
33
|
-
`https://<your-portal-host>/api/mcp`. On Core 0.2.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Revoke
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
API key during consent. Manual bearer keys remain supported.
|
|
33
|
+
`https://<your-portal-host>/api/mcp`. On Core 0.2.78+, sign in and approve
|
|
34
|
+
personal access with any role. No API key copying is needed. Confirm a site
|
|
35
|
+
and version, use `select_site`, and carry its `site_context` on site calls.
|
|
36
|
+
Revoke access in Account → AI connections. Permissions are checked live;
|
|
37
|
+
the connection expires after 30 days. Legacy OAuth grants remain scoped
|
|
38
|
+
as before until reconnecting. Manual bearer keys remain supported.
|
|
40
39
|
- **Local stdio — launch the npm package.** Use a client that can run a local
|
|
41
40
|
command with environment variables. Instructions below.
|
|
42
41
|
|
|
@@ -391,3 +390,11 @@ available. Read/write/admin wrappers share normal validation and authorization.
|
|
|
391
390
|
|
|
392
391
|
See [Agent workspace](https://typeroll.com/docs/getting-started/agent-workspace/)
|
|
393
392
|
for the folder layout, commands, version requirements and context-budget advice.
|
|
393
|
+
|
|
394
|
+
## Personal connections and packaged workflows
|
|
395
|
+
|
|
396
|
+
Personal OAuth defaults to compact discovery. Read `tr-edit-site` for the
|
|
397
|
+
editing workflow and fetch site/App instructions live after selecting the site.
|
|
398
|
+
The same flow works in Cloud and self-hosted Core.
|
|
399
|
+
[Plugin package instructions](plugins/README.md) describe reproducible
|
|
400
|
+
ChatGPT/Codex and Claude bundles; no catalog submission has been made.
|