Skip to main content
Glama

bulk_update_status

DestructiveIdempotent

Flip status on multiple tasks in one call. Use this instead of N update_task calls when marking siblings DONE / blocking a batch / reopening a set. Returns { updated, skipped, errors } so partial success is observable. Up to 50 task ids per call. Tasks the caller can't change are skipped, not errored. Each task is written with the rules and effects of update_task (workflows, webhooks, parent rollup); a task refused there is in errors and the rest land.

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": {
      "taskIds": "<taskIds>",
      "status": "<status>"
    },
    "name": "bulk_update_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
dryRunNoPreview only: return which tasks would flip (current -> proposed status) and which would be skipped, without committing. Writes nothing, fires no side effects.
statusYesTarget status to set on every listed task.
taskIdsYes1–50 task ids to update.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations: it discloses the return envelope { updated, skipped, errors }, the 50-id cap, the skip-not-error policy for unauthorized tasks, and the fact that each task inherits update_task's rules and side effects (workflows, webhooks, parent rollup). That side-effect disclosure is exactly the context destructiveHint=true alone cannot convey.

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-loaded with the operation, then the alternative, then the contract, then caveats — a sensible ordering with no filler sentences. It is dense and unbroken, so a reader scanning for the batch limit or skip semantics must read the whole block.

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?

With no output schema, the description supplies the return shape and the partial-success semantics itself, plus the per-task side-effect inheritance and permission-skip rule. For a destructive batch mutation, nothing an agent needs to call it safely is missing.

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 100%, so the schema already documents taskIds, status enum, and dryRun's no-write behavior. The description adds only the 50-id ceiling, which the schema also encodes via maxItems, and never mentions dryRun. Baseline 3 is appropriate.

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 and resource ('Flip status on multiple tasks in one call'), including the batch scope that separates it from the singular update_task. An agent can identify the operation and its multi-task nature 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?

Explicitly routes the agent away from N update_task calls and names three concrete triggers (marking siblings DONE, blocking a batch, reopening a set). It does not, however, distinguish itself from the sibling tool bulk_update_tasks, which is a plausible source of mis-selection given the near-identical name.

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.