Skip to main content
Glama

Submit a task

brain_tasks_submit

Add a self-contained task to a shared markdown-backed queue so another agent or later session can pick it up; dependencies stay blocked until prerequisites complete.

Instructions

Add a task to the shared, markdown-backed task queue so another agent (or a later session) can pick it up. A task with dependencies starts as "blocked" and moves to "pending" automatically when all of them complete; otherwise it starts as "pending". This only records the task: it is a coordination list, not a runner, so something else must watch for pending tasks (brain_tasks_list) and report back (brain_tasks_update). Returns { taskId, nodeId, status } where status is "pending" or "blocked". Write the prompt so it is self-contained: goal, relevant files, constraints and what "done" means.

Input Schema

NameRequiredDescriptionDefault
titleNoShort title. If omitted, one is made from the first 60 characters of the prompt, prefixed "Task - ".
agentsNoNames of the agents this task is for, e.g. ["reviewer"]. Defaults to ["coordinator"].
promptYesComplete, self-contained description of the work to be done.
priorityNoUrgency, 1 (lowest) to 10 (highest).
dependenciesNoNode ids (nodeId values returned by earlier brain_tasks_submit calls) that must complete first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.1

TDQS

A4.7/5.0
Behavior4/5

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

Annotations declare the mutation profile (readOnly=false, destructive=false, idempotent=false, openWorld=false), so the description is not required to restate safety, but it does add real behavior: dependency-driven initial status, automatic transition from blocked to pending, and a concrete return shape { taskId, nodeId, status } in the absence of an output schema. It stops short of stating whether duplicate submissions create duplicates, which is the one behavior an agent still has to guess given idempotentHint=false.

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 sentences, each doing distinct work: purpose, status lifecycle, the not-a-runner constraint with named alternatives, and the return value plus prompt-authoring advice. The scoping constraint is front-loaded and nothing is redundant.

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 create tool with no output schema, the description covers the mutation's effect, the status lifecycle, the return shape, and the division of labor with sibling tools. An agent has everything needed to submit a well-formed task and to know what to do next.

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 schema already documents all five parameters and a baseline of 3 applies. The description adds meaning beyond it by telling the agent how to compose the required prompt (goal, relevant files, constraints, definition of done) and by framing dependencies as nodeId values from earlier submits, which reinforces the schema rather than merely repeating it.

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?

The description opens with a specific verb and resource ("Add a task to the shared, markdown-backed task queue") and immediately names the purpose (another agent or later session can pick it up). It explicitly distinguishes itself from the sibling tools brain_tasks_list and brain_tasks_update, so an agent can separate recording from watching and reporting.

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?

It states the key boundary explicitly: "This only records the task: it is a coordination list, not a runner," and names what must handle the rest (brain_tasks_list to watch, brain_tasks_update to report back). It also gives authoring guidance for the required prompt field, so the when and how are both covered.

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