Skip to main content
Glama

Server Details

Agent trading tools: candles, copy-trading, hire a strategy for your Robinhood vault, pay on chain

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 25 tools

Disambiguation4/5

Most tools target clearly distinct resources or actions: account vs catalogue, price vs tape vs chart_state, and models vs model_record are easy to separate. The main adjacent pairs are chart_image/chart_state and forge/studio_move/workflow_read, but their descriptions frame them as different output types or pipeline stages.

Naming Consistency4/5

All tool names use lower snake_case consistently, with no camelCase or mixed-style outliers. They are not uniformly verb_noun, since many are noun-only or noun_verb, but the vocabulary remains predictable across the set.

Tool Count3/5

At 25 tools, the server sits at the upper boundary of what is comfortable for an agent-facing tool set. The platform is broad enough that many tools are justified, but there is likely room to consolidate some read-only or reporting functions.

Completeness4/5

The surface covers account/catalogue introspection, market data, forecasts, model discovery, vaults and plans, skills, and the studio forge/grade/rehearse workflow. Some operational edges, such as direct live execution or full vault lifecycle management beyond unsigned preparation, are less explicit, but core read, analysis, and prepare flows are well represented.

Available Tools

38 tools
accountA
Read-onlyIdempotent
Inspect

The caller's Cubicle account: their tier (free, Cubicle Operators holder, pro-50, max premium-99), their plan and until when, and every capability with whether it is open and which tier opens it. Call it before telling a trader what they can or cannot do.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/ idempotent/ non-destructive, so the safety profile is covered. The description adds useful behavior beyond that: it is a self-scoped read (no target parameter) and it exposes capability gating by tier, which an agent could not infer from the empty schema.

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?

Two sentences, front-loaded with what the tool returns and ending with the operative usage rule. The parenthetical tier list is dense but each element earns its place by naming valid tier values.

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?

With no output schema present, the description carries the return-value burden and does so fully: tier values, plan and its expiry, and the per-capability open/tier mapping. Nothing essential for calling or interpreting this zero-arg tool is missing.

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?

The tool takes zero parameters, which is the baseline-4 case per the rubric. There are no fields to explain, and the description correctly gives no parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly conveys that this is the caller's own account record, enumerating its contents (tier, plan, expiry, per-capability status). It implicitly distinguishes itself from lookalike siblings such as 'plans' by scoping to the caller, though no explicit verb (returns/fetches) is used.

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?

It gives a concrete when-to-use rule: 'Call it before telling a trader what they can or cannot do.' That is a clear trigger condition, but no alternative tools are named or excluded, so it falls short of the top-tier when/when-not/alternatives guidance.

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

catalogueA
Read-onlyIdempotent
Inspect

The whole Cubicle API as data: the studio's eight-state machine and what each gate asks, every tool with the tier that opens it (and whether it is open to the caller), and the flows. Call it first when asked what Cubicle can do.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds real value beyond that by disclosing the content shape (eight-state machine, gates, per-tool tier and caller access, flows), which tells the agent what it will get back. It does not warn about payload size or cost of pulling the entire API in one call, which would have pushed this higher.

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?

