Skip to main content
Glama

dispatch_agent

Manually run a role of an existing task with real provider execution and wait for progress, then perform any required follow-up action.

Instructions

Dispatch the configured provider with real execution and wait for progress; no simulated Agent option. Use it to run a role of an existing task manually (for example a role named by get_task_status); to start a new change use start_project_request, and to move on after a finished result use advance_project. If the result has a non-null action_required, do NOT end your turn: perform it immediately (usually wait_for_task again). If it has a non-null meeting_mode_notice, your reply to the user MUST begin with meeting_mode_notice.text verbatim as its first line.

Input Schema

NameRequiredDescriptionDefault
roleYesRole to run, for example SA, SD, RD, SD/RD or REVIEW; the project's configured provider for that role is used.
task_idYesTask id, as shown in get_task_status or list results.
project_idYesRegistered project id, as returned by list_projects.
instructionYesWhat this role should do, in plain language.
wait_secondsNoHow long to wait for the workflow to settle after this call, in seconds (default 50). It returns earlier when the work settles.
context_versionYesCurrent context_version from get_context. A stale value is rejected as a version conflict.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.1.3
    • addedInput schema / properties / context_version / description
      Added value: +"Current context_version from get_context. A stale value is rejected as a version conflict."
    • addedInput schema / properties / instruction / description
      Added value: +"What this role should do, in plain language."
    • addedInput schema / properties / project_id / description
      Added value: +"Registered project id, as returned by list_projects."
    • addedInput schema / properties / role / description
      Added value: +"Role to run, for example SA, SD, RD, SD/RD or REVIEW; the project's configured provider for that role is used."
    • addedInput schema / properties / task_id / description
      Added value: +"Task id, as shown in get_task_status or list results."
    • addedInput schema / properties / wait_seconds / description
      Added value: +"How long to wait for the workflow to settle after this call, in seconds (default 50). It returns earlier when the work settles."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false and openWorld=false; the description adds that execution is real (no simulated option), that the call blocks and waits for progress, and that a non-null action_required obligates the agent to continue rather than end its turn. The verbatim-first-line rule for meeting_mode_notice is behavior an agent could not derive from structured fields.

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 action and scope, then routes to alternatives, then gives the follow-up obligations in priority order. It is longer than most descriptions and slightly repetitive ('for example wait_for_task again'), but each clause carries operational weight rather than filler.

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?

With an output schema present, the description need not explain return values, and it covers the main loop: dispatch, wait, handle action_required, surface meeting_mode_notice. It omits what failure or version-conflict conditions require of the caller and does not point to resume_pending_dispatch or cancel_task, but nothing essential for a correct first call 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 role, task_id, project_id, instruction, wait_seconds and context_version are already documented, including the wait semantics and version-conflict rejection. The description only reinforces that the role should come from get_task_status, adding marginal meaning beyond the schema, so baseline 3 applies.

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 ('Dispatch the configured provider with real execution and wait for progress') and explicitly distinguishes the tool from start_project_request and advance_project by naming them. An agent can tell what this does and what it does not do 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 explicit when-to-use ('run a role of an existing task manually, for example a role named by get_task_status') plus two named alternatives with the conditions that select them ('to start a new change use start_project_request', 'to move on after a finished result use advance_project'). It also prescribes post-call behavior for action_required and meeting_mode_notice, leaving nothing to inference.

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