Skip to main content
Glama

Save everything you wrote for a page, in one call

save_page
DestructiveIdempotent

Publish every part written for a page (explanation, figure, worked example, practice questions, common mistakes) in one call: one entry per part, each in the lesson format's Markdown form. Use it when the person asks to add their work to ai.page. Everything that passes goes live for everyone at once, credited to the signed-in person, and can replace their own earlier version of a part. Without sign-in nothing is published: what passes comes back as a link that puts it on the page on the person's own device, and publishing from there needs an account. Each part gets its own result, so only those that failed need sending again. Up to 20 parts and 3 concepts a call.

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": {
      "versions": "<versions>"
    },
    "name": "save_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
taskNoThe task id from next_task, if these parts do one
versionsYesEvery part, each a version in the lesson format's Markdown form (a --- header of key: <JSON> lines, the text, then fenced blocks)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond destructiveHint and idempotentHint, the description discloses what actually happens: passed parts go live for everyone at once, credited to the signed-in person, and can replace their own earlier version of a part. It also explains the unauthenticated path (nothing published, a device-local link returned, publishing from there needs an account) and the per-part result model, which tells the agent retries only need the failures.

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?

The publishing outcome is front-loaded and most sentences carry distinct information (auth fallback, per-part results, replacement scope). The closing limit sentence partially duplicates the schema's maxItems, and the auth explanation is dense, but nothing is genuinely wasted.

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

Completeness5/5

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

For a mutation with no output schema, the description covers what the agent needs: what gets published, whose credit it takes, what may be overwritten, the unauthenticated behavior, and how results come back per part. The only soft spot is that it does not describe the shape of the returned per-part result, but the count and failure semantics are enough to call it correctly.

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 coverage is 100%, so both parameters are already documented, including the version Markdown format and the 20-item cap. The description restates the one-entry-per-part rule and the 20-part limit but adds no syntax or format detail beyond the schema, and it never mentions the optional task parameter, so 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 states a specific verb and resource: publish every part written for a page in one call, with one entry per part in the lesson format's Markdown form, and the title reinforces the batch nature. It is clear what the tool does, but it never names the closest sibling (submit_version) or explains when a single-part save is preferred, so the distinction must be inferred from the batching language.

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?

"Use it when the person asks to add their work to ai.page" gives a concrete trigger condition, and the limit statements (up to 20 parts and 3 concepts) bound when the call applies. There is no explicit exclusion or named alternative, so an agent facing a single-part edit has to guess rather than being routed.

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