@mapled/mcp 0.13.0 → 0.13.2

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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  MCP server for [Mapled](https://mapled.io) — a hosted headless CMS built for sites created with AI. Connect it to Claude, Cursor, or any MCP-capable agent, and the agent can model collections, fill in content, and wire the site up end to end.
4
4
 
5
+ No agent at hand? Everything an agent does here can be done by a person: [Integrate by hand](https://www.npmjs.com/package/@mapled/next#integrate-by-hand) in the `@mapled/next` README is the same integration, step by step.
6
+
5
7
  ## Setup
6
8
 
7
9
  The quickest way is the hosted endpoint with OAuth — no token to copy. In Claude Code:
@@ -14,7 +16,6 @@ Your browser opens Mapled, you pick the project and authorize; the connection ap
14
16
 
15
17
  The local stdio server below is the alternative for clients without OAuth support.
16
18
 
17
-
18
19
  Create a token in Mapled: project → Integrations → **Connect with AI**. Then add the server to your agent's MCP config:
19
20
 
20
21
  ```json
@@ -67,8 +68,9 @@ A rename or a conversion Mapled wouldn't take is refused at once with the reason
67
68
  | `create_form` / `list_forms` | Set up public forms with spam protection |
68
69
  | `get_connection` (image values → `assetUrl(id, { width })` from @mapled/next) | Delivery key + API URL for wiring the site (`@mapled/next`) |
69
70
  | `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) |
70
- | `configure_revalidation` | Point the publish webhook at the site, get the signing secret |
71
+ | `configure_revalidation` | Point the publish webhook at the site, get the signing secret; the description also tells the agent how to add live updates for tabs that are already open (`createReleaseHandler` and `<MapledLive />`, `@mapled/next` 0.8.0+) |
71
72
  | `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 |
73
+ | `delete_collection` / `remove_field` / `clear_records` / `rename_field` / `convert_field` / `get_confirmation` | Destructive and breaking changes — each files a request a person confirms on a trusted Mapled screen (see above); `get_confirmation` reads its status |
72
74
  | `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 |
73
75
 
74
76
  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
@@ -502,7 +502,11 @@ export function createTools(api) {
502
502
  "Pass the site's public revalidate URL (with @mapled/next: mount createRevalidateHandler " +
503
503
  "from \"@mapled/next/server\" at /api/mapled/revalidate and pass that URL here). " +
504
504
  "Returns the signing secret — store it in the site's env as MAPLED_WEBHOOK_SECRET. " +
505
- "Local and private URLs are rejected; use the deployed site's URL.",
505
+ "Local and private URLs are rejected; use the deployed site's URL. " +
506
+ "Optional, when the owner wants pages that are already open to follow a publish without a reload " +
507
+ "(@mapled/next 0.8.0+): also mount createReleaseHandler({ key: process.env.MAPLED_KEY! }) from " +
508
+ "\"@mapled/next/server\" as GET at /api/mapled/release and render <MapledLive /> from " +
509
+ "\"@mapled/next/live\" once in the root layout — tabs poll the site's own route, never Mapled.",
506
510
  schema: {
507
511
  url: z.string().min(8).max(2048),
508
512
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapled/mcp",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "description": "Mapled MCP server: lets AI agents build schema and content for one Mapled project.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://mapled.io",