Skip to main content
Glama

seal_commit

Seal a completed effect by writing its tamper-evident certificate and closing the intent, enabling safe retries without duplicate charges. Call only with a valid fence after the admitted action has succeeded.

Instructions

Seal a successful effect: writes the tamper-evident certificate and closes the intent. Call it once, right after YOUR code ran the effect admitted by seal_admit (fresh=true). Only the fence holder may commit, and only once — a second commit, a wrong fence, or an expired lease is refused (isError). Returns the cert: hash, prev hash, state=sealed. If the effect failed before anything irreversible happened, call seal_abort instead; if you do not know whether it fired, call neither and leave the claim for a witness.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fenceYesThe fence token returned with fresh=true from seal_admit. Proves you are the one caller admitted for this intent; refused if it is not yours or the claim was reclaimed.
intentYesThe intent id returned by seal_admit / seal_propose (also `intent` on any cert). Identifies one logical action.
resultYesThe effect's result as returned by the provider (e.g. the charge object). Digested into the cert; keep it small.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changed
    • addedInput schema / properties / fence / description
      Added value: +"The fence token returned with fresh=true from seal_admit. Proves you are the one caller admitted for this intent; refused if it is not yours or the claim was reclaimed."
    • addedInput schema / properties / intent / description
      Added value: +"The intent id returned by seal_admit / seal_propose (also `intent` on any cert). Identifies one logical action."
    • changedInput schema / properties / result / description
      Previous value: -"The effect's result, digested into the cert."New value: +"The effect's result as returned by the provider (e.g. the charge object). Digested into the cert; keep it small."
  2. First observedv0.4.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate non-readOnly, non-idempotent, but the description goes beyond this: it explains the single-call constraint, the fence-holder-only restriction, refusal conditions (second commit, wrong fence, expired lease returns isError), and what the cert contains. It does not contradict annotations. A small gap is that it doesn't explicitly say whether the operation is atomic or how failures beyond refusal surface, but the behavioral context is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, all earning their place: state the action, state the exact timing, state the failure modes and alternatives, and list the return contents. Front-loaded with the definitive action and then precise conditions. No filler.

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 three-parameter protocol tool with full schema coverage and no output schema, the description answers the key practical questions: when to call it, when not to, constraints, refusal conditions, and return contents. Given the safety-critical nature, this is complete enough for an agent to select and invoke 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 the schema already documents all three parameters. The description adds context for 'fence' (proves the caller), 'intent' (identifies one logical action), and 'result' (digested into cert, keep it small). That adds meaning beyond the schema, especially for 'result', but since the schema already carries full descriptions, 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?

The description is explicit about the verb ('Seal'), the resource ('a successful effect'), and its core actions: writes the tamper-evident certificate and closes the intent. It clearly stands apart from sibling tools like seal_abort and seal_admit by stating its exact role in the workflow.

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?

Provides explicit when-to-use instructions: 'Call it once, right after YOUR code ran the effect admitted by seal_admit (fresh=true).' It names the alternative (seal_abort), gives the condition for using it, and explicitly warns against calling either when unsure, routing that case to a witness. No ambiguity about the tool's position in the protocol.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aurumflux20/seal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server