Skip to main content
Glama

Run Project OS task on selected computer

dispatch_project_work
Idempotent

Reserve one exact revision-checked Project OS task for one armed project Agent, then queue it on one exact online Engine and authenticated provider selected by the person. Queued is not working; the task becomes active only after that Engine atomically claims it. Never falls back to another computer, provider, hosted compute, or a parallel task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoOptional owner direction that narrows this run without changing the saved task or Agent Limits.
confirmYesConfirms the person explicitly chose this task, Agent, computer, and provider.
agent_idYesAlready-tested, armed Agent assigned to this project.
protocolYesExact governed Agent protocol advertised by the selected Engine.
providerYesExact authenticated provider CLI available on the selected Engine.
engine_idYesExact online Engine selected from list_connected_engines.
project_idYesProject that owns both the task and Agent.
assignment_idYesExact open Project OS task to run.
idempotency_keyYesCaller-generated stable key. Reuse returns the same dispatch and cannot duplicate work.
expected_revisionYesTask revision shown to the person. A stale revision is refused.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations (readOnly=false, openWorldHint=true, idempotent=true, destructive=false) already cover the safety and side-effect profile. The description adds crucial behavioral context beyond annotations: it clarifies that queued does not mean working—the task becomes active only after the engine atomically claims it—and guarantees no fallback to alternate compute. This explains the dispatch lifecycle and strictness, providing significant added value.

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?

The description is three sentences with no waste. The first sentence states the core purpose, the second explains the queued vs. active nuance, and the third enforces the no-fallback constraint. Every sentence earns its place and the most critical information is front-loaded.

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?

For a tool with 9 required parameters and no output schema, the description provides sufficient call-guidance: it explains the dispatch process, exact selection requirements, and activation semantics. It does not cover error handling (e.g., engine offline) or explicitly mention idempotency behavior (though the schema covers idempotency_key). Minor gaps, but overall complete for the core functionality.

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 every parameter is already well-described. The tool description ties concepts together (e.g., 'revision-checked' maps to expected_revision, 'armed Agent' to agent_id, 'online Engine' to engine_id) but does not add new semantic detail beyond that already in the schema. Baseline 3 is appropriate since the schema does the heavy lifting.

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 uses specific verbs (reserve, queue) and identifies exact resources (Project OS task, armed Agent, online Engine, authenticated provider). It explicitly distinguishes itself from siblings by stating 'Never falls back to another computer, provider, hosted compute, or a parallel task,' and clarifies that selection is by the person. This is a precise, unambiguous purpose.

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?

The description gives clear context: this tool is for exact, person-selected dispatch with no fallback, and explains the queued vs. active lifecycle. It implies when to use it (when exact selection is required) but does not explicitly name alternative tools or state 'use this instead of X.' The 'selected by the person' and 'Never falls back' constraints provide strong usage guidance without explicit exclusions.

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.

TDQS

B3.2/5.0
Disambiguation3/5

With 74 tools, many serve similar project/version/agent workflows (e.g., get_project vs get_project_context vs get_project_activity). Detailed descriptions help but the sheer volume creates selection risk for agents, especially between approve_version/approve_artifact_version and reject counterparts.

Naming Consistency4/5

Names predominantly follow a verb_object pattern (list_projects, create_public_preview, update_project_mission). Exceptions like 'act_on_project_os_task' and 'build_from_conversation' are minor, but the strong convention overall makes it predictable.

Tool Count1/5

74 tools is extreme—more than double the typical upper bound and far beyond what an agent can feasibly consider per task. The domain is broad, but the count borders on overwhelming and suggests lack of consolidation.

Completeness3/5

The surface covers project lifecycle, versioning, builds, agents, artifacts, feedback, and work assignments comprehensively. Yet there is no explicit create/delete project tool (only via build_from_conversation or start_project_on_engine), and no direct update to project metadata beyond mission/plan, leaving minor gaps.