Skip to main content
Glama

Apuntar en un proyecto

update_project

Crea un proyecto del usuario o apunta en uno lo que ha cambiado: en qué punto va, el siguiente paso, tareas nuevas, tareas hechas y avances. Sin id crea uno (si ya hay uno con el mismo título, cambia ese). Manda solo lo que cambia. Úsala cada vez que cuente un avance, una decisión o algo pendiente de un proyecto suyo, sin esperar a que te lo pida. Escribe en sus palabras, sin inventar fechas ni tareas que no ha dicho.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_project"
  }
}

Input Schema

NameRequiredDescriptionDefault
idNoEl proyecto que cambia (de list_projects). Sin él, se crea uno.
whyNoPara qué es o cuándo estará terminado, en una frase.
nextNoEl siguiente paso concreto: lo primero que haría al retomarlo.
basisNomedido solo si hay una medición detrás (datos, logs, analítica). Lo que alguien cuenta es contado, aunque traiga un número.
factsNoLas decisiones, aprendizajes y trampas que han salido en la conversación, cada una por separado. Ponlas siempre que las haya, aunque no te lo pida: entran como deducidas y se verifican solas cuando se usan en un output entregado.
stateNoEn qué punto está ahora, en una o dos frases. Sustituye al anterior.
titleNoNombre corto del proyecto. Obligatorio al crearlo.
removeNoIds de tareas que ya no van.
reopenNoIds de tareas que vuelven a estar abiertas.
sourceNoDe dónde sale lo que apuntas, si es un transcript o una conversación con id o título estable. Una fuente ya apuntada no se vuelve a apuntar.
statusNo
companyNoLa empresa a la que pertenece, si es de su trabajo. Lo de una empresa se queda en su proyecto y se archiva con él cuando la deja.
completeNoIds de tareas hechas (t1, t2…).
progressNoUn avance, en una línea, para el historial: lo que ha hecho. Lo que ha decidido, aprendido o le ha fallado no va aquí: va en facts.
add_tasksNo
reprocessNoApuntar otra vez lo de una fuente ya vista. Solo si el usuario lo pide.
occurred_onNoCuándo pasó lo que apuntas (la reunión, la llamada), AAAA-MM-DD. Solo si se sabe; nunca pongas hoy por defecto.
company_canonNoSolo si su empresa tiene company brain o un canon de métricas: dónde está. Entonces las métricas se apuntan con canon_ref, sin copiarlas. Si no lo tiene, este proyecto es su único sitio.
state_confirmedNotrue solo si el usuario ha dicho o confirmado el estado él mismo. Si lo deduces tú, no lo pongas: queda como estado sin confirmar.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / facts
      Added value: +{
      +  "description": "Las decisiones, aprendizajes y trampas que han salido en la conversación, cada una por separado. Ponlas siempre que las haya, aunque no te lo pida: entran como deducidas y se verifican solas cuando se usan en un output entregado.",
      +  "items": {
      +    "properties": {
      +      "avoid": {
      +        "description": "En una trampa: cómo evitarla.",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "decisión",
      +          "aprendizaje",
      +          "trampa"
      +        ],
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "Qué, en una frase que se entienda sola.",
      +        "type": "string"
      +      },
      +      "why": {
      +        "description": "Por qué. Obligatorio en una decisión.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 8,
      +  "type": "array"
      +}
    • changedInput schema / properties / progress / description
      Previous value: -"Un avance, en una línea, para el historial. Las decisiones van en add_decisions."New value: +"Un avance, en una línea, para el historial: lo que ha hecho. Lo que ha decidido, aprendido o le ha fallado no va aquí: va en facts."
  2. Changed9 schema fields changed
    • addedInput schema / properties / add_tasks / items / properties / for
      Added value: +{
      +  "description": "Para qué es, si sirve a algo del proyecto: el id de una apuesta (b1), un output (o1) o una gotcha (g1).",
      +  "type": "string"
      +}
    • addedInput schema / properties / basis
      Added value: +{
      +  "description": "medido solo si hay una medición detrás (datos, logs, analítica). Lo que alguien cuenta es contado, aunque traiga un número.",
      +  "enum": [
      +    "medido",
      +    "contado"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / company
      Added value: +{
      +  "description": "La empresa a la que pertenece, si es de su trabajo. Lo de una empresa se queda en su proyecto y se archiva con él cuando la deja.",
      +  "type": "string"
      +}
    • addedInput schema / properties / company_canon
      Added value: +{
      +  "description": "Solo si su empresa tiene company brain o un canon de métricas: dónde está. Entonces las métricas se apuntan con canon_ref, sin copiarlas. Si no lo tiene, este proyecto es su único sitio.",
      +  "type": "string"
      +}
    • addedInput schema / properties / occurred_on
      Added value: +{
      +  "description": "Cuándo pasó lo que apuntas (la reunión, la llamada), AAAA-MM-DD. Solo si se sabe; nunca pongas hoy por defecto.",
      +  "type": "string"
      +}
    • changedInput schema / properties / progress / description
      Previous value: -"Un avance o una decisión, en una línea, para el historial."New value: +"Un avance, en una línea, para el historial. Las decisiones van en add_decisions."
    • addedInput schema / properties / reprocess
      Added value: +{
      +  "description": "Apuntar otra vez lo de una fuente ya vista. Solo si el usuario lo pide.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / source
      Added value: +{
      +  "description": "De dónde sale lo que apuntas, si es un transcript o una conversación con id o título estable. Una fuente ya apuntada no se vuelve a apuntar.",
      +  "type": "string"
      +}
    • addedInput schema / properties / state_confirmed
      Added value: +{
      +  "description": "true solo si el usuario ha dicho o confirmado el estado él mismo. Si lo deduces tú, no lo pongas: queda como estado sin confirmar.",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (destructiveHint=false, idempotentHint=false) the description discloses genuinely non-obvious behavior: a title collision silently overwrites an existing project, only deltas should be sent, 'state' replaces the prior value, an already-recorded source is not re-recorded, 'occurred_on' must never default to today, and facts enter as deduced and self-verify on use. These are exactly the traits an agent could get wrong.

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 sentences, purpose first, no filler or marketing language. The opening sentence is a long enumeration ('en qué punto va, el siguiente paso, tareas nuevas, tareas hechas y avances') that partly duplicates the field list, but it is front-loaded and the rest of the description is dense with non-redundant rules.

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 19-parameter mutation tool with no output schema, the description covers the risky parts: create-vs-update, partial writes, state replacement, source dedup, and the confirmation flag's default. It stops short of saying what a call returns or how status transitions behave, which an agent handling results might want.

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 89%, so the schema already carries most param meaning and a baseline 3 is warranted. The description earns above that by explaining cross-parameter semantics the schema does not: the id/title create-vs-overwrite interaction and the 'send only what changed' delta contract. It does not add anything for the 19 individual fields, which is acceptable given the 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?

States a specific verb pair (create a project / record what changed in one) plus the exact resource, and immediately disambiguates the create path: 'Sin id crea uno (si ya hay uno con el mismo título, cambia ese)'. That upsert-by-title rule is impossible to guess from the name and makes the tool's identity unambiguous.

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 an explicit, proactive trigger rather than a passive one: 'Úsala cada vez que cuente un avance, una decisión o algo pendiente de un proyecto suyo, sin esperar a que te lo pida.' It also routes content internally ('lo que ha decidido... no va aquí: va en facts'). It does not name sibling alternatives such as update_fact or list_projects, so routing to other tools is left to the schema reference.

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.