Skip to main content
Glama

Keep a sheet design at the table

save_sheet_frame
Destructive

Save a sheet shape under a name. Saving over the same name corrects it. Returns: The frame.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaign": "<campaign>",
      "name": "<name>",
      "frame": "<frame>"
    },
    "name": "save_sheet_frame"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesWhat to call it.
frameYesThe frame, in the shape a draft carries it.
campaignYesThe campaign, by its slug (what its link says) or its id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=false and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that — the upsert behavior ('saving over the same name corrects it'), which explains why the operation is destructive (it replaces an existing frame) — but it stops short of saying what exactly is overwritten, whether prior content is recoverable, or what failures look like.

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?

Three short sentences, front-loaded with the action and with zero filler. The final 'Returns: The frame.' is terse to the point of being cryptic given there is no output schema to corroborate it, which keeps this just below a 5.

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

Completeness2/5

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

For a destructive mutation with a free-form nested object parameter and no output schema, the description is too thin: it doesn't say what a frame contains, what a 'correction' of an existing frame replaces, or how partial/extra properties in `frame` are handled. The campaign scoping (by slug or id) and the returned shape are left entirely to the schema or unexplained.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented, and the nested `frame` object is explicitly described in the schema as taking the shape a draft carries. The description adds only the implicit link between the `name` parameter and the overwrite behavior, with no syntax or format detail beyond the schema — baseline 3 is appropriate.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Save a sheet shape under a name,' which matches the tool name and required `name`/`frame` params. It never distinguishes itself from siblings like list_sheet_frames or update_custom_sheet, and the phrase 'sheet shape' is vaguer than the tool's own 'sheet frame' vocabulary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no mention of when to save versus update an existing sheet via update_custom_sheet, or when to read frames back with list_sheet_frames. The only guidance-adjacent statement is 'Saving over the same name corrects it,' which describes behavior rather than when to choose this tool.

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.