Skip to main content
Glama

inkbolt_session_apply

DestructiveIdempotent

Commit one atomic edit, undo/redo, snapshot, or resource-binding change to an Inkbolt session with revision checks and safe retries.

Instructions

Commit one atomic edit, undo/redo, named snapshot action or resource-binding change. Requires expected_revision and a unique request_id; same-payload retries return the original receipt without reapplying.

Input Schema

NameRequiredDescriptionDefault
actionYes
controlNo
request_idYes
session_idYes
session_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.
response_modeNoCompact returns pinned document/receipt references and summaries, omitting snapshot pixels, receipt changes and the snapshot list. Full preserves the original response. Presentation does not change durable retry identity.full
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 flag destructive=true, idempotent=true, readOnly=false, so the safety profile is partly covered. The description adds meaningful context beyond the boolean: the retry-identity mechanism ('same-payload retries return the original receipt without reapplying') and the optimistic-concurrency requirement. It stops short of explaining what state undo/restore/remove_snapshot actually destroy.

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?

Two tightly written sentences with the purpose front-loaded and the requirements/retry behavior trailing. No filler, though the action enumeration could be slightly condensed.

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?

An output schema exists, so return values need not be described, and annotations carry the safety profile. Combined with the stated mutation semantics and retry guarantees, the definition is largely sufficient for a complex commit tool; the main gap is routing versus sibling session tools.

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 low (38%) across 8 parameters, so the description should compensate. It names expected_revision and request_id but does not explain their semantics (e.g., that the revision guards against stale writes or what 'unique' means for retries), leaving most parameters to the schema.

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?

States a specific verb ('Commit') and enumerates the exact action variants (atomic edit, undo/redo, snapshot action, resource-binding change), which maps cleanly onto the schema's oneOf Action. It does not, however, differentiate itself from close siblings like inkbolt_session_apply_proposal or inkbolt_session_dry_run, so an agent must infer the distinction.

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?

The description gives preconditions ('Requires expected_revision and a unique request_id') but no guidance on when to use this versus the adjacent proposal/dry-run/diff tools, and no explicit exclusions. Usage is only implied by the word 'Commit'.

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