A single dense sentence plus a short imperative routing clause, with the payload contents front-loaded and the usage trigger last. Every clause carries information; there is no filler or restatement of the name.

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 no output schema and no parameters, the description bears the burden of explaining the return payload and it does so adequately by naming the three content groups. It is nearly complete, missing only practical details such as response format/size that an agent planning a first call might want.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No misleading or missing parameter guidance.

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 precisely what the tool returns: the whole API as data, broken into the state machine and gates, the tool/tier inventory, and the flows. That is a specific resource description that clearly distinguishes it from the action-oriented siblings (forge, grade, studio_move), which an agent can tell apart without opening any schema.

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 an explicit trigger condition: 'Call it first when asked what Cubicle can do.' This is clear context for when to use it. It stops short of a 5 because it offers no exclusions or disambiguation against siblings for adjacent questions (e.g. reading a specific tool's schema), though the tool is genuinely a unique discovery entry point.

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

chart_imageA
Read-onlyIdempotent
Inspect

The deck's own chart plate for one market, timeframe and window, rendered server-side from the same geometry the screen uses (bars, indicators, the envelope cone when its calibration permits) as a PNG you can look at, together with the chart_state JSON for the same window. The picture is for shape; the numbers are in the JSON — quote those, never read them off the image. Past windows only; at most 600 bars.

ParametersJSON Schema
NameRequiredDescriptionDefault
tfYestimeframe
toYeswindow end, ISO-8601 UTC, in the past
fromYeswindow start, ISO-8601 UTC
marketYesthe market
indicatorsNoindicator ids to draw; defaults to ema20 and envelope

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial extra context: the render uses the same geometry as the screen, the envelope cone appears only when calibration permits, output is PNG plus JSON, windows must be in the past, and there is a 600-bar cap. These are real behavioral traits beyond the 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?

Three sentences, front-loaded with the core purpose, and every sentence carries information (what is rendered, how to treat the outputs, the limits). The middle sentences are dense but not redundant; no filler.

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?

With no output schema, the description correctly takes on the burden of explaining returns — it specifies a PNG plus chart_state JSON and warns how to interpret each. It also covers the window and bar-count constraints, so an agent has everything needed to call it correctly.

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 baseline is 3, but the description adds meaning the schema lacks — a 600-bar ceiling on the from/to window, the 'past windows only' constraint, and the note that the indicators selection controls whether the envelope cone is drawn. That extra semantics lifts it above the baseline.

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 (server-side render) and resource (a chart plate for one market/timeframe/window), and names exactly what is produced: a PNG plus the chart_state JSON. It implicitly differentiates itself from the chart_state sibling by declaring it returns both the picture and that JSON, so the agent knows what it is getting without opening a schema.

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 clear usage context and constraints — 'Past windows only; at most 600 bars' and the rule to quote numbers from the JSON rather than the image. It does not explicitly say when to prefer chart_state or the image sibling over this tool, so there is no full when/when-not routing, but the operating conditions are well stated.

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

chart_stateA
Read-onlyIdempotent
Inspect

What the deck's chart would show for one market, timeframe and window, as ONE JSON object computed in code: the bars (count, first and last, the last candle), the indicators drawn, the trader's own marked levels and zones (theirs — they may be used as levels the trader gave), the envelope under its draw gate and its facts, and the fact sheet of the window (open, close, high, low, range, change, volume, session). Use it instead of reading pixels: every number is measured, not read. Past windows only; at most 600 bars.

ParametersJSON Schema
NameRequiredDescriptionDefault
tfYestimeframe
toYeswindow end, ISO-8601 UTC, in the past (the logical clock for a replay)
fromYeswindow start, ISO-8601 UTC
marketYesthe market
indicatorsNoindicator ids to include, e.g. ["ema20","vwap","envelope"]; defaults to ema20 and envelope

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds behavior annotations do not: results are computed in code rather than read from pixels, only past windows are valid, and there is a hard 600-bar cap. It does not cover error behavior or latency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, but the body is one long run-on sentence with nested parentheticals, e.g. '(theirs — they may be used as levels the trader gave)', which is hard to parse and obscures the return shape. Information density is high but structure is poor.

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 no output schema, the description carries the burden of explaining the return payload, and it does enumerate the returned sections (bars, indicators, marked levels/zones, envelope with draw gate, fact sheet). Coverage is good; minor ambiguity in the levels/zones parenthetical and no error/empty-window behavior keeps it from 5.

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 all five parameters are already documented (including defaults for indicators and the past-only constraint on 'to'). The description echoes those constraints ('indicators drawn', 'Past windows only') but adds little new syntax or semantics, so baseline 3 is correct.

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+resource+scope: what the chart would show for one market/timeframe/window, returned as a computed JSON object. It explicitly contrasts with the pixel-reading sibling ('Use it instead of reading pixels'), so an agent can distinguish chart_state from chart_image without opening either schema.

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 a clear selection rule against the obvious alternative ('instead of reading pixels: every number is measured, not read') and adds operating constraints ('Past windows only; at most 600 bars'). It does not name the alternative tool explicitly or state when-not to use it, so it falls just short of 5.

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

desk_readA
Read-onlyIdempotent
Inspect

The house Nemotron desk (llm-nemotron-fest) as it is: its last turn (every 30 minutes), each market's decision and which reader decided it (the vote rule the Nemotron answers, or Jev), the facts it read, and the venue's own positions with realised and unrealised PnL. Composed from the desk's log and the venue, no model asked; a turn older than 45 minutes is marked stale. Not a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoone market, or every market when absent

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds useful context beyond annotations: the 30-minute turn cadence, the 45-minute staleness threshold, and that the view is composed from logs and venue without asking a model. It does not describe return format or pagination, but no output schema exists and the content overview is reasonably complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence-like passage with multiple clauses; the important scoping facts (staleness, source, not a forecast) are present but not front-loaded, and there is some redundancy in describing what is composed. It earns most of its words but could be tightened and structured with shorter sentences.

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 read-only single-parameter tool with no output schema, the description covers the source of data, cadence, staleness, and the categories returned, which is enough for an agent to invoke correctly and interpret results. It stops short of specifying the exact response shape, but that is acceptable given the content summary.

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 enum lists the three markets, so the schema already documents the parameter. The description reinforces that the tool composes a view across markets when no market is given via 'each market's decision,' which clarifies the omitted-parameter behavior beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('the house Nemotron desk') and enumerates what it returns: last turn, per-market decisions, which reader decided, facts read, and venue positions with PnL. It also explicitly states 'Not a forecast,' which helps distinguish from the 'forecast' sibling, though without naming it directly. No other sibling tool appears to expose desk state, so differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the contents described, but there is no explicit when-to-use / when-not-to-use guidance or mention of alternative tools. The 'Not a forecast' note hints at a boundary but does not direct the agent to the forecast tool or explain when this desk read is preferable.

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

digest
Read-onlyIdempotent
Inspect

FREE, no key: the sha256 (or keccak256) digest of a text, as 64 hex characters, computed here. Agents, registries and the coordination layer use it to check that this server answers with content they can verify by code; it is also a plain utility. Nothing is stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesthe text to hash (UTF-8)
algorithmNosha256 (default) or keccak256
drawInspect

Draw on the trader's chart, as they ask: a line (two points), a box (two corners), a path (2 to 24 points moving forward in time: a zigzag of legs) or a note (one point and a short word). Every point is a bar's time (ISO-8601 UTC, in the past) and a price the trader gave or the tape tool returned; never invent a level. Inks: parchment, gold, teal, brick (lime is the fire's and is refused). The drawing appears on their chart and in any film of that window.

ParametersJSON Schema
NameRequiredDescriptionDefault
inkNothe ink
kindYeswhat to draw
textNoa short word beside it (required for a note), at most 48 characters
marketYesthe market
pointsYesthe anchors, earliest first
drawings
Read-onlyIdempotent
Inspect

The trader's own drawings on one market's chart: lines, boxes, paths and notes, each anchored at bars (UTC times) and prices. They are things the trader drew (or asked you to draw), not signals; a film of the window lets each one appear as the clock reaches it.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesthe market
erase
DestructiveIdempotent
Inspect

Remove one of the trader's drawings by its id (from the drawings tool). Only when they ask.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesthe drawing's id as the drawings tool lists it (sk_ and 16 hex characters)
film
Idempotent
Inspect

Seal a past window of the tape into a FILM: the bars replayed one by one with the trader's drawings and marked levels, optionally the structure computed over the bars (pivots, legs, swings and the range they share, none drawn before the bar that confirmed it) and a rehearsed machine's trades. Returns the film's public link, where it plays and can be downloaded as a video. 24 to 360 bars; the window must be in the past. A film is a replay of what printed: say so, and never present it as a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
tfYestimeframe
toYeswindow end, ISO-8601 UTC, in the past
fromYeswindow start, ISO-8601 UTC
marksNoinclude the trader's marked levels (default true)
titleNoa short name beside the wordmark
kickerNoa short line at the right, e.g. price → structure
marketYesthe market
machineNoinclude the trades of the trader's rehearsed machine on this market, labelled a rehearsal
paletteNothe inks
secondsNolength, 8 to 40 seconds (default 18)
drawingsNoinclude the trader's drawings (default true)
headlineNothe headline's first part (drawn in parchment), at most 44 characters
structureNodraw the computed structure and name the chapters after it
headline_goldNothe headline's second part (drawn in gold)
followInspect

Follow a trading model (max plan): creates the follow record — the model, your sizing (fixed_notional usd, or proportional bps of your balance), your caps (max_notional_usd, max_open_positions, max_daily_loss_usd, markets) and optionally the wallet your own runner will sign with. Validated exactly as follow_quote; one active follow per model, a new one supersedes it. Returns the record, its digest (the coordination record follow.created) and the attribution every mirror of it is placed under (copy::). Nothing is traded by this call: your own runner mirrors fills under this record, and it can be stopped with unfollow at any time.

ParametersJSON Schema
NameRequiredDescriptionDefault
capsYes{"max_notional_usd":100,"max_open_positions":3,"max_daily_loss_usd":40,"markets":["BTC"]}
modelYesthe model's attribution from the models tool
sizingYes{"kind":"fixed_notional","usd":50} or {"kind":"proportional","bps":200}
follower_walletNothe 0x address your runner signs mirrors with (optional now; required once the venue enforces per-order auth)
follow_quoteA
Read-onlyIdempotent
Inspect

Quote following a trading model (max plan): checks the model is live and followable, validates the follower's sizing (fixed_notional usd, or proportional bps of their balance) and caps (max_notional_usd, max_open_positions, max_daily_loss_usd, markets the model trades), and shows what one mirror would be at the given balance. Creates nothing and moves nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
capsYes{"max_notional_usd":100,"max_open_positions":3,"max_daily_loss_usd":40,"markets":["BTC"]}
modelYesthe model's attribution from the models tool
sizingYes{"kind":"fixed_notional","usd":50} or {"kind":"proportional","bps":200}
balance_usdNothe follower's balance, to show a mirror's size (optional)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Creates nothing and moves nothing' is partly redundant. Still, the description adds real behavioral detail the annotations cannot: it enumerates what gets validated (model liveness, sizing kind, caps) and that it computes a mirror size at a given balance.

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-loaded with the core action ('Quote following a trading model'), followed by one dense sentence and a short safety clause. Every clause carries information; the only mild cost is that the middle sentence is a long comma-chained run-on.

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 no output schema, the description still conveys the essential return concept ('shows what one mirror would be at the given balance') and the validation scope. For a 4-param, nested-object read tool it is close to complete, though the exact shape of the returned quote is not spelled out.

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% but the schema descriptions are only raw JSON examples. The prose adds genuine meaning by naming the sizing modes (fixed_notional usd vs proportional bps of balance) and each cap field (max_notional_usd, max_open_positions, max_daily_loss_usd, markets), clarifying the nested objects.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Quote following a trading model', and elaborates that it validates liveness, sizing, and caps and previews a mirror. However it never distinguishes itself from the sibling strategy_quote, leaving the agent to infer the strategy-vs-model split.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrase 'Creates nothing and moves nothing' signals this is a pre-flight/dry-run check before an actual follow action. No explicit when-to-use guidance, no named alternative among the many siblings, and no prerequisites are stated.

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

follows
Read-onlyIdempotent
Inspect

Your own follow records (max plan): every follow you created, active, stopped or replaced, with its digest and attribution. Yours only — no follower ever sees another's.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

forecastA
Read-onlyIdempotent
Inspect

The envelope the forecast sidecar had issued for one market and timeframe by a given time: a MAGNITUDE band (how far price may travel over the next 24 bars, as two prices and a width in ATR), the odds of a move of 0.5, 1 and 2 ATR within 6, 12 and 24 bars, and its measured calibration (ece, n, band coverage). It carries NO direction — there is no side, no median, and the band is symmetric about the last close by construction; say so, and never turn it into 'up' or 'down'. When calibration reads unmeasured or uncalibrated the deck does not draw it and you should say the band is not yet trusted. Facts only, computed in code; nothing here is a recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
atNoISO-8601 UTC time the envelope must have been issued by (defaults to now); for a replay, the logical clock
tfYestimeframe the sidecar forecasts
marketYesthe market

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it states the band carries no directional information, is symmetric about the last close by construction, and that the system suppresses the deck when calibration is unmeasured. These are non-obvious behavioral facts an agent could not infer 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?

It is front-loaded with what the envelope contains, then the directional caveat, then the calibration caveat. Dense but nearly every clause earns its place; the 'there is no side, no median… say so, and never turn it into up/down' passage is mildly repetitive but justified for a financially sensitive output.

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?

With no output schema, the description carries the full burden of describing return values, and it does — magnitude band in ATR terms, odds at 0.5/1/2 ATR over 6/12/24 bars, and calibration fields (ece, n, coverage). Combined with annotations covering the safety profile, an agent has everything needed to call and interpret it.

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%, with enums for market and tf and a documented `at` semantics, so the schema does the heavy lifting. The description only obliquely reinforces the `at`/timeframe scoping ('by a given time'); it adds no syntax or format detail beyond the schema.

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 names a specific, self-contained resource — 'the envelope the forecast sidecar had issued for one market and timeframe by a given time' — and immediately scopes it (band, odds, calibration). No sibling tool in the list exposes this resource, so an agent can route to it 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is strong interpretive guidance (treat unmeasured/uncalibrated bands as untrusted, never convert the output into up/down), but nothing about when to call this versus alternatives such as tape, chart_state, or strategy_quote. Usage context is implied by the resource, not stated.

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

forgeAInspect

The studio machine's FORGED move: compiles the trader's strategy from the gates the tape can measure. The studio refuses it unless the strategy has passed READ, CLARIFIED and EXPRESSIBLE — when refused, tell the trader the move the studio is waiting for (it is in the result).

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesthe rule in the trader's words, every part included

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare this is a non-destructive mutation (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the safety profile is covered. The description adds meaningful behavior beyond that: a gated precondition and the fact that a refusal returns the awaited move inside the result, which tells the agent how to handle failure.

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 and followed by the gating/fallback rule. Dense with jargon, but every clause carries information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the failure path well, but it never explains what READ, CLARIFIED and EXPRESSIBLE are or where an agent verifies them, and it says nothing about what a successful compile yields. An agent can call it but may not know how to reach the prerequisite state.

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?

There is only one parameter and schema coverage is 100%, so the schema already carries 'the rule in the trader's words, every part included'. The description adds nothing about the intent string's expected content or granularity, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The core action is recoverable — it compiles the trader's strategy — but the phrasing is wrapped in domain jargon ('the studio machine's FORGED move', 'gates the tape can measure') that an agent cannot decode from the text alone. It gives no differentiation from nearby siblings like studio_move, strategies, rehearse or grade, so an agent has to guess where this sits in the workflow.

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?

It states a concrete precondition for success (the strategy must have passed READ, CLARIFIED and EXPRESSIBLE) and prescribes the fallback when refused: report the move the studio is waiting for. That is real when-to-use guidance, though it never names an alternative tool to call instead and leaves the gate names undefined.

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

gradeAInspect

Grade a forge with Jev (RUBRIC_v1): code checks the facts first, then Jev answers whether the code does what the trader said. Spends one of the trader's Jev decisions (trial, plan or their own key). It judges fidelity to their words, never profitability.

ParametersJSON Schema
NameRequiredDescriptionDefault
seed_hashYesthe seed hash forge returned

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, and idempotentHint=false; the description adds genuinely useful context beyond them: it consumes a limited resource (one Jev decision), clarifies the two-phase evaluation (code checks facts, then Jev judges), and scopes its judgment to fidelity, explicitly not profitability. It does not contradict the annotations.

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?

Three dense but front-loaded sentences with no filler: what it does, what it costs, and what it judges. The jargon makes it compact at the expense of readability, but every clause carries information.

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 novel, side-effectful single-parameter tool with no output schema, the description conveys the mechanics (two-stage check), the cost model, and the evaluation criterion, which is enough to call it correctly. Return format is left implicit, but no output schema exists to conflict with that.

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 coverage is 100% and the sole parameter seed_hash is documented as 'the seed hash forge returned'. With one fully documented parameter, the schema does the work and the description adds no syntax or format detail; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource — grading a forge with Jev under RUBRIC_v1 — and implicitly positions it as the post-forge evaluation step, which separates it from the sibling 'forge'. It is domain-jargon heavy ('Jev', 'RUBRIC_v1'), but the action and target are identifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'Grade a forge' (i.e., after producing a forge) and it notes the cost — spending one of the trader's Jev decisions (trial, plan or key). It does not state when not to use it, nor explicitly name an alternative or prerequisite step.

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

imageBInspect

Look at a chart the trader attached (the id is in the studio state). Read what is on it — instrument, timeframe, levels, the pattern they point at — and say plainly that numbers read off a picture are READ, not measured; check the ones that matter against the tape.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesthe attached image's id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and openWorldHint=true, yet the description never explains why this access is not read-only or what side effect occurs. It does add useful epistemic guidance (numbers read off a picture are READ, not measured; verify against the tape), which is genuine behavioral context beyond the annotations, but side-effect and permission disclosure is absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is one sentence, front-loaded with the action, so it is not bloated. But the em-dash-laden second half ('say plainly that numbers read off a picture are READ, not measured...') is dense and hard to scan, mixing invocation guidance with tutoring.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should signal what comes back (an image for the agent to view? metadata?), and it only obliquely implies viewing. For a single-parameter tool the invocation side is covered, but the return side is left to inference.

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% (baseline 3), and the description adds provenance the schema lacks: the id is found in the studio state, telling the agent where to source the value rather than just what type it is.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It conveys the resource (a chart the trader attached) and an action (look at / read it), which is more than a tautology on the name 'image'. However it never states mechanically what the tool does — fetch image bytes, return a description, or register the image into context — leaving ambiguity against siblings like chart_image and chart_state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives real context for invocation: the id lives in the studio state, and it is used when a trader has attached a chart. It stops short of naming alternatives (chart_image, chart_state) or stating when-not-to-use, so the routing signal is implied rather than explicit.

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

model_recordA
Read-onlyIdempotent
Inspect

One trading model's record from the venue's first-in-first-out paired closes: realized PnL, maximum drawdown, win rate, per market, and the window. Always say what the record is not: a forecast, or what a follower would have made.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesthe model's attribution, from the models tool (starts with llm-)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds real value beyond them by disclosing the derivation ('venue's first-in-first-out paired closes') and the nature of the metric (realized, backward-looking), which is exactly the context needed to avoid misreading it as predictive.

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 tight sentences with the output contents front-loaded and no filler. The second sentence is an interpretive guardrail rather than a description of the tool itself, which is slightly off-topic for a definition but conceptually adjacent and worth its length.

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?

With only one parameter, full schema coverage, no output schema, and annotations carrying the safety profile, the description fills the remaining gaps by enumerating the returned fields and setting expectations about what the record is not. Nothing needed to call it correctly 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% and the single 'model' parameter is documented in the schema as the attribution from the models tool (starting with 'llm-'). The description adds nothing about the parameter, so the baseline of 3 for high schema coverage 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?

The description names a specific resource (one trading model's record) and enumerates exactly what it contains: realized PnL, max drawdown, win rate, per market, and the window. It also explicitly differentiates from siblings by stating it is neither a forecast nor a follower's simulated return, which is the distinction an agent needs against forecast/follow_quote.

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?

It gives clear context via exclusion: 'Always say what the record is not: a forecast, or what a follower would have made,' which implicitly routes the agent to the forecast and follower tools for those questions. It stops short of naming the alternative tools or stating a positive when-to-use trigger, so it is clear but not fully explicit.

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

modelsA
Read-onlyIdempotent
Inspect

The trading LLM models on the Taifoon venue a trader can study and, on the max plan, follow: each with its status (trading or stopped, derived from its last trade), markets, fills, realized PnL and win rate — all read from the venue, never from a model's words. Simulated market-maker and flow actors are never listed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so the bar is lower. The description still adds real context beyond them: status is derived from the last trade, all data comes from the venue rather than a model's self-report, and simulated market-maker/flow actors are excluded from the listing.

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?

A single sentence that front-loads the resource (trading LLM models on the Taifoon venue) and then enumerates returned fields and exclusions without filler. The embedded clause 'a trader can study and, on the max plan, follow' is slightly awkward and only marginally earns its place.

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 no parameters, no output schema, and safety annotations already present, the description carries the remaining burden and does so: it says what is listed, which fields are derived and how, and what is filtered out. Pagination and plan-gating of the listing itself remain unaddressed.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline is 4. No misleading parameter claims are made.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: listing trading LLM models on the Taifoon venue, with the exact fields returned (status, markets, fills, realized PnL, win rate). It does not, however, differentiate itself from close siblings like model_record or catalogue, so an agent must infer which one to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: a trader 'can study and, on the max plan, follow' these models, which hints this is the survey/list step before acting. There is no explicit when-to-use, no when-not-to-use, and no named alternative (e.g. model_record for a single model).

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

my_vaultsA
Read-only
Inspect

The caller's trading vaults, read from the chain: each with whether its funds are devnet (test money) or mainnet (real), what is in it, what is free, what is set aside as margin, the mandate and who administers it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the description is not the sole safety signal. It still adds real value by disclosing the data source (live chain read), the devnet-vs-mainnet distinction, and the balance decomposition (total/free/margin) plus governance fields. It does not explain why idempotentHint is false despite being a read, which is the one loose end.

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?

A single sentence that front-loads the resource and source ('the caller's trading vaults, read from the chain') before enumerating contents. The trailing field list is dense but each item carries information about the return shape; nothing is redundant with the schema.

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 no output schema and no parameters, the description carries the entire return-value burden and does so credibly by naming the fields an agent will receive. It stops short of explaining the 'mandate' concept or any empty/error state, but for a read-only zero-arg tool this is close to sufficient.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. The schema is closed (additionalProperties=false) and empty, consistent with the description's implicit 'no arguments needed' framing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('The caller's trading vaults, read from the chain') and scopes it to the caller, which separates it from the generic 'account' sibling. It does not explicitly contrast itself with the related 'vault_prepare' sibling, so an agent must infer that this one reads rather than mutates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the enumeration of returned fields (free balance, margin, mandate, administrator) tells an agent this is the tool for inspecting vault state. There is no explicit when-to-use statement and no routing away from 'vault_prepare' or 'account', leaving the choice to inference.

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

plan_claimA
Idempotent
Inspect

Claim a plan you paid for on chain: give the payment's transaction hash and the paying wallet's EIP-191 signature over the exact message the plans tool returns ("Cubicle plan claim\nagent: \ntx: "). The door reads the transfer to the treasury itself and opens the plan for this principal; only the wallet that paid can claim it. Needs your Cubicle key.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNothe chain the payment was made on (Cubicle takes plans on Robinhood Chain only)
tx_hashYesthe payment transaction's hash (0x + 64 hex)
payer_signature_hexYesthe paying wallet's EIP-191 signature (0x + 130 hex) over the claim message

TDQS

A4.3/5.0
Behavior4/5

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

The description adds real behavioral context beyond the annotations: it verifies the transfer to the treasury itself, opens the plan for 'this principal', restricts claiming to the paying wallet, and requires a Cubicle key. Idempotency and open-world nature are already covered by annotations, so this is additive rather than redundant.

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?

It front-loads the action and follows with the required inputs and constraints in densely packed but purposeful sentences. Slightly long and parenthetical-heavy, but every clause carries operational value.

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 mutating claim operation with no output schema, the description covers the prerequisites (payment, signature, key), the validation model, and the resulting state change ('opens the plan for this principal'). What the call returns is not described, but that is a minor gap for a claim action.

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% (baseline 3), and the description goes further by specifying the exact signed message format ('Cubicle plan claim\nagent: <id>\ntx: <tx hash>'), which is essential for producing a valid payer_signature_hex and is not in the schema. The chain constraint is already in the enum, so no extra credit there.

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 states a specific verb and resource ('Claim a plan you paid for on chain') and describes the exact mechanism (tx hash + payer signature). It implicitly distinguishes itself from the sibling 'plans' tool by referencing the message that tool returns, so an agent can tell claim apart from listing plans.

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?

It makes clear this is the post-payment claim step and points to the 'plans' tool as the source of the exact message to sign. It also gives a hard precondition ('only the wallet that paid can claim it') and an auth requirement ('Needs your Cubicle key'), though it never states an explicit when-not-to-use case.

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

plansA
Read-onlyIdempotent
Inspect

The Cubicle plans (price per 30 days, what each includes) and exactly how to pay on Robinhood Chain in USDG: the treasury, the token, and — when the subscription vault is live — the two wallet transactions (approve, subscribe) that renew automatically every 30 days. Nothing here moves money: the trader signs in their own wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNoa plan id (pro-50 or premium-99) to prepare the payment steps for
walletNothe 0x address of the wallet that will pay — needed for the renewing subscription, which is authorized for that wallet only

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive, and the description adds meaningful behavioral context: it does not move money, the trader signs in their own wallet, renewal is every 30 days, and the wallet authorization is per-wallet. It still omits what the response looks like and any rate/availability caveats beyond the 'when live' condition.

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?

Content is front-loaded (plans and pricing first, then payment mechanics, then the safety note) with no filler sentences. It is a single dense sentence that is slightly hard to parse due to em-dash interjections, but every clause carries information.

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 no output schema, the description carries the return burden and does describe the content returned (pricing, inclusions, treasury, token, transactions). Both parameters are optional read-only inputs with full schema coverage, so little else is needed; only the concrete response shape is left implicit.

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 coverage is 100%, so the schema already documents both the plan enum and the wallet address. The description mirrors this (plan pricing, wallet needed for the renewing subscription authorized for that wallet only) without adding format or usage detail 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource returned (plan pricing per 30 days, inclusions, treasury/token, and the approve/subscribe steps), so an agent understands what it will get. It is less explicit about the verb (read vs prepare) and does not distinguish itself from siblings like plan_claim, catalogue, or vault_prepare.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (pick a plan and wallet to obtain payment steps, when the subscription vault is live) but there is no explicit 'use this when / not when' guidance and no named alternative among siblings. An agent must infer when to call plans versus plan_claim or vault_prepare.

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

priceA
Read-only
Inspect

FREE, no key, no sign-in: the tape's latest price for one market (NQ, ES, YM, BTC, ETH or SOL) with the time of that 1-minute close and whether the tape is stale. Use it whenever an agent needs a current price; it is the same tape every Cubicle vault checks its orders against. For a window of candles use tape (needs a key).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesthe market, by ticker

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, open-world behavior, and the description adds real value on top: no key or sign-in required, a staleness flag is returned, and the tape is the same one vaults validate orders against. It does not define what 'stale' means or any rate limits, which keeps it short of a 5.

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?

Two dense sentences with the key differentiator ('FREE, no key, no sign-in') front-loaded, immediately followed by capability and then the routing hint. No filler.

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 one-parameter read tool with no output schema, the description supplies everything needed: what is returned (price, close time, stale indicator), the market set, and the alternative for candle windows. Nothing material 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 coverage is 100% and the single parameter is an enum with a description, so the schema already carries the semantics. The description restates the allowed tickers (NQ, ES, YM, BTC, ETH, SOL) but adds no format or edge-case detail beyond the enum itself — baseline 3.

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 — the tape's latest price for one market — and specifies the returned pieces (1-minute close time, staleness). It explicitly distinguishes itself from the sibling tape tool, so an agent can tell them apart without opening either 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?

Names the triggering condition ('whenever an agent needs a current price') and the alternative with its constraint ('for a window of candles use tape (needs a key)'). Both when-to-use and when-to-use-something-else are explicit.

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

rehearseAInspect

Walk a forged machine over the real tape with the canonical stepper (the last week by default): how many trades it took, the R, and a comparison with a random null. Call it after a forge when the trader wants to know whether the rule actually fires. A rehearsal is evidence about the past, never a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNothe market to walk, defaults to the one the trader named
seed_hashYesthe seed hash forge returned

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=false). The description adds useful defaults ('the last week by default') and an interpretation caveat ('evidence about the past, never a forecast'), but never explains the non-read-only side effect implied by readOnlyHint=false, leaving a behavioral gap.

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?

Three front-loaded sentences with no waste: the first states the action and returns, the second the trigger, the third the interpretive caveat. Every sentence earns its place.

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 no output schema, the description compensates by naming what comes back (trade count, R, null comparison) and the default window. It is nearly complete for a two-parameter tool, missing only an account of the state change implied by its non-read-only annotation.

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% for both parameters, so the schema carries the parameter semantics (market enum, seed_hash provenance). The description only adds the internal 'last week' default, which is not even an exposed parameter, so it does not meaningfully exceed the schema.

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+resource ('walk a forged machine over the real tape') and names the concrete outputs (trade count, R, random-null comparison). It also explicitly distinguishes itself from the sibling forecast tool ('never a forecast') and ties itself to forge, so an agent can tell it apart from neighbours.

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 an explicit trigger and sequencing rule: 'Call it after a forge when the trader wants to know whether the rule actually fires.' It contrasts with forecast, but stops short of naming forecast as the alternative to use when a forward-looking answer is wanted.

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

replay_open
Read-onlyIdempotent
Inspect

Put the trader's chart and its time compressor on a past window: the market, the window, the speed to play it at and, optionally, the moment to hold on (a trade, a sweep, a touch of a level). The studio shows a card; pressing it opens the chart there, held and ready to play, with a way back to the studio. Use it whenever you talk about what happened in a window: show it on the chart instead of only describing it. Past windows only, ten minutes to thirty days; a replay shows what printed, never a forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYeswindow end, ISO-8601 UTC, in the past
fromYeswindow start, ISO-8601 UTC
noteNoone short sentence shown beside the card: what to watch for (at most 140 characters)
focusNooptional: the moment inside the window to hold the clock at, ISO-8601 UTC
speedNohow fast to play it: 60, 600 or 6000 times real time, or max (default 600)
marketYesthe market
replay_record
Read-onlyIdempotent
Inspect

Read back what happened in the trader's last replay of one market: every beat on the tape, each of their strategies' trades and state changes, and their own moves (travel, speed, seek), in order with their times, plus the recording's hash (the same at any replay speed). Use it after replay_open, or when the trader asks what they just watched, to answer from what was recorded rather than from memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindsNoonly these sources or kinds (default: all)
marketYesthe market
skill_readA
Read-onlyIdempotent
Inspect

Read one skill's method (its SKILL.md) — only the methodology and engineering skills are readable; strategy, lens, pillar and copy skills are sealed and will be refused.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesthe skill's name as the skills tool lists it

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive). The description adds real behavioral context beyond that: a whole class of skills is sealed and requests will be refused, which is a failure mode the agent must anticipate.

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?

