Skip to main content
Glama

Control Browser Task

alterlab_task_control
Destructive

Intervene in a running task on the user's behalf: pause, resume, stop, or steer with a plain-text instruction the next step must honour (for example 'skip site 3'). Requires the hands:control scope (request it at OAuth consent or agent signup, or create an API key with it) and works only on tasks this key or OAuth grant started; an agent cannot lift a pause the user set, and takeover and the kill switch are available only from the user's own dashboard session.

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": {
      "task_id": "<task_id>",
      "action": "<action>"
    },
    "name": "alterlab_task_control"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYesControl to apply
task_idYesTask id from alterlab_task_start
instructionNoRequired for steer: the user's instruction

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and non-idempotent, and the description adds real context beyond them: authorization scope requirements, ownership/tenancy limits on which tasks can be controlled, and the asymmetry that an agent cannot override a user-initiated pause. The steer semantics ('the next step must honour') also disclose how the instruction is consumed, which nothing in the schema conveys.

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?

Two sentences, front-loaded with the action set, then a dense but purposeful clause on scope, ownership, and unavailable operations. The parenthetical about obtaining the scope is slightly heavy but each element carries information the agent needs; nothing reads as 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?

For a three-parameter mutation tool with no output schema, the definition covers authorization, ownership constraints, and the effect of each action, which is what an agent needs before calling. Minor gaps remain: it does not say what state the task is left in after 'stop' (e.g. whether resume is still possible) or what the call returns when intervention is rejected.

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% and the schema already marks instruction as 'Required for steer', so the baseline is 3. The description adds meaning beyond that by characterizing the instruction as plain text that constrains the next step, giving the agent a sense of its effect rather than just its type.

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 ('Intervene in a running task') and enumerates the exact action set (pause, resume, stop, steer), which cleanly separates it from observation-oriented siblings like alterlab_task_status or alterlab_task_observe without needing to name them.

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?

Gives concrete applicability conditions: needs the hands:control scope (obtained at consent, signup, or via API key) and works only on tasks started by the same key or grant. It also names what is explicitly out of reach from this tool (lifting a user-set pause, takeover, kill switch). It stops short of pointing to a specific alternative for those cases, but the exclusions themselves route the agent.

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.