Skip to main content
Glama

Submit one page

submit_page
Destructive

Save one page you wrote (page 1: the file with Section0 and the shared design; page N: only its Section), with its direction (one sentence: the thing, the motion that acts out the claim, one craft detail). A page is accepted only after its brief was handed to you. The reply carries the next page's brief; when every page is saved the deck is merged, checked and rendered and the reply carries the rendered pages. To rewrite one page of a finished design, submit just that page: it replaces that page only, and everything else stays as it is, the person's own edits included. To change part of a page, read_page and edit_page are lighter.

Input Schema

NameRequiredDescriptionDefault
pageYes
labelNoWho wrote it, e.g. 'claude-code'. Shown in the deck's trace.
sourceYesPage 1: the file with Section0 and every shared constant, helper and chrome. Page N: ONLY `export const Section{N-1}`. Raw code or a ```tsx fenced block.
deck_idYes
page_idNoRewriting a page of a finished design: the page_id read_page gave. If the person moved pages since, it is refused instead of replacing another page.
directionYesThis page's direction in one sentence — the thing, the motion that acts out the claim, one craft detail. It goes into the page as its // Direction: line.
next_briefNoDefault true: the reply carries the next page's brief. A helper writing just one page sends false.
wait_secondsNoWhen this page completes the deck: how long to wait for the import (default 25).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / guest_token
      Removed value: -{
      -  "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.",
      -  "maxLength": 80,
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedInput schema / properties / page_id
      Added value: +{
      +  "description": "Rewriting a page of a finished design: the page_id read_page gave. If the person moved pages since, it is refused instead of replacing another page.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  3. Changed3 schema fields changed
    • changedInput schema / properties / direction / description
      Previous value: -"THE STUDIO'S METHOD, step 4: the one you chose, in one sentence — the thing, the motion that acts out the claim, one craft detail."New value: +"This page's direction in one sentence — the thing, the motion that acts out the claim, one craft detail. It goes into the page as its // Direction: line."
    • removedInput schema / properties / pictures
      Removed value: -{
      -  "description": "THE STUDIO'S METHOD, step 2: the six to eight pictures you considered for this page (at least two far-fetched), one short phrase each.",
      -  "items": {
      -    "maxLength": 200,
      -    "minLength": 2,
      -    "type": "string"
      -  },
      -  "maxItems": 10,
      -  "minItems": 6,
      -  "type": "array"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "deck_id",
      -  "page",
      -  "source",
      -  "pictures",
      -  "direction"
      -]New value: +[
      +  "deck_id",
      +  "page",
      +  "source",
      +  "direction"
      +]
  4. Changed4 schema fields changed
    • addedInput schema / properties / direction
      Added value: +{
      +  "description": "THE STUDIO'S METHOD, step 4: the one you chose, in one sentence — the thing, the motion that acts out the claim, one craft detail.",
      +  "maxLength": 400,
      +  "minLength": 15,
      +  "type": "string"
      +}
    • addedInput schema / properties / next_brief
      Added value: +{
      +  "description": "Default true: the reply carries the next page's brief. A helper writing just one page sends false.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / pictures
      Added value: +{
      +  "description": "THE STUDIO'S METHOD, step 2: the six to eight pictures you considered for this page (at least two far-fetched), one short phrase each.",
      +  "items": {
      +    "maxLength": 200,
      +    "minLength": 2,
      +    "type": "string"
      +  },
      +  "maxItems": 10,
      +  "minItems": 6,
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "deck_id",
      -  "page",
      -  "source"
      -]New value: +[
      +  "deck_id",
      +  "page",
      +  "source",
      +  "pictures",
      +  "direction"
      +]
  5. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the description doesn't need to re-warn about writes. It adds real behavior beyond that: what the reply carries (next page's brief, then merged/checked/rendered pages when the deck completes), and that a single-page resubmit replaces only that page while preserving the person's own edits. It does not spell out what a rejected submission returns, which is the main remaining gap.

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?

Front-loaded with the core action and mode split, and most sentences do work (prerequisite, reply contents, rewrite semantics, alternatives). The rewrite clause is slightly padded ("everything else stays as it is, the person's own edits included"), but the length is justified by the tool's multi-mode workflow.

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-parameter, no-output-schema workflow tool, the description covers the key state machine: prerequisite brief, what the reply returns at each stage, rewrite-vs-full-submit behavior, and when lighter siblings apply. It leaves open the failure/refusal path and how wait_seconds interacts with deck completion, but the operational essentials are present.

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 75%, so the schema already documents most parameters (source, direction, page_id, next_brief, wait_seconds, label). The description reinforces the page-1 vs page-N meaning of source and the one-sentence form of direction, but adds little syntax or format detail the schema lacks. Baseline 3 is appropriate.

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 and resource ("Save one page you wrote") and immediately disambiguates the two modes of the tool (page 1 carries Section0/shared design, page N carries only its Section). It also names the sibling tools that are not this one, so an agent can place it without opening any schema.

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 routes the agent: use this tool to submit a page, submit just that page to rewrite one page of a finished design, and use read_page/edit_page when only part of a page changes. It also states a hard prerequisite ("A page is accepted only after its brief was handed to you") that gates invocation.

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.