Skip to main content
Glama

task.create

Create a new task in the current session and set it as the active in-progress task; an untitled session takes the task title. Check existing tasks first to avoid duplicates.

Instructions

Create a task in the current session with status in_progress and make it the current task; an untitled session takes its title. Every call creates a new task with a new ID, so check task.get first to avoid a duplicate. Returns the task JSON and may write an auto-checkpoint. To rename or change the status of an existing task use task.update.

Input Schema

NameRequiredDescriptionDefault
titleYesShort imperative title, e.g. "Fix refresh token rotation"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.9
    • changedInput schema / properties / title / description
      Previous value: -"Task title"New value: +"Short imperative title, e.g. \"Fix refresh token rotation\""
  2. First observedv0.1.8

TDQS

A4.7/5.0
Behavior5/5

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

Annotations are empty, so the description carries the full burden and does so well: it discloses the state mutation (status set to in_progress, task made current), the non-idempotency ('Every call creates a new task with a new ID'), a secondary side effect ('may write an auto-checkpoint'), and the return value (task JSON). An agent knows this is a state-changing, non-idempotent write with an incidental checkpoint before calling it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the primary action and state effect, then the precaution, then the return/side-effect note, then the sibling routing. Every sentence conveys distinct, actionable information with no restatement of the name or title.

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 a one-parameter mutation tool with no output schema, the description covers what an agent needs: the resulting state, non-idempotency and duplicate risk, the checkpoint side effect, and what is returned. Nothing material is left to inference given the tool's complexity.

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% and the single 'title' parameter is already documented with a concrete example, so the schema does the heavy lifting here. The description adds only indirect context (the title may become the session title when untitled) and no format or constraint details, which matches the baseline of 3 when coverage is high.

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 ('Create a task in the current session') and pins down the resulting state: status becomes in_progress and the task becomes the current task. It explicitly distinguishes itself from task.get (duplicate check) and task.update (rename/status changes), so an agent can route correctly 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition ('check task.get first to avoid a duplicate') and an explicit alternative for a different intent ('To rename or change the status of an existing task use task.update'). Both the when-to-use and the when-not-to-use cases are named, along with the sibling that handles the latter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.