Skip to main content
Glama

inkbolt_document_edit

Read-onlyIdempotent

Apply up to 64 typed operations atomically to a document snapshot at an exact revision, validating locks and resources without changing files. Returns an editable snapshot with ordered changes.

Instructions

Apply 1..64 typed operations atomically to a snapshot at expected_revision. Use add_svg to insert editable SVG fragments or documents. Discover supported operations with schema.lookup name operation and select a variant for its fields. Returns an editable snapshot and ordered changes; validates locks, resources and the complete batch. Leaves files unchanged.

Input Schema

NameRequiredDescriptionDefault
controlNo
documentYesInline snapshot, exact saved session revision, or snapshot file pinned by SHA-256. Saved session resource bindings are inherited unless overridden; files use explicit or workspace roots.
font_rootNoRuntime path relative to the selected workspace, or an absolute path inside it. Omitted session, receipt, job, image/font store and output roots use documented workspace defaults; explicit null retains optional-root semantics.
asset_rootNoRuntime path relative to the selected workspace, or an absolute path inside it. Omitted session, receipt, job, image/font store and output roots use documented workspace defaults; explicit null retains optional-root semantics.
operationsYes
response_formatNoJSON/Markdown include a metadata envelope in text. Structured/preview use summary text. All formats send PNG bytes once with payload references.json
expected_revisionYes

Output Schema

NameRequiredDescriptionDefault
okYes
errorNo
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real context beyond them: atomic batch application, a 1..64 operation bound, lock/resource/full-batch validation, the editable-snapshot-plus-ordered-changes return, and explicitly 'leaves files unchanged.' That last clause is what makes the read-only annotation coherent despite an 'edit' name. Failure/error semantics are the only notable omission.

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?

Five tight sentences, front-loaded with the core action and revision contract, then discovery, then return/validation behavior. Every sentence contributes; there is no filler or throat-clearing.

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?

With an output schema present, the description correctly does not need to enumerate return fields in full, and it still summarizes the return shape and atomicity guarantees. Given the deferred operation schema and 7 parameters, an agent has enough to invoke it, though the when-to-use-this-tool dimension remains thin.

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 57%, so the schema carries much of the load. The description reinforces expected_revision and the 1..64 bound on operations, but it largely repeats the schema's own instruction to call schema.lookup for the operation variant rather than adding new meaning for document, control, or root parameters.

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: 'Apply 1..64 typed operations atomically to a snapshot at expected_revision.' That is unambiguous about what happens, and 'Leaves files unchanged' resolves the tension with the read-only annotation. It does not, however, distinguish this tool from close siblings such as inkbolt_session_apply or inkbolt_document_check.

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

Usage Guidelines3/5

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

It tells the agent how to proceed internally ('Use add_svg to insert editable SVG fragments', 'discover supported operations with schema.lookup'), which is genuinely useful routing. But it never states when to reach for this tool versus inkbolt_session_apply or inkbolt_document_check, so the sibling-selection guidance is only implied.

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