Skip to main content
Glama

Record a decision, lesson, or observation in the Ledger

ledger_entries_create

Records a memory entry. Every entry is a TITLE (summary: one short plain sentence) over a BODY (rationale: the detail, markdown welcome) — never put the detail in the title. Three kinds: decision — a change being made now; PRE-REGISTRATION IS THE POINT, so prediction (what we expect) must be written NOW, before any evidence exists, and never backfilled to match an outcome. lesson — a distilled belief the team already holds (lesson text required, no prediction). observation — a durable fact worth remembering (no prediction): something already true, never something planned. Ideas, pitches, backlog items, and upcoming work are NOT entries — a dated piece of work that carries out a decision is a plan item (ledger_plan_add on that decision), and a running list you keep across runs belongs in a Napkin doc or sheet. When a user states something durable about their business in conversation, offer to capture it as a lesson or observation. When a user shares MEETING NOTES, propose the decisions you find with ledger_entries_draft so they keep or drop each one in Ledger; use this tool for an entry they've asked you to record. Link the Compass pages the entry touches so future consult-before-acting finds it. May return needs_confirmation — summarize the entry and wait for approval.

Input Schema

NameRequiredDescriptionDefault
kindNodecision = a change with a pre-registered expectation; lesson = a belief arriving already settled; observation = a fact that is already true (not a plan, idea, or pitch).decision
lessonNoWhat we learned — required for kind=lesson, optional for kind=observation, forbidden on decisions (their lesson is written at settlement).
summaryYesThe entry's TITLE: one short plain sentence naming what we did (decision) or the fact itself (lesson, observation). Plain text, no markdown, at most 280 characters — e.g. "Newsletter moves to a biweekly cadence". Everything longer goes in rationale.
rationaleNoThe entry's BODY: the detail under the title — why, context, lists, steps. Markdown is fine here and renders as formatted text.
workspaceNoWorkspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys.
approvalIdNoApproval id from a prior needs_confirmation envelope.
predictionNoDecisions ONLY. What we expect: a list of `claims` plus one shared `deadline`, or `freeform` for room decisions nothing can settle. A claim either REACHES a value (comparator + target, e.g. CTA clicks >= 400) or HOLDS one (`hold`, e.g. newsletter reads no more than 5% below the 28 days before this). Name every number the change is expected to move AND every number it shouldn't cost — a decision that claims only what it hopes will rise gets to pick its own evidence. Set `watch: true` on a number worth following that the decision isn't committing to. When the change aims at part of an event metric ("new users in Germany"), narrow the claim with `slice` ({ country: ["DE"] }) using label values from ledger_metrics_get — a claim on an event metric settles on the total counted since landing (reach) or events per day (hold).
compassPageIdsNoWhere — Compass page ids this decision touches.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the sparse annotations by disclosing the pre-registration rule (prediction written now, never backfilled), the needs_confirmation response and summarize-and-wait behavior, the workspace-slug requirement for personal tokens, and the approvalId retry path. These are operational behaviors an agent must know and are not in the annotations.

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?

Front-loads the title/body model and the three kinds before routing guidance, so the essentials come first. However it is a dense wall of prose with heavy ALL-CAPS emphasis and several long clauses that could be tighter; it earns most but not all of its length.

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 an 8-parameter write tool with nested prediction objects and no output schema, the description covers the entry model, kind-specific requirements, alternative tools, the confirmation/approval return path, and page-linking. Nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/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 fields, but the description adds real framing: TITLE vs BODY mapping for summary/rationale, the rule that prediction is decisions-only and must precede evidence, and compassPageIds as the linking target for future consult-before-acting. Meaningful but partly duplicative of the verbose schema.

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?

Names a specific verb and resource ('Records a memory entry') and clearly delineates the three kinds (decision/lesson/observation) with what each means. It actively differentiates from siblings, stating ideas/pitches/plans are NOT entries and pointing to ledger_plan_add and Napkin docs instead.

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?

Explicit routing: use ledger_entries_draft to propose meeting-note decisions for keep/drop, use this tool for an entry the user has asked to record, use ledger_plan_add for dated work, and Napkin for running lists. Covers both when-to-use and when-not-to-use with named alternatives.

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