Skip to main content
Glama

Confirmar o sustituir una decisión, aprendizaje o trampa

update_fact
Idempotent

Lo que apuntas tú queda como deducido hasta que se verifica por uso o el usuario lo confirma. Con confirmed: true, márcalo como suyo cuando lo haya dicho o confirmado él (también al contestar el repaso de list_projects). Con superseded_by, di que una decisión o un aprendizaje ya no vale porque lo sustituye otro. Con refuted: true, di que el usuario lo ha corregido o ha dicho que no es así (con why). Nada se borra: queda marcado.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project": "<project>",
      "id": "<id>"
    },
    "name": "update_fact"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesLa decisión, el aprendizaje o la gotcha (d2, l1, g3).
whyNoCon refuted: qué dijo.
projectYesEl proyecto (p1, p2…).
refutedNotrue si el usuario lo ha corregido o negado.
confirmedNotrue solo con el sí explícito del usuario.
superseded_byNoEl id que lo sustituye, del mismo tipo (d2 → d5).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / refuted
      Added value: +{
      +  "description": "true si el usuario lo ha corregido o negado.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / why
      Added value: +{
      +  "description": "Con refuted: qué dijo.",
      +  "type": "string"
      +}
  2. Added

TDQS

A3.8/5.0
Behavior3/5

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

Beyond the annotations, it discloses two useful traits: unconfirmed items default to 'deducido' until verified by use or confirmed by the user, and 'Nada se borra: queda marcado' — which corroborates destructiveHint=false with concrete meaning. It says nothing about what the call returns or how the marks interact when several flags are combined, so the added behavioral context is real but narrow given that annotations already cover safety and idempotency.

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?

Four tight sentences, one per concept, front-loaded with the default-state model before the three flag scenarios. No filler, though the opening sentence about 'queda como deducido' is somewhat cryptic without knowing the domain vocabulary first.

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?

For a six-parameter, non-destructive mutation with full schema coverage, rich annotations, and no output schema, the definition supplies the mental model an agent needs to pick the right flag. Gaps are minor: no statement of failure behavior for unknown ids and no note on combining flags.

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 baseline would be 3, but the description earns more by explaining the intended distinction between the flags (confirmed = user's own statement, refuted = user correction, superseded_by = replaced) and by tying confirmed to the list_projects review flow. It still does not clarify what happens if confirmed and refuted are sent together, or whether project must match the id's owning project.

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 makes clear this tool marks an existing decision/learning/gotcha (identified by id) as confirmed, superseded, or refuted, and the flag semantics effectively define the verb. It does not name add_learning/add_gotcha/answer_correction as the alternative for creating or correcting, so sibling differentiation is only implicit through the id-based framing.

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?

It gives a concrete condition for each mode: confirmed:true when the user stated or confirmed it (including when answering the repaso de list_projects), superseded_by when another item replaces it, refuted:true plus why when the user corrected or denied it. What is missing is any explicit exclusion or prerequisite — e.g. what to do when the id doesn't exist, or when a fact is merely stale but not replaced.

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.