Skip to main content
Glama

Fabrement

Save synced pattern

fabrement-save-synced-pattern

Create a GLOBAL BLOCK (synced pattern) from deployed blocks, or change one by patternId — every page placing it changes with it. mode is REQUIRED and has no default: create (new pattern, no patternId) · replace (the body becomes exactly blocks) · edit (change part of it through edits). blocks[] as in save-content ({name, attributes} or {markup}); must hold at least one Fabrement block. Change part of an existing one with mode "edit" + edits + expectedHash from get-synced-pattern. Place it on a page with save-content {name:"core/block", attributes:{ref: patternId}}. Rules: get-skill-doc {id:"synced-pattern-contract"} — read it before the first call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoheader / footer: a template's frame (save-template headerPatternId), filed under that pattern category. section (default on create): placed on pages. Omit on update to keep.
modeYesRequired — there is no default. create: a NEW pattern; patternId must be absent. replace: the body of that pattern becomes exactly `blocks`. edit: change part of it through `edits`, without re-sending every block.
editsNomode "edit" only. Applied in order to the body get-content returned; all or none.
titleNoRequired on create; the name admins pick it by.
blocksNoThe whole body (create, or replace an existing one).
patternIdNoOmit to create.
allowForeignNoChange a pattern that also holds blocks of a theme or another plugin (`foreign`).
expectedHashNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoheader / footer (placed by templates) or section (placed on pages).
titleYes
blocksYes
usedByYesRecords this change reached.
createdNo
editUrlNo
patternIdYes
placementNoThe markup that places it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does well: it discloses that edits are all-or-none, that mode has no default, that blocks[] must hold at least one Fabrement block, and that changes propagate to every page using the pattern. It doesn't address permissions or recoverability explicitly, but the global-effect warning covers the key mutation risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads purpose before enumerating modes and rules. Everything is relevant, though the mode list and rules sentence compress a lot, making it heavy for a first read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-param tool with a nested edits array, the description covers the mode workflow, the hash requirement, and points to the contract doc, and an output schema exists so return values need no explanation. The main omission is any explicit note on preconditions/permissions for mutating a globally shared pattern.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 88%, so the schema documents most parameters; the description still adds cross-parameter meaning the schema cannot, tying mode to whether patternId is absent, linking edit to expectedHash from get-synced-pattern, and restating the blocks[] shape. This is above the baseline-of-3 case for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (create/change) and resource (GLOBAL BLOCK / synced pattern), and distinguishes itself from save-content and save-template. The "every page placing it changes with it" framing makes the global scope of the object unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates when to use each mode (create=no patternId, replace=body becomes blocks, edit=change part via edits) and routes to get-synced-pattern for the hash and save-content for placement. It also mandates reading get-skill-doc {id:"synced-pattern-contract"} before the first call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources