Skip to main content
Glama
cmssy-io

@cmssy/mcp-server

Official
by cmssy-io

update_page_blocks

Replace all content blocks on a page in one operation. Preserves existing content for blocks with matching ids; review blockWarnings to correct invalid block data before saving.

Instructions

Set the full content blocks array on a page (replaces all existing content blocks). Blocks with matching ids keep their existing content when not provided. Only call after the user confirms. If the result includes blockWarnings, the saved content violates the workspace block manifest (unknown block type, unknown field or wrong value shape) - correct the content and save again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blocksNoFull array of content blocks to set on the page (replaces all)
pageIdNoPage id
targetNo'draft' (default) writes the shared page draft. 'devDraft' writes YOUR per-user dev draft overlay (owned by the token's user) - use it to compose with block types that are not deployed to the site yet; promote it with promote_dev_draft after the code ships.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.73.1

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the destructive nature ('replaces all existing content blocks'), the id-based preservation rule, the user confirmation requirement, and the blockWarnings failure mode with recovery instructions. It does not cover permissions, reversibility, or side effects on drafts/versions, but the most important behavioral aspects are addressed.

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

Conciseness5/5

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

Three sentences, each earning its place: the core purpose, the preservation nuance, and the warning-handling guidance. The most important information is front-loaded, and there is no fluff.

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 a mutation tool with no output schema, the description explains the core behavior, the preservation rule, the user confirmation step, and how to interpret blockWarnings. It does not go into return shape or the target parameter nuances, though those are partly covered by the schema. Overall it is sufficient for correct invocation but leaves some edge cases implicit.

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?

The schema already documents all three parameters with descriptions (100% coverage), giving a baseline of 3. The description adds value by explaining replacement semantics and the id-based content preservation rule, which are not present in the schema. This increment justifies a score above baseline.

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?

The description clearly states that the tool sets the full content blocks array and replaces all existing content blocks. This distinguishes it from sibling tools that add, update, patch, or remove individual blocks. The phrase 'full array' and 'replaces all' make the tool's scope unambiguous.

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

Usage Guidelines4/5

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

The description gives clear context that this is the whole-page block replacement operation and includes an explicit instruction to call only after user confirmation. However, it does not explicitly name alternatives (e.g., add_block_to_page, update_block_content) or state when not to use it, so it stops short of full when/when-not guidance.

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