One sentence, front-loaded with the core action, and the refusal caveat packed into the trailing clause. No waste.

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 single-parameter read tool with no output schema, the description covers the action and the key error case well. It does not hint at the shape of the returned SKILL.md content, a minor gap only.

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 coverage is 100% and there is only one parameter ('name'), whose schema description already says it is the name as listed by the skills tool. The description adds no syntax, format, or naming detail beyond that, 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 (read) and resource (one skill's method / SKILL.md), plus scope. It distinguishes this from the sibling 'skills' tool by clarifying it fetches a single skill's content rather than listing skills.

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?

Explicitly states when-not: strategy, lens, pillar and copy skills are sealed and will be refused, so the agent knows which names to avoid. It does not name an alternative tool to use for those sealed skills, which keeps it from a 5.

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

skillsA
Read-onlyIdempotent
Inspect

List the Cubicle skill bank: every skill's name, family, grade and status (runnable / stub / concluded). A stub is a promise, not a capability — say so when you cite one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds genuine value beyond them by decoding the status vocabulary (runnable / stub / concluded) and warning that a stub is a promise rather than a capability — a real risk-of-misinterpretation note.

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?

Two short sentences, front-loaded with what is listed and followed by the one caveat that matters. No filler or restatement of the tool name.

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?

Zero-parameter read tool with no output schema, and the description still tells the agent what the payload contains and how to interpret status values. Only the absence of any ordering or size expectation for the bank listing keeps it short of full completeness.

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?

The tool takes zero parameters, so there is nothing to document and the baseline is 4. The description usefully names the fields the bank returns, which is a small bonus over the empty schema.

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?

Specific verb (List) plus resource (the Cubicle skill bank) and an explicit enumeration of the returned fields (name, family, grade, status). The scope — the whole bank rather than one entry — cleanly separates it from the sibling skill_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer it should call this to survey the catalogue. The description never names skill_read as the alternative for fetching a single skill, nor states when the bank listing is preferable to reading one entry. The stub caveat is guidance about citing results, not about tool selection.

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

strategiesA
Read-onlyIdempotent
Inspect

The strategies anyone can rent to run a Cubicle spot vault (today: accumulate, which buys a fixed amount of ETH or BTC on an interval up to a budget and never sells): what each does, its parameters, the venues and assets, the limits the vault itself enforces, the fee, how to rent it, and its honest status (not live with real funds yet).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description goes beyond them with genuinely useful behavioural context: strategies are 'not live with real funds yet', and the vault itself enforces limits — both of which materially change how an agent should treat the output.

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?

A single front-loaded sentence that opens with the resource and then lists its facets in a parenthetical. Dense but zero filler; the nested clauses make it slightly harder to scan than a two-sentence split would be.

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 no input schema and no output schema, the description must describe the return payload itself, and it does so by enumerating what each strategy entry covers, plus the honest-status caveat. Adequate for a read-only reference tool, though it never states the shape or volume of the result.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool applies. The description correctly focuses on payload content rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource and scope: the set of strategies rentable to run a Cubicle spot vault, and enumerates the content returned (parameters, venues, assets, limits, fee, rental path, status). It does not, however, distinguish itself from near-neighbours like 'catalogue', 'plans', or 'strategy_quote', so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the mention of 'how to rent it' suggests this is the discovery step before renting, but there is no explicit when-to-use, no when-not, and no pointer to strategy_quote/plans/my_vaults as the alternatives for pricing or managing a position.

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

strategy_quoteA
Read-only
Inspect

A live quote for one accumulate buy on Robinhood Chain: what a USD amount of USDG buys of ETH or BTC on the best Uniswap route right now, the tape's price, the cost against the tape in bps, and whether the vault's own price rule (at most 1% worse than the tape) would accept it. A static call: nothing is signed or sent.

ParametersJSON Schema
NameRequiredDescriptionDefault
usdYesUSD of USDG to spend
assetYesthe asset

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly/openWorld/idempotent, but the description adds real context: 'A static call: nothing is signed or sent' and the concrete acceptance behavior (at most 1% worse than the tape). It also implies freshness ('right now'), consistent with the non-idempotent hint. Missing only things like rate limits or failure modes.

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?

Purpose is front-loaded in the opening clause, and the short final sentence cleanly covers the safety trait. The first sentence is dense with a colon-separated return list, but each element carries meaning; slightly heavy for a two-parameter tool.

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 no output schema, the description responsibly describes what the quote returns and the vault's 1% acceptance rule, which is the key decision context. It is close to complete; only quote validity/expiry and any access constraints are unaddressed.

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%, and the schema already documents both parameters including the ETH/BTC enum and the USDG denomination, so the baseline is 3. The description restates the USDG spend and asset choices but adds no format, bounds, or minimum/maximum detail beyond the schema.

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 names a specific verb and resource ('A live quote for one accumulate buy') and pins the scope to Robinhood Chain, ETH/BTC via Uniswap. It also enumerates the actual outputs (fill amount, tape price, cost in bps, vault price-rule verdict), so an agent can distinguish it from follow_quote or tape without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys implied usage (pre-buy pricing check for a single accumulate order) and clarifies the call is static and safe, but never states when to prefer it over siblings like follow_quote or tape, nor any prerequisites or exclusions. Usage is inferable rather than spelled out.

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

strategy_steps
Read-onlyIdempotent
Inspect

The steps the trader's last tested strategy took on one market, as the test engine reported them: each step's time, the move (ready to in a trade, and so on), the conditions true at that bar, the trade it opened or closed, and the watched items' values at that bar. Also, per watched item, its average at the entries of winning trades and of losing trades. Use it to answer 'what was the RSI when it bought', 'why did it enter there', 'what do the winners have in common'. These are past bars of one tested week: a description, never a forecast and never advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
onlyNotrades = only the steps that opened or closed a trade (default); all = every step
marketNothe market the strategy was tested on (defaults to the newest test)
studio_moveA
Destructive
Inspect

Move the trader's rule through the studio's state machine when forge is refused: score_parts (Jev scores clarity — needs the trader's own TypeSafe key), accept_parts (the trader accepts the rule as read, without a Jev score), choose_coverage with choice approximate (build from the gates the tape can measure) or stop, reset (start over). Ask the trader before accepting or choosing for them; the studio decides every gate, this only performs the move they chose.

ParametersJSON Schema
NameRequiredDescriptionDefault
moveYesthe move
choiceNofor choose_coverage: approximate or stop

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructive=true and readOnly=false, but the description adds non-obvious behavior: score_parts requires the trader's TypeSafe key, accept_parts skips Jev scoring, choose_coverage depends on measurable gates, and the tool only executes the chosen move without deciding gates. It omits failure modes and reversibility details.

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?

One dense sentence followed by a semicolon-delimited guidance clause. It is front-loaded with the action and maps each enum option, though the jargon is heavy and the structure is compressed.

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?

Covers the trigger, all move options, the conditional choice parameter, consent requirements, and the tool's limited role in the state machine. For a no-output-schema mutation tool with annotations, this is nearly sufficient, though it omits post-move result or failure behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the schema descriptions are minimal. The description supplies meaning for each move enum value, including the conditional choice for choose_coverage, materially improving correct parameter selection.

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: moving the trader's rule through the studio's state machine. The trigger 'when forge is refused' and enumeration of the four moves distinguish it from the sibling forge tool.

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?

Explicitly conditions use on forge being refused and instructs the agent to ask the trader before accepting or choosing on their behalf. It also maps each move option, giving clear routing guidance.

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

tapeA
Read-onlyIdempotent
Inspect

Read real candles from the Taifoon tape for one market. Use it to ground an answer in what the market actually did in a past window — never to predict. NQ is not continuous (weekend halt, 21:00 UTC daily break). A past window is SEALED: its bars never change, so cache it. The same tape is open over plain HTTP with no key: GET https://clob.taifoon.dev/tape/v1/candles/{market}/{tf}?from=&to= with unix SECONDS and a User-Agent that names you (OpenAPI: https://www.taifoon.io/clob/openapi.yaml). It is the tape the coordination layer's conformance check replays, so what you read here is what the judge reads.

ParametersJSON Schema
NameRequiredDescriptionDefault
tfYestimeframe (the time machine serves these; build a 15-minute range from 1m or 5m bars)
toYeswindow end, ISO-8601 UTC, in the past
fromYeswindow start, ISO-8601 UTC
marketYesthe market

TDQS

A4.3/5.0
Behavior5/5

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

Annotations cover the safety profile, but the description adds substantial context they don't: NQ's non-continuity (weekend halt, 21:00 UTC break), that past windows are SEALED and safe to cache, and the no-key HTTP equivalent with its own parameter conventions. This is exactly the behavioral value structured fields cannot carry.

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-loaded with the core action, then layers constraints, caching guidance, and the HTTP mirror without padding. Dense but every sentence carries information; slightly long for a four-parameter read tool.

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 no output schema, the description should hint at return shape; it names 'real candles' and defers detail to the OpenAPI spec link. It covers continuity, sealing, and caching well, but the bar format itself is left to inference.

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% and both enums are documented, so the schema does the heavy lifting. The description notes the HTTP variant uses unix SECONDS versus the schema's ISO-8601, which is a useful distinction but not a semantics addition for the MCP parameters themselves.

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 ('Read real candles from the Taifoon tape for one market'), scoping it to a single market and a past window. This cleanly separates it from siblings like chart_image, chart_state, and forecast.

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 clear when-to-use context ('ground an answer in what the market actually did in a past window') and an explicit exclusion ('never to predict'). It does not name a specific sibling alternative to use instead, so it stops short of the top tier.

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

unfollow
Idempotent
Inspect

Stop following a model at once (any tier may stop): the active follow record is marked stopped and kept; open mirror positions stay yours to manage. Returns the stopped record, or says there was none.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesthe model's attribution
vault_prepareA
Read-onlyIdempotent
Inspect

The wallet steps for a Cubicle vault as UNSIGNED transactions and EIP-712 typed data for the owner's own wallet. Open: call without vault for the transaction that opens it. Fund and hire: call again with the new vault's address (from my_vaults) for allow + deposit and the mandate to sign. Withdraw: withdraw_shares queues shares, then claim_shares pays what the vault's free funds cover to the owner. Chain 4663 is Robinhood Chain (real USDG; open to any wallet since 2026-10-07, no deposit cap; the contracts are not externally audited, so deposit only what you can afford to lose); 36927 is the devnet (test money). Signs and sends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNowhat the account is for: spot (trades on Uniswap today) or futures (margin; settles when the venue sends statements)
nameNoa name for the vault
chainNo4663 Robinhood Chain (real money) or 36927 the devnet (test money); defaults to the devnet
ownerYesthe 0x address of the wallet that owns (or will own) the vault
vaultNothe vault's 0x address (every call after the first)
marketNospot administrators only: the market it buys
margin_usdNomargin vaults only: the most the mandate may ever lose (second call)
deposit_usdNoUSD of the stable to deposit (second call)
claim_sharesNowithdrawal step two: whole shares to claim (read claimableRedeemRequest(0, owner) on the vault)
administratorNowho administers the vault under the mandate (second call), e.g. llm-nemotron-dual
withdraw_sharesNowithdrawal step one: whole shares to queue (read balanceOf(owner) on the vault)

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations by stating 'Signs and sends nothing' (reinforcing readOnlyHint with concrete meaning) and by disclosing real behavioral risk: chain 4663 uses real USDG, has no deposit cap, and the contracts are not externally audited, so deposits can be lost; 36927 is test money. That is material context an agent cannot get 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?

Dense and front-loaded with the core purpose before the phase-by-phase routing and risk notes. It is efficient with no filler, though the single semicolon-chained block is heavier to parse than it needs to be.

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 an 11-parameter tool with no output schema, the description supplies what is otherwise missing: the return shape (unsigned transactions plus EIP-712 typed data), the multi-call sequencing, and the chain/risk context. Nothing essential to invoking it correctly is absent.

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 parameter descriptions are already rich, so the baseline is 3. The description adds sequencing meaning beyond the schema by clarifying which parameters belong to the open call versus the funding/hiring call and where the vault address comes from (my_vaults).

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 states a precise verb and resource: it produces the wallet steps for a Cubicle vault as unsigned transactions and EIP-712 typed data. It also names the source of the vault address (my_vaults), which anchors the tool among its siblings. An agent knows this constructs payloads rather than executing anything.

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?

Explicit lifecycle routing: call without `vault` to open, call again with the vault address for allow + deposit and the mandate, and the two-step withdraw path (withdraw_shares queues, claim_shares pays). Both the first-call and second-call conditions are spelled out, leaving little to inference.

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

watch_fields
Read-onlyIdempotent
Inspect

What a strategy test reports at every step the strategy takes: the trader's current list, and the whole vocabulary, grouped by indicator (price, volume, RSI 14, EMA 20, EMA 60, VWAP, the Bollinger bands, the 20 bar range, bar size, the 50 bar mean, the clock). Each indicator has named fields (the bands have boll_up and boll_dn, the range has range_high, range_low and range_pos). An item may also be an expression over the fields, such as close - ema20 or rsi14 > 50. Call it before watch_set, and when the trader asks what can be tracked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

watch_set
Idempotent
Inspect

Set what the trader's strategy tests report at every step: up to 8 items, each a field id from watch_fields or an expression over those fields (numbers, + - * / and brackets, optionally one comparison with < > <= >=). This replaces the list. It applies to the NEXT test, so offer to rehearse again afterwards. An item that cannot be read is refused by name and the rest are kept. Use it when the trader says what they want tracked ('watch the RSI and how far price is from the EMA'): translate their words into fields; never invent a field.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesfield ids or expressions, in the order they should be shown
workflow_readA
Read-onlyIdempotent
Inspect

Read a trading idea the way the studio does: the deterministic reader fills the 7 parts (markets, trigger, direction, stand aside, stop, target, session) from the trader's OWN words and says which required parts are still missing. Use it before restating or forging a rule; never fill a part the trader did not say.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYeseverything the trader has said about the rule, in their words

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds genuine behavioral context beyond them: the reader is deterministic, extracts only from the trader's own words, and outputs which required parts are missing, plus an explicit constraint not to invent parts.

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 front-loaded sentences with no filler; the purpose and output shape come first, then the usage directive. The 'way the studio does' framing and parenthetical seven-part list cost some space but carry real information.

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?

There is no output schema, so the description correctly carries the burden of describing the return: the filled 7 parts and the list of missing required parts. It is nearly complete, though it doesn't specify the exact output shape beyond the part names.

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?

With one parameter and 100% schema description coverage, the schema already defines the input fully. The description reinforces 'the trader's OWN words' but adds no syntax, format, or bounds beyond what the schema's 'in their words' already states.

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 states a specific verb ('read') and resource ('a trading idea'), and enumerates exactly what the deterministic reader produces: the 7 named parts plus a report of missing required parts. This distinguishes it from the sibling 'forge', which the description positions as the downstream step.

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?

It gives an explicit trigger ('Use it before restating or forging a rule') and names the alternative workflow ('forging'), which gives the agent a routing signal. It stops short of full when/when-not coverage, giving no conditions under which this should be skipped or is inapplicable.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Addedreplay_open
    • Addedreplay_record
  2. 3 tool updates
    • Addedstrategy_steps
    • Addedwatch_fields
    • Addedwatch_set
  3. 3 tool updates
    • Addedfollow
    • Addedfollows
    • Addedunfollow
  4. 4 tool updates
    • Addeddraw
    • Addeddrawings
    • Addederase
    • Addedfilm
  5. 1 tool update
    • Addeddigest
  6. 2 tool updates
    • Addeddesk_read
    • Addedprice
  7. 1 tool update
    • Changedvault_prepare2 fields changed
      • changedInput schema / properties / margin_usd / description
        Previous value: -"the most the mandate may ever lose (second call)"New value: +"margin vaults only: the most the mandate may ever lose (second call)"
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "spot administrators only: the market it buys",
        +  "enum": [
        +    "ETH",
        +    "BTC"
        +  ],
        +  "type": "string"
        +}
  8. 1 tool update
    • Changedvault_prepare7 fields changed
      • addedInput schema / properties / chain
        Added value: +{
        +  "description": "4663 Robinhood Chain (real money) or 36927 the devnet (test money); defaults to the devnet",
        +  "enum": [
        +    4663,
        +    36927
        +  ],
        +  "type": "number"
        +}
      • addedInput schema / properties / claim_shares
        Added value: +{
        +  "description": "withdrawal step two: whole shares to claim (read claimableRedeemRequest(0, owner) on the vault)",
        +  "type": "string"
        +}
      • changedInput schema / properties / kind / description
        Previous value: -"what the account is for"New value: +"what the account is for: spot (trades on Uniswap today) or futures (margin; settles when the venue sends statements)"
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "futures",
        -  "funding"
        -]New value: +[
        +  "spot",
        +  "futures",
        +  "funding"
        +]
      • changedInput schema / properties / owner / description
        Previous value: -"the 0x address of the wallet that will own the vault"New value: +"the 0x address of the wallet that owns (or will own) the vault"
      • changedInput schema / properties / vault / description
        Previous value: -"the new vault's 0x address (second call only)"New value: +"the vault's 0x address (every call after the first)"
      • addedInput schema / properties / withdraw_shares
        Added value: +{
        +  "description": "withdrawal step one: whole shares to queue (read balanceOf(owner) on the vault)",
        +  "type": "string"
        +}
  9. 1 tool update
    • Changedplan_claim2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"the chain the payment was made on"New value: +"the chain the payment was made on (Cubicle takes plans on Robinhood Chain only)"
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "robinhood",
        -  "base"
        -]New value: +[
        +  "robinhood"
        +]
  10. 23 tool updates
    • First observedaccount
    • First observedcatalogue
    • First observedchart_image
    • First observedchart_state
    • First observedfollow_quote
    • First observedforecast
    • First observedforge
    • First observedgrade
    • First observedimage
    • First observedmodel_record
    • First observedmodels
    • First observedmy_vaults
    • First observedplan_claim
    • First observedplans
    • First observedrehearse
    • First observedskill_read
    • First observedskills
    • First observedstrategies
    • First observedstrategy_quote
    • First observedstudio_move
    • First observedtape
    • First observedvault_prepare
    • First observedworkflow_read

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI agents to interact with Robinhood Chain via USDG payments, offering tools for balance, pricing, trading, and more.
    18
    58
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents and clients to manage wallet-owned identity, private per-agent context, swarm coordination, jobs and offerings, policy-gated tool execution, and audit proofs, with Robinhood Chain execution and payment verification support.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources