Join the bench queue
queue_joinTake a place in the queue for benches of this kind (for example real or sim). The browser must be connected.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| session | No | ||
| agent_token | No |
queue_joinTake a place in the queue for benches of this kind (for example real or sim). The browser must be connected.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| session | No | ||
| agent_token | No |
Changes observed during successful MCP inspections.
Input schema / properties / agent_token / anyOfAdded value: +[
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]Input schema / properties / agent_token / defaultAdded value: +nullInput schema / properties / agent_token / typeRemoved value: -"string"Input schema / properties / session / anyOfAdded value: +[
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+]Input schema / properties / session / defaultAdded value: +nullInput schema / properties / session / typeRemoved value: -"string"Input schema / requiredPrevious value: -[
- "session",
- "agent_token",
- "kind"
-]New value: +[
+ "kind"
+]Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-read-only, non-destructive, closed-world mutation, so the safety profile is already covered. The description adds the useful prerequisite that the browser must be connected, but omits the most important behavior for a queue-join: whether the call blocks until a bench is granted, returns immediately with a position, or fails when the queue is full.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the precondition; nothing is redundant. It is not padded, though it is arguably too terse given the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation with no output schema and no annotation detail beyond hints, the definition leaves critical gaps: return behavior (position? token? blocking?), meaning of session and agent_token, and error conditions. The completeness bar is higher than what these two sentences deliver.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden and it does not. 'Kind' is only illustrated obliquely ('real or sim') with no list of accepted values, and the optional 'session' and 'agent_token' parameters are never mentioned at all — an agent cannot tell when to supply them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (join) and resource (bench queue), scoped by 'of this kind' with the 'real or sim' example clarifying what kind means. It is clearly distinguishable from queue_leave and queue_status by name and action, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prerequisite 'the browser must be connected' gives one concrete condition for calling it, which is more than most. But there is no guidance on when to join versus checking queue_status first, when to prefer queue_leave, or what to do if already queued — usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.