@mapled/mcp 0.10.0 → 0.11.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 +2 -2
- package/dist/tools.js +18 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,9 +64,9 @@ For the first integration, propose one plan and let the owner approve it on a tr
|
|
|
64
64
|
| `list_records` | Read a collection's draft records, newest edit first — `query` searches their content, `limit` (1–200) and `cursor` (the previous answer's `nextCursor`) page through them; `total` counts every match |
|
|
65
65
|
| `create_form` / `list_forms` | Set up public forms with spam protection |
|
|
66
66
|
| `get_connection` (image values → `assetUrl(id, { width })` from @mapled/next) | Delivery key + API URL for wiring the site (`@mapled/next`) |
|
|
67
|
-
| `push_site_manifest` / `list_bindings` | Tell Mapled where each field is rendered; read every binding's health (type mismatch, outdated, missing on site). Keep the repository's copy in `mapled/manifest.json` — `npx @mapled/cli scan --write` derives it from the code and `bindings push` / `bindings pull` exchange it with Mapled |
|
|
67
|
+
| `push_site_manifest` / `list_bindings` | Tell Mapled where each field is rendered; read every binding's health (type mismatch, outdated, missing on site). Keep the repository's copy in `mapled/manifest.json` — `npx @mapled/cli scan --write` derives it from the code and `bindings push` / `bindings pull` exchange it with Mapled. A push records the integration hash — the schema and these bindings — and `list_bindings` says whether it still matches (`integration.inSync`, with `schemaChanged` / `bindingsChanged` naming what moved) |
|
|
68
68
|
| `configure_revalidation` | Point the publish webhook at the site, get the signing secret |
|
|
69
|
-
| `check_integration` | The site's integration as Mapled sees it — delivery reads, the webhook and its last delivery, the bindings summary, current package versions; `npx @mapled/cli doctor` shows the same from inside the repository |
|
|
69
|
+
| `check_integration` | The site's integration as Mapled sees it — delivery reads, the webhook and its last delivery, the bindings summary, the integration hash (is the last push still in step with the schema and the bindings?), current package versions; `npx @mapled/cli doctor` shows the same from inside the repository |
|
|
70
70
|
| `get_mapled_md` | `MAPLED.md` rendered from the project — the guide for the next agent: project, how the site reads it, content model, bindings by page, last setup run, working rules, verification commands. Never a secret. `npx @mapled/cli md pull` writes the same file; `mapled doctor` says when it is out of date |
|
|
71
71
|
|
|
72
72
|
Agents write drafts only — publishing stays with humans in the Mapled app, and nothing changes on the live site until someone presses Publish.
|
package/dist/tools.js
CHANGED
|
@@ -229,7 +229,9 @@ export function createTools(api) {
|
|
|
229
229
|
"image_alt, link, number, date, boolean, collection for a repeated list, route_param, form_field). " +
|
|
230
230
|
"Push the full list every time; bindings you leave out are marked missing on the site. Mapled grades " +
|
|
231
231
|
"each binding against the schema (healthy, type mismatch, outdated) and returns warnings for unknown " +
|
|
232
|
-
"collections or fields.
|
|
232
|
+
"collections or fields. The answer's manifest.integrationHash is the hash of the schema and these " +
|
|
233
|
+
"bindings — what the site is synced with from now on; check_integration reports inSync against it. " +
|
|
234
|
+
"Needs the builder plan.",
|
|
233
235
|
schema: {
|
|
234
236
|
framework: z.string().max(40).optional(),
|
|
235
237
|
pages: z.array(z.object({ route: z.string().max(200), file: z.string().max(300).optional() })).max(200).optional(),
|
|
@@ -266,7 +268,11 @@ export function createTools(api) {
|
|
|
266
268
|
name: "list_bindings",
|
|
267
269
|
description: "Read the bindings with their health: healthy, missing_on_site, type_mismatch, outdated (the field or " +
|
|
268
270
|
"collection changed since the manifest), not_checked, disabled. Fix the site or the schema, then push " +
|
|
269
|
-
"the manifest again."
|
|
271
|
+
"the manifest again. `integration` says whether the last push still matches Mapled: inSync false with " +
|
|
272
|
+
"schemaChanged means the schema moved after the site was wired — run `npx @mapled/cli schema diff`, " +
|
|
273
|
+
"update the site, then `scan --write` and push the manifest again; bindingsChanged means someone " +
|
|
274
|
+
"replaced or deleted bindings in Mapled — `npx @mapled/cli bindings pull` brings them into the " +
|
|
275
|
+
"repository, then update the site to match.",
|
|
270
276
|
schema: {},
|
|
271
277
|
handler: async () => api.request("GET", "/v1/agent/bindings"),
|
|
272
278
|
},
|
|
@@ -449,7 +455,8 @@ export function createTools(api) {
|
|
|
449
455
|
"reads it, the content model, where the site renders each field, the last setup run, the working rules and " +
|
|
450
456
|
"the verification commands, rendered from the project as it is now. Write `markdown` to MAPLED.md at the " +
|
|
451
457
|
"repository root and commit it. If the file exists, replace everything above its `<!-- mapled:notes -->` " +
|
|
452
|
-
"line and keep what is below — that part belongs to the repository.
|
|
458
|
+
"line and keep what is below — that part belongs to the repository. Its first line is a stamp with the " +
|
|
459
|
+
"schema hash, the manifest version and the integration hash. Refresh it after every schema or " +
|
|
453
460
|
"manifest change and at the end of a setup; `npx @mapled/cli md pull` does the same from the repository " +
|
|
454
461
|
"and `mapled doctor` says when it is out of date. It never contains a secret — don't add one.",
|
|
455
462
|
schema: {},
|
|
@@ -459,9 +466,14 @@ export function createTools(api) {
|
|
|
459
466
|
name: "check_integration",
|
|
460
467
|
description: "See the site's integration as Mapled sees it: whether the site has read content with the delivery key " +
|
|
461
468
|
"and when, the publish webhook's URL and its last delivery, the bindings summary of the last manifest, " +
|
|
462
|
-
"the connection you hold
|
|
463
|
-
"the mapled CLI)
|
|
464
|
-
"
|
|
469
|
+
"the connection you hold, the package versions Mapled considers current (@mapled/next, @mapled/mcp, " +
|
|
470
|
+
"the mapled CLI) and `integration` — the integration hash: `hash` is the schema and the bindings as " +
|
|
471
|
+
"Mapled holds them now, `synced` what the last manifest push recorded; inSync false means the site was " +
|
|
472
|
+
"wired against an older schema (schemaChanged) or bindings were edited in Mapled (bindingsChanged) — " +
|
|
473
|
+
"re-sync it (schema diff, update the site, push the manifest again). The repository computes the same " +
|
|
474
|
+
"hash from mapled/schema.json and mapled/manifest.json, and `npx @mapled/cli doctor` compares the two in " +
|
|
475
|
+
"its Integration line. Use it to find what is left to wire up; doctor shows the same picture from inside " +
|
|
476
|
+
"the repository, plus the local checks (env, routes, generated types, secrets in git).",
|
|
465
477
|
schema: {},
|
|
466
478
|
handler: async () => api.request("GET", "/v1/agent/integration"),
|
|
467
479
|
},
|