Skip to main content
Glama

Save commitment

commitment_set
Destructive

Creates or updates a tracked commitment: what is owed, by whom, to whom and by when, with a status (open, blocked, deferred, done...). Pass id to update an existing one. On create, the result lists possible duplicates if similar commitments exist.

Input Schema

NameRequiredDescriptionDefault
idNoCommitment id, to update an existing commitment.
dueNoDue date (ISO).
textNoWhat is owed. Required when creating.
brainNoBrain id or name. Defaults to the active brain.
ownerNo
sourceNo
statusNoopen, blocked, reassigned, deferred, disputed, done, dissolved or merged.
entityIdNo
stateNoteNo
updatedByNo
observedAtNo
counterpartyNo
ifUnmodifiedSinceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds non-obvious behavior beyond that: upsert semantics, the duplicate-detection side effect on create, and the accepted status vocabulary, which is genuinely useful for anticipating outcomes.

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?

Three tight sentences, no filler, with the primary create/update behavior front-loaded before the parameter hint and the duplicate caveat. Every sentence earns its place.

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

Completeness3/5

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

For a 13-parameter mutation tool with no output schema and low schema coverage, the description covers the core lifecycle but omits the meaning of several parameters and any return/conflict semantics beyond duplicates. Adequate but with visible gaps.

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 only 38% across 13 parameters, so the description must compensate but only partially does. It clarifies `id`, `text`, `status`, and implies owner/counterparty/due, but leaves `entityId`, `source`, `stateNote`, `updatedBy`, `observedAt`, `brain`, and especially `ifUnmodifiedSince` (optimistic concurrency) unexplained.

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+resource ('creates or updates a tracked commitment') and crisply defines the domain object as what is owed, by whom, to whom, and by when. The create-vs-update distinction via `id` is explicit, so an agent can tell this apart from read-only siblings like open_commitments without opening the schema.

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?

Gives clear operational context: pass `id` to update, omit it to create, and expect duplicate suggestions on create. It does not name alternative tools (e.g., open_commitments for reading existing commitments), so exclusions are left implicit.

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