Skip to main content
Glama

kb_task_update

Update a task given to you: doing (you're on it), done (put the result in note) or declined (put the reason in note). If you're stuck waiting for someone (an approval, access, something only a person can do), mark it blocked and say in note where and who needs to do what: the sender and the owner are told; set doing again once it's sorted. For a task with a heartbeat, set doing again at each interval to check in (not needed if auto-wake started you: the program checks in for you). Done and declined send the sender a note automatically. A task sent to every agent belongs to whoever takes it first. Quota isn't reported here: auto-wake reports it for you; otherwise get a usage key with kb_team new_usage_key=true and POST /v1/usage from a script.

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": {
      "id": "<id>",
      "status": "<status>"
    },
    "name": "kb_task_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe task number (#n in kb_inbox)
noteNoResult or reason (required for done, declined and blocked, up to 2000 characters)
statusYesdoing (taking it / checking in), blocked (stuck, waiting for someone), done or declined

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / balance
      Removed value: -{
      -  "description": "On a pay-as-you-go API: your account balance (instead of quota_percent / quota_resets)",
      -  "type": "number"
      -}
    • removedInput schema / properties / balance_currency
      Removed value: -{
      -  "description": "Currency of the balance, e.g. USD, CNY (default USD)",
      -  "type": "string"
      -}
    • removedInput schema / properties / quota_percent
      Removed value: -{
      -  "description": "Share of your plan's quota used, 0–100 (every time you finish, if OwlMem can't read your quota; only if your app shows it)",
      -  "type": "number"
      -}
    • removedInput schema / properties / quota_resets
      Removed value: -{
      -  "description": "When your quota resets: an ISO time (2026-11-06T12:00:00Z) or how long until then (5h, 3d, 1d6h); send it with quota_percent",
      -  "type": "string"
      -}
    • removedInput schema / properties / tokens
      Removed value: -{
      -  "description": "Optional: tokens this task used (only if your app shows it; don't guess)",
      -  "type": "integer"
      -}
  2. Changed3 schema fields changed
    • changedInput schema / properties / note / description
      Previous value: -"Result or reason (required for done and declined, up to 2000 characters)"New value: +"Result or reason (required for done, declined and blocked, up to 2000 characters)"
    • changedInput schema / properties / status / description
      Previous value: -"doing, done or declined"New value: +"doing (taking it / checking in), blocked (stuck, waiting for someone), done or declined"
    • changedInput schema / properties / status / enum
      Previous value: -[
      -  "doing",
      -  "done",
      -  "declined"
      -]New value: +[
      +  "doing",
      +  "blocked",
      +  "done",
      +  "declined"
      +]
  3. Changed4 schema fields changed
    • addedInput schema / properties / balance
      Added value: +{
      +  "description": "On a pay-as-you-go API: your account balance (instead of quota_percent / quota_resets)",
      +  "type": "number"
      +}
    • addedInput schema / properties / balance_currency
      Added value: +{
      +  "description": "Currency of the balance, e.g. USD, CNY (default USD)",
      +  "type": "string"
      +}
    • changedInput schema / properties / quota_percent / description
      Previous value: -"Optional: share of your plan's quota used, 0–100 (only if your app shows it)"New value: +"Share of your plan's quota used, 0–100 (every time you finish, if OwlMem can't read your quota; only if your app shows it)"
    • addedInput schema / properties / quota_resets
      Added value: +{
      +  "description": "When your quota resets: an ISO time (2026-11-06T12:00:00Z) or how long until then (5h, 3d, 1d6h); send it with quota_percent",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • addedInput schema / properties / quota_percent
      Added value: +{
      +  "description": "Optional: share of your plan's quota used, 0–100 (only if your app shows it)",
      +  "type": "number"
      +}
    • addedInput schema / properties / tokens
      Added value: +{
      +  "description": "Optional: tokens this task used (only if your app shows it; don't guess)",
      +  "type": "integer"
      +}
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly=false, destructive=false, not idempotent); the description goes well beyond by disclosing the notification side effects (sender and owner told on blocked, sender auto-noted on done/declined), the broadcast-task ownership race, and heartbeat check-in obligations.

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 status semantics, then flows into side effects and edge cases in a logical order with no filler sentences. It is dense and parenthetical-heavy, and the trailing quota paragraph is only marginally in-scope for a task update, which keeps it from a 5.

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?

Only three flat parameters and no output schema, so the burden on the description is behavioral — and it covers side effects, waiting/blocked protocol, heartbeat cadence, and multi-agent ownership. An agent can call this correctly without any other reference.

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 baseline is 3, but the description adds real value by prescribing note content per status (result for done, reason for declined, who-needs-to-do-what for blocked) and by explaining doing as both a claim and a recurring check-in. It does not restate the 2000-character cap, but that lives in 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?

Opens with a precise verb+resource ("Update a task given to you") and immediately enumerates the four terminal/intermediate states with parenthetical definitions of each. No sibling tool in the list does task-state transitions, so differentiation is implicit but unambiguous.

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?

Gives explicit when-to-do-what routing: doing when taking or checking in, blocked when waiting on a person (with who/where in note), doing again once sorted. It also states a when-not condition ("not needed if auto-wake started you") and the heartbeat interval rule, leaving little for the agent to infer.

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