Skip to main content
Glama

Basis

Server Details

Crypto market data, 200 indicators, order flow and a chart link. No account, no API key.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. 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.8/5.0

Scored across 39 tools

Disambiguation4/5

Most tools have clearly distinct purposes (chart building, data loading, scanning, position planning), but a few clusters could cause confusion: chart_add_indicator vs chart_update_indicator vs chart_toggle_indicator are distinct but similar, and position_draw_on_chart vs position_plan_on_chart vs position_calculate overlap in the position-planning space. The descriptions are detailed enough to disambiguate, but the boundaries between position tools and drawing tools require careful reading.

Naming Consistency4/5

The naming is mostly consistent with a verb_noun pattern: chart_*, drawing_*, market_*, position_*, screener_*, news_*, catalog_*. There are a few deviations like alert_link, backtest_run, calendar_upcoming, crypto_quant_guide, daytrade_opportunity_scan, fibonacci_draw, formula_evaluate, hyperliquid_whale_read, indicator_compute, orderflow_read, strategy_research, trade_experience_retrieve — these are still readable and follow a general verb-first or noun-verb style, but the pattern is less uniform than a strict verb_noun convention.

Tool Count3/5

39 tools is on the heavy side for a single server, though the domain is broad (charting, data, scanning, backtesting, position management, news, order flow). The count feels justified by the breadth, but it is above the typical well-scoped range and may overwhelm agents trying to select the right tool.

Completeness4/5

The tool surface covers the main workflows: chart building and publishing, data loading and computation, scanning and backtesting, position planning, and market context. Minor gaps exist — e.g., no explicit tool for editing/deleting indicators beyond remove/toggle/update, no direct order placement (though that may be out of scope), and no tool for historical news or calendar events beyond upcoming. Overall, the core domain is well covered.

Available Tools

39 tools
backtest_runA
Read-onlyIdempotent
Inspect

Backtest one built-in strategy with one set of parameters. Fills happen at the next bar's open and costs are charged per side. Returns risk-adjusted metrics alongside the raw return — judge on those, not on total return.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoReuse a handle from market_candles instead of loading.
feeBpsNoPer side. Default 4.
marketNoDefault: the chart.
paramsNo
symbolNoDefault: the chart.
exchangeNo
directionNo
timeframeNoe.g. 1h, 4h. Default: the chart.
strategyIdYes
maxBarsHeldNoOptional time stop in bars.
slippageBpsNoDefault 1.
stopLossPercentNoOptional protective stop percentage.
takeProfitPercentNoOptional profit target percentage.

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds genuinely valuable behavior beyond those: fill timing ('next bar's open') and cost modeling ('costs are charged per side'), plus a critical evaluation caveat about not judging on total return. No contradiction with annotations.

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 sentences, zero waste. The core purpose is front-loaded, the execution model follows, and the evaluation guidance closes. Every sentence earns its place and there is no redundancy with the schema or annotations.

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 complex tool with 13 parameters, a nested params object, and no output schema, the description covers the most agent-critical facts: scope, execution model, and how to interpret the return value ('risk-adjusted metrics alongside the raw return'). Remaining gaps — how the nested params object is structured, where valid strategyIds come from, and the context-dependent 'default: the chart' behavior — are not addressed, but the description's emphasis on evaluation criteria is the highest-value missing piece for correctness.

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 69%, so the schema already documents most parameters and the description need not repeat them. The description does add meaning tying to parameters — 'charged per side' clarifies feeBps semantics, and 'one set of parameters' scopes the nested params object. But it doesn't explain how the params object maps to strategy inputs or clarify the relationship among ref, exchange, and symbol, so it only partially compensates for the uncovered 31%.

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 ('backtest') and resource ('one built-in strategy'), with a scope qualifier ('one set of parameters'). This clearly distinguishes the tool from siblings like screener_backtest (which presumably backtests screener results across many strategies) and strategy_research. An agent can tell what this tool does 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 Guidelines4/5

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

The scoping language 'one built-in strategy with one set of parameters' gives clear context for when to invoke this tool, and the instruction to 'judge on risk-adjusted metrics, not on total return' is actionable usage guidance. However, it never names an alternative explicitly (e.g., screener_backtest) or states exclusions, so it stops short of full routing guidance.

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

calendar_upcomingA
Read-onlyIdempotent
Inspect

Scheduled events ahead: the next funding settlements for a contract, the Bitcoin halving projected from live block height, difficulty retargets, monthly options expiry, CME settlement and non-farm payrolls. Every row states where its date came from — live, a published rule, an estimate, or the user — because a halving projected from block arrival and an expiry fixed by convention are not equally certain. Use it before saying anything about what happens next; nothing else here looks forward. FOMC and CPI are absent on purpose: their dates are announced rather than derivable, so this does not have them.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoHorizon ahead. Default 30, max 365.
limitNoDefault 20, max 50.
impactNoOnly events at or above this impact.
symbolNoContract for funding settlements. Defaults to the charted symbol.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnly, non-destructive, idempotent behavior, so the description's additional job is to add behavioral context. It does this well by revealing that date provenance varies (live, published rule, estimate, user) and that the tool intentionally omits non-derivable events. This gives the agent useful expectations about certainty and scope beyond 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.

Conciseness5/5

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

The description is front-loaded with the tool's scope, then explains provenance and exclusions in the second sentence. Every sentence earns its place: the event list establishes coverage, the provenance sentence shapes expectations, and the exclusion sentence prevents misuse. It is verbose but information-dense rather than padded.

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 stating that each row indicates its date source and explaining the certainty differences between derived and fixed dates. It also covers intentional gaps like FOMC/CPI. A minor gap is that it does not describe the full return shape or other row fields, but the tool is simple and the provided context is sufficient for correct invocation.

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 all four parameters already have descriptions in the schema. The description does not add new meaning to days, limit, impact, or symbol, so the baseline of 3 applies. It does not compensate for missing schema information because none is missing.

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 identifies a specific resource—upcoming scheduled events—and enumerates the exact event types it covers (funding settlements, Bitcoin halving, difficulty retargets, options expiry, CME settlement, non-farm payrolls). It also distinguishes the tool from all siblings by stating 'nothing else here looks forward.' This is far beyond a tautological restatement of the name.

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 explicitly says 'Use it before saying anything about what happens next; nothing else here looks forward,' giving a clear when-to-use condition. It also explains deliberate exclusions (FOMC and CPI) because their dates are announced rather than derivable, which indirectly tells the agent not to expect them here. It stops short of naming a specific alternative tool for those announced-event cases, so it is not a perfect 5.

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

catalog_describeA
Read-onlyIdempotent
Inspect

Full detail for one catalogue entry: an indicator's parameters and defaults, a formula function's signature, or a strategy's parameters. Call this before passing parameters you have not seen.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
kindYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds value by disclosing what the call returns for each kind (parameters/defaults, signature, strategy parameters), which helps the agent predict the outcome. It does not cover error behavior for unknown ids, but that is a minor gap for a simple read-only lookup.

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, no filler. The first sentence front-loads the purpose and enumerates the kind-specific returns, and the second delivers a direct usage directive. Every word 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?

For a simple two-parameter, read-only lookup with rich annotations and no output schema, the description covers what the tool does, what it returns per kind, and when to call it. It is nearly complete; only id provenance and unknown-entry error behavior are unaddressed, and neither is critical.

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?

With 0% schema description coverage, the description must carry the semantic weight, and it meaningfully does so for kind: it maps each enum value to the form of detail returned. The id parameter is left as an implied catalogue-entry reference with no guidance on where valid ids come from (e.g., catalog_search), which is a partial gap.

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 clear verb-plus-resource purpose: 'Full detail for one catalogue entry' with the detail types enumerated (indicator parameters/defaults, formula signature, strategy parameters). It is cleanly distinguishable from the sibling catalog_search, which finds entries, whereas this tool returns full detail for a single entry identified by kind and id.

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?

'Call this before passing parameters you have not seen' is explicit, actionable when-to-use guidance tied directly to downstream tool calls. It does not name alternatives like catalog_search or state when not to use the tool, so it stops short of a full 5, but the use condition is unambiguous.

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

chart_add_indicatorAInspect

Put an indicator on the chart. studyId is an id or a common name ("ema20", "bollinger"); catalog_describe lists parameters. Omitted ones use the default. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
studyIdYes

TDQS

A4.4/5.0
Behavior4/5

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

The description states 'Changes the chart you are building,' which reinforces the annotations' readOnlyHint=false and discloses the mutation side effect. It also adds the default-value behavior for omitted params and the linking step, which are useful beyond the schema and annotations. No contradiction with annotations.

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 sentences front-load the core purpose, then add parameter guidance, default behavior, and the chart_link follow-up. Every sentence earns its place and there is no repetition of schema data.

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 two-parameter mutation tool with no output schema, the description covers invocation, parameter resolution, default behavior, and post-call chart linking. It is complete enough to call safely; a small gap is not describing what happens with an invalid or unrecognized studyId.

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?

With 0% schema description coverage, the description compensates by explaining studyId as an id or common name with concrete examples ('ema20', 'bollinger') and delegating params to catalog_describe for details. It could enumerate params, but it clearly orients the agent on how to populate both fields.

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 opens with a specific action and resource: 'Put an indicator on the chart.' It clearly distinguishes the tool from sibling mutation tools like chart_remove_indicator, chart_toggle_indicator, and chart_update_indicator by describing the add operation.

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 practical usage context: studyId can be an ID or common name, catalog_describe is the source for parameters, and chart_link should be called when finished so the person can open the chart. It does not explicitly name alternate chart tools, but the workflow around building and sharing a chart is clear.

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

chart_imageAInspect

See the chart you are building: returns a PNG of it -- candles, volume, every indicator and drawing -- rendered the way Basis draws it, plus the exact figures it shows. Use it to check structure, levels and what you drew before you describe them. Build first with the chart tools, or pass symbol, timeframe, indicators and levels to build and look in one call. Pixels are for shape; quote numbers from the figures or the data tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoBars to show, 20-500. Default 150, widened to include every drawing.
sizeNosmall 800x480, medium 1200x720 (default), large 1600x960.
levelsNoPrices to mark as horizontal lines, or {price, label, color}.
marketNo
symbolNoOptional: set the instrument in this call.
exchangeNo
timeframeNoOptional, e.g. 15m, 4h, 1d.
indicatorsNoIds or common names ("ema50", "rsi", "bollinger"), or {studyId, params}.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are sparse (readOnlyHint=false, openWorldHint=true), so the description carries the behavioral burden. It discloses that the tool can both render the existing chart and build one from provided parameters, and it warns that pixels are for shape while exact numbers should come from figures or data tools. This is useful beyond 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.

Conciseness5/5

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

The description is compact and front-loaded: purpose first, then usage guidance, then a practical caveat about numeric precision. Each sentence earns its place, and there is no filler.

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

Completeness4/5

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

With no output schema, the description usefully mentions that the response includes both a PNG and the exact figures shown. It also covers the two usage paths and the main parameter groups. It stops short of detailing response structure or persistence effects of one-call building, but these are not critical gaps for typical invocation.

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 high at 75%, and the description reinforces the meaning of key parameters by explaining that symbol, timeframe, indicators, and levels can be passed to build a chart in one call. It adds workflow context without needing to restate the schema's field-level descriptions.

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 the specific resource (a PNG of the current chart) and its exact contents: candles, volume, indicators, drawings, and the figures it displays. It also distinguishes the tool from sibling chart tools by framing it as the way to 'see' what has been built.

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 clearly says when to use the tool ('to check structure, levels and what you drew before you describe them') and explains the two entry modes: build first with chart tools, or pass symbol/timeframe/indicators/levels to build and view in one call. It does not explicitly name an alternative tool, but the guidance is clear enough.

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

chart_remove_indicatorAInspect

Take an indicator off the chart. Identify it by instanceId from chart_state. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYes

TDQS

A4.1/5.0
Behavior4/5

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

The description adds workflow behavior beyond the annotations: the operation changes the chart being built, and chart_link must be called afterward for the result to be openable. It also tells the agent to source instanceId from chart_state, which is useful behavioral context. 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.

Conciseness5/5

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

Three short sentences are front-loaded with the core action, then the parameter source, then the required follow-up workflow. Every sentence earns its place and there is no filler.

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

Completeness4/5

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

For a one-parameter mutation with minimal annotations, the description covers the action, the parameter source, and the essential follow-up (chart_link). It does not cover failure modes or explicitly rule out sibling tools, but an agent has enough to invoke 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 description coverage is 0%, so the description must supply meaning for the only parameter. It does so by explaining that instanceId comes from chart_state, giving the agent a concrete way to obtain the value. It does not describe exact format, but the schema already gives the type and required status.

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 uses a clear action ('Take an indicator off the chart') and identifies the resource and the key input source ('instanceId from chart_state'). It is easy to understand, though it does not explicitly distinguish removal from the sibling chart_toggle_indicator, so it is not fully differentiated.

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 usage context: this mutates the chart being built and should be followed by chart_link so the person can open the chart. It does not explicitly state when to prefer this over chart_toggle_indicator or chart_update_indicator, so it lacks exclusions.

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

chart_set_instrumentAInspect

Point the chart at a market. Venue and symbol as the exchange writes them, e.g. BTCUSDT on binance. This changes the chart you are building, which the person opens through chart_link.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNo
symbolYes
exchangeNo

TDQS

A3.6/5.0
Behavior3/5

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

With all annotations false, the description carries the burden. It discloses that the tool changes the chart being built and implies a side effect, but it does not mention idempotency, reversibility, or any potential impact on existing indicators or settings. The statement 'This changes the chart you are building' adds some transparency but is thin for a mutating tool.

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

Conciseness5/5

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

The description is one concise sentence plus an example and a contextual note. The main action is front-loaded, and every sentence adds meaning. There is no fluff, making it efficient and easy to parse.

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

Completeness2/5

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

The tool has three parameters with one required and two enums, yet the description does not clarify that only symbol is required while exchange and market are optional. It also fails to explain the 'market' parameter, leaving the agent to guess. The effect on the chart is mentioned, but the description is incomplete for a tool with these parameters and no output schema.

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 0%, so the description must compensate. It explains the format for symbol and exchange ('as the exchange writes them') and gives an example, but it does not address the 'market' parameter (spot/futures) at all. The description adds value for two of three parameters but leaves the third entirely undocumented.

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 clear action ('Point the chart at a market'), names the resource (chart instrument), and provides a concrete example (BTCUSDT on binance). It also explains the effect on the chart being built, distinguishing it from other chart manipulation tools like chart_set_timeframe or chart_set_type by the specific verb and context.

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?

The description implies when to use this tool (when building a chart and needing to set the market) but does not explicitly compare it to alternatives or state when not to use it. It mentions the chart is linked via chart_link, which gives some context, but there is no exclusionary guidance.

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

chart_set_timeframeAInspect

Change the chart timeframe, e.g. 15m, 1h, 4h, 1d. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations are all false and uninformative, so the description carries the behavioral disclosure burden. It explains that the tool modifies the chart being built and that the result is not accessible until chart_link is called, which is a useful behavioral caveat. A simple setter does not require extensive side-effect documentation.

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, no filler, with the key action first and the required follow-up second. Every sentence earns its place.

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 single-parameter state-changing tool, the description covers what is changed, gives valid example inputs, and states the necessary follow-up call. Nothing essential is missing for an agent to invoke 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?

The schema only defines timeframe as a string with no enum or format, so the description's examples ('15m, 1h, 4h, 1d') add essential meaning. It does not provide a complete allowed-values list, but the examples are enough for common usage.

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

Purpose5/5

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

The description uses a specific verb ('Change') with a precise resource ('the chart timeframe') and provides concrete examples ('15m, 1h, 4h, 1d'). It clearly differentiates the tool from siblings like chart_set_instrument and chart_set_type.

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

Usage Guidelines4/5

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

The description places the tool in the chart-building workflow and explicitly instructs calling chart_link afterward so the person can open the chart. It does not enumerate alternatives, but the purpose is distinctive enough that an agent can infer when this tool is appropriate.

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

chart_set_typeAInspect

Change how price is drawn — candles, heikin ashi, line, renko, footprint and others. A wrong id is refused, and the refusal lists every one that works. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
chartTypeYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations provide no hints (all false), so the description carries the burden. It discloses that invalid ids are rejected and the error lists valid options, and that the tool mutates the chart being built. It also mentions the follow-up step of calling chart_link. This goes beyond the annotations, though it doesn't cover every possible side effect.

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 the core action and examples, then error behavior and workflow hint. No fluff; every sentence adds value.

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 single-parameter tool with no output schema, the description covers the purpose, examples, error handling, and the necessary follow-up action (chart_link). It's sufficient for an agent 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 0% with no enum, so the description must clarify the chartType parameter. It lists example values (candles, heikin ashi, line, renko, footprint) and notes that a wrong id is refused, implying the parameter accepts an id. This adds meaning beyond the bare string type.

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

Purpose5/5

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

The description states a specific verb ('Change how price is drawn') and resource (the chart's price display), with concrete examples (candles, heikin ashi, line, renko, footprint). It clearly distinguishes from sibling tools like chart_set_instrument or chart_set_timeframe by focusing on the drawing style.

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: it's for changing the chart type while building a chart, and instructs to call chart_link afterward. It doesn't explicitly name alternatives, but the purpose is clear enough that an agent would know when to use this tool. It also mentions error handling (wrong id refused) which guides usage.

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

The chart you are building for this person: venue, symbol, timeframe, chart type, every indicator with its instance id and parameters, and every drawing. Start here when you need an instance id, and call it again after changes to confirm what landed. Finish with chart_link to give the person something to open.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this is read-only and idempotent. The description adds useful context by explaining the state includes every indicator and drawing with instance IDs, and that after modifications the tool can be re-called to confirm what landed. This goes beyond annotations without contradicting them.

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 no filler. The content and primary use case are front-loaded, with the follow-up action (chart_link) placed at the end. Every clause earns its place.

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 zero-parameter read-only state tool, the description covers what the state contains, why an agent would call it, when to call it again, and the follow-up tool to use. No additional behavioral or return-value information is needed for correct invocation.

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 has no parameters, and the input schema reflects that with an empty properties object. There is nothing for the description to add about parameters; the baseline of 4 applies, and the description appropriately focuses on the returned state rather than parameters.

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 the exact resource—the chart state for a specific person—and enumerates its contents: venue, symbol, timeframe, chart type, indicators with instance IDs, and drawings. It also states an explicit use case, retrieving instance IDs, which distinguishes it from chart_* sibling actions like chart_set_instrument or chart_add_indicator.

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 explicit when-to-use guidance: 'Start here when you need an instance id' and 'call it again after changes to confirm what landed.' It also directs the final step to chart_link. It lacks explicit when-not-to-use or alternative comparisons, but the context is clear enough for an agent to decide when to invoke it.

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

chart_toggle_indicatorAInspect

Hide or show an indicator without removing it — useful for comparing a chart with and without something. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYes

TDQS

A4/5.0
Behavior4/5

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

The description explains that the operation changes the chart being built and that chart_link must be called afterward, which goes beyond the annotations. It also clarifies that the indicator is hidden/shown rather than destroyed, aligning with destructiveHint=false and readOnlyHint=false.

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

Conciseness5/5

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

The description is two sentences long, front-loads the core purpose, and every sentence earns its place. It is clear, direct, and free of unnecessary detail.

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?

The tool is simple with one parameter and no output schema, and the description covers purpose, usage context, and mutation behavior. However, the missing explanation of instanceId is a notable gap that prevents the description from being fully self-sufficient.

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

Parameters2/5

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

The description does not explain what instanceId refers to; schema coverage is 0%. While the tool name suggests it identifies an indicator, the definition leaves the parameter meaning implicit and does not compensate for the schema's lack of description.

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 ('hide or show') and resource ('an indicator'), and differentiates itself from removal with 'without removing it.' It clearly communicates the tool's purpose and distinguishes it from sibling tools like chart_remove_indicator.

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

Usage Guidelines4/5

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

The description gives clear context: it is useful for comparing a chart with and without an indicator, and it instructs the agent to call chart_link when done. It does not explicitly spell out when not to use it, but the 'without removing it' phrasing implies the boundary with removal tools.

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

chart_update_indicatorAInspect

Retune an indicator already on the chart. Identify it by the instanceId from chart_state, not by its study id — the same indicator can be on the chart more than once at different settings. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
instanceIdYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate this is not read-only and not destructive, aligning with the description stating it 'changes the chart you are building'. It adds a workflow requirement (call chart_link) and clarifies the identification nuance, providing useful behavioral context beyond 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.

Conciseness5/5

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

Two sentences with no waste, front-loading the core purpose and then adding the identification and workflow notes. Efficient and well-structured.

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?

The description covers the essential steps: identify by instanceId, change settings, and link the chart. It lacks details on the params structure and error handling, but given the simplicity and the existence of sibling tools, it's reasonably complete for an agent to invoke correctly.

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?

The description explains that instanceId is from chart_state and that the same indicator can appear multiple times, which adds meaning beyond the schema. However, it doesn't elaborate on the structure of the 'params' object, which has 0% schema coverage, leaving the agent to infer what settings to pass.

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 'Retune' with a clear resource 'indicator already on the chart' and differentiates from siblings by emphasizing the instanceId identification rather than study id. This distinguishes it from chart_add_indicator, chart_remove_indicator, and chart_toggle_indicator.

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?

Provides context that instanceId comes from chart_state, implying the agent must fetch chart_state first, and mentions the workflow of calling chart_link after changes. It doesn't explicitly name alternative tools or state when not to use it, but the phrasing implies other tools for add/remove.

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

crypto_quant_guideA
Read-onlyIdempotent
Inspect

Domain knowledge for a crypto analysis: the constraints of the topic, the Basis tool chain, and — the part worth calling for — findings Basis has actually measured, each with its sample and verdict, plus the conventional readings it has NOT measured, marked as such. Call it before analysing a chart pattern, interpreting an indicator level, designing a strategy or judging a result that looks strong. It carries no live market data.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, openWorld false, and non-destructive behavior. The description adds value beyond these by explaining that the tool contains no live market data and that its findings include measured sample/verdict pairs plus clearly marked unmeasured conventional readings. This gives the agent an accurate model of what the tool will and will not provide.

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?

The description is two sentences and front-loads the core nature of the tool before adding usage guidance. It is dense but not wasteful; nearly every clause adds a distinct piece of information. The 'part worth calling for' aside is slightly editorial but does not undermine clarity.

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?

Given the simple one-parameter shape and existing annotations, the description covers the tool's content, its non-live nature, and when to call it. However, with no output schema and no per-topic explanation, the agent is left to infer what each enum value will produce and what the returned 'verdict' or 'sample' structure looks like. Adequate, but with meaningful gaps.

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

Parameters2/5

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

There is one required enum parameter with 0% schema description coverage, so the description must compensate. It mentions 'topic' once but never explains the eleven enum values or how choosing one affects the returned knowledge. For example, an agent cannot tell from the description what 'workflow' or 'whale-positioning' would return. The enum names are somewhat self-descriptive, but the description itself does not provide the needed semantics.

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 a knowledge/domain-guide resource for crypto analysis and lists concrete content: topic constraints, the Basis tool chain, measured findings with sample and verdict, and unmeasured conventional readings marked as such. It does not use an explicit retrieval verb and does not name a sibling, but the 'no live market data' boundary distinguishes it from market-data tools in the sibling list.

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

Usage Guidelines4/5

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

The description gives explicit call contexts: 'Call it before analysing a chart pattern, interpreting an indicator level, designing a strategy or judging a result that looks strong.' It also states a clear limitation ('It carries no live market data'), though it does not name specific alternative tools or say when not to use it beyond that live-data exclusion.

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

daytrade_opportunity_scanA
Read-onlyIdempotent
Inspect

Run one symmetric long/short scan over the same top-volume universe and return rule-independent breadth, 24h liquidity semantics and ranked directional candidates. Use this first for comprehensive day-trade or scalp discovery; then deep-dive only the shortlist with derivatives/order-flow tools. A low match count is never reported as breadth.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
quoteNo
lookbackNoDefault 300.
longRulesYes
timeframeNoDiscovery timeframe; normally 15m or 1h.
shortRulesYes
limitPerSideNoCandidates returned per direction. Default 10, max 25.
universeSizeNoDefault 100.
manualSymbolsNoOptional symbols forced into the universe before current-volume ranking.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: the scan is 'symmetric', uses 'the same top-volume universe', and returns 'rule-independent breadth' and '24h liquidity semantics'. The specific caveat that 'a low match count is never reported as breadth' is valuable and prevents misinterpretation of results. No contradiction with annotations.

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

Conciseness5/5

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

The description is three sentences with no filler: core action and outputs, usage sequence, and an important caveat. It is front-loaded with 'Run one symmetric long/short scan...' and every sentence adds distinct value. Ideal length for the information conveyed.

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?

This is a complex 9-parameter tool with no output schema, and while the description explains the broad output categories and workflow, it does not specify the return format, how breadth vs. candidates are represented, or how parameters like quote/timeframe interact with the scan. It is adequate for initial orientation but not fully complete for a tool of this complexity; the agent would likely need to inspect the schema or call the tool to fully understand the results.

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

Parameters2/5

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

With 56% schema description coverage, the description needed to compensate by explaining parameter intent, but it does not address individual parameters beyond implying longRules/shortRules and universeSize through 'long/short' and 'top-volume universe'. It adds no guidance for quote, lookback, timeframe, limitPerSide, or manualSymbols. The schema descriptions carry the main burden, and the tool description does not enhance parameter understanding meaningfully.

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: 'Run one symmetric long/short scan over the same top-volume universe' and enumerates concrete outputs ('rule-independent breadth, 24h liquidity semantics and ranked directional candidates'). It also distinguishes itself from downstream analysis tools by positioning itself as the first pass before deep-dive with derivatives/order-flow tools. This is far more specific than a generic 'scan' and leaves little ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description gives explicit guidance: 'Use this first for comprehensive day-trade or scalp discovery; then deep-dive only the shortlist with derivatives/order-flow tools.' This clearly tells the agent when to invoke this tool and what to do next. However, it references tool categories rather than specific sibling names like 'screener_run' or 'orderflow_read', so the routing is clear but not as precise as naming exact alternatives.

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

drawing_addAInspect

Draw on the chart. Points are {time, price} in chart coordinates — time in seconds, matching the candle timestamps a data handle reports. A horizontal line needs one point; a trendline or box needs two. Both numbers must be copied from a tool result — a summary's max with its maxAt, a crossing with its time — never read off your own prose or carried over from a different computation. The result echoes back what was drawn: check it against the figures you are about to quote, because a line that disagrees with the paragraph beside it is worse than no line. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoA handle from market_candles. Given one, the points are checked against the window it covers and a drawing that would land outside it is refused. Pass it whenever the coordinates came from a computation.
fillNoPalette fill colour, or “none”.
textNoText for annotation tools.
toolYesA tool id from catalog_search with kind "drawing" — e.g. horizontalLine, trendLine, rectangle, fibRetracement, longPosition or shortPosition. Prefer position_draw_on_chart for an entry/stop/target box. Separators and capitalisation are forgiven; an id that names no tool is refused.
colorNoA palette name. “up” and “down” are the reserved green and red — they assert a bullish or bearish claim, so use them for position zones and not for a measurement.
widthNoStroke width in pixels, 1 to 6.
levelsNoCustom Fibonacci ratios. Example: [0, 0.382, 0.5, 0.618, 0.786, 1, 1.272, 1.618].
pointsYes
symbolNoDefaults to the charted symbol.
opacityNoStrength of the whole drawing, 0.1 to 1. Fade a level that is context rather than the decision.
arrowEndNo
fontSizeNoLabel/text size from 8 to 28.
lineStyleNo
showStatsNo
arrowStartNo
extendLeftNo
showLabelsNo
extendRightNo
fillOpacityNoShape fill opacity from 0 to 1.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are all false (readOnly, destructive, idempotent, openWorld), so the description carries the full burden. It discloses that the tool 'Changes the chart you are building', explains validation behavior (refused if outside window when ref given), and describes the response echo ('echoes back what was drawn') – all beyond the schema.

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?

The description is ~150 words and front-loaded with the core purpose and coordinate rule. Every sentence adds value, though a few details (e.g., 'The result echoes back...') could be tightened without losing information. Still, it's appropriately sized for a 19-parameter tool.

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?

Given the tool's complexity (19 params, no output schema, 58% schema coverage), the description covers essential context: coordinate semantics, point counts, validation with ref, sibling routing, and the final chart_link step. Nothing an agent needs to invoke it correctly is missing.

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 58%, so the description adds substantial meaning. It explains the points format (time in seconds matching candle timestamps, one point for horizontal line, two for trendline/box), the tool parameter format, the reserved meaning of 'up'/'down' colors, and when to pass the ref handle. This complements the schema effectively.

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 ('Draw') and resource ('the chart'), and immediately clarifies coordinate format. It distinguishes from position_draw_on_chart by name and explains when to prefer that sibling, so an agent can tell them apart.

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

Usage Guidelines5/5

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

Gives explicit when-to-use guidance: 'Prefer position_draw_on_chart for an entry/stop/target box' and instructs to 'call chart_link when you are done'. It also warns against using stale or self-generated coordinates, providing clear boundaries for correct usage.

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

drawing_deleteA
Destructive
Inspect

Delete a drawing. This cannot be undone — the shape is not recoverable — so the user is asked first. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
symbolNo

TDQS

A4/5.0
Behavior5/5

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

Annotations indicate destructiveHint=true deland readOnlyHint=false, but the description goes further by explaining that the deletion 'cannot be undone' and the shape is 'not recoverable,' and that the user is asked first. It also discloses that the tool changes the chart, adding context beyond what annotations alone provide. There is no contradiction with 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.

Conciseness5/5

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

The description is two tight sentences that front-load the main action and then deliver irreversibility, user confirmation, and a follow-up step. Every sentence earns its place and there is no fluff.

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 low-complexity tool, the description covers the operation, consequences, user confirmation, and follow-up action. However, the parameters remain entirely undocumented, and with no output schema, the agent has no guidance on what values to pass or what the response will be. This leaves a meaningful gap in the complete call context.

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

Parameters1/5

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

Schema description coverage is 0%, and there are two parameters (id and symbol) with no property descriptions. The description does not mention either parameter or clarify what 'id' or 'symbol' refer to. Since the description fails to compensate for the missing schema information, an agent cannot confidently determine how to populate the parameters.

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: 'Delete a drawing.' It is unambiguous and clearly distinct from sibling tools like drawing_add and drawing_style, while also explaining the consequence of deletion. An agent knows exactly what operation this tool performs.

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

Usage Guidelines4/5

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

The description provides clear context: deletion is irreversible, requires user confirmation, and modifies the chart being built. It also instructs the agent to call chart_link afterward so the person can open the chart. It does not explicitly mention alternatives or when not to use the tool, but the follow-up guidance makes the expected usage clear.

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

drawing_freehandAInspect

Create one or more precise freehand strokes as a single undoable composition. A stroke accepts arbitrary chart points; line accepts two endpoints; ellipse and rectangle accept two opposite corners and are generated smoothly. Use highlighter for translucent emphasis and brush for circles, paths and marks. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNo
fillNoPalette fill colour, or “none”.
modeNo
textNoText for annotation tools.
colorNoA palette name. “up” and “down” are the reserved green and red — they assert a bullish or bearish claim, so use them for position zones and not for a measurement.
widthNoStroke width in pixels, 1 to 6.
symbolNo
opacityNoStrength of the whole drawing, 0.1 to 1. Fade a level that is context rather than the decision.
strokesYes
arrowEndNo
fontSizeNoLabel/text size from 8 to 28.
lineStyleNo
showStatsNo
arrowStartNo
extendLeftNo
showLabelsNo
extendRightNo
fillOpacityNoShape fill opacity from 0 to 1.

TDQS

A4.4/5.0
Behavior4/5

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

The description adds meaningful behavior beyond annotations: it discloses that the operation changes the chart ('Changes the chart you are building') and highlights non-obvious grouping semantics ('single undoable composition'). It also mandates a follow-up action (call chart_link). Annotations already indicate mutability, so the extra context about composition and workflow earns high marks.

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?

Four sentences, roughly 75 words, with no filler. The main purpose is front-loaded, shape semantics follow, mode guidance comes next, and the workflow note closes. Every sentence contributes a distinct piece of actionable 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?

Given the tool's 18 parameters and no output schema, the description covers the essential behavioral and workflow aspects: shape construction, mode selection, and the need to call chart_link afterward. It omits potential prerequisites (e.g., needing an existing chart) and some optional display params, but these are less critical for basic invocation, so the definition is nearly complete.

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 description coverage is only 39%, and the description compensates for key parameters: it explains the mode enum ('highlighter' vs 'brush'), and clarifies the shape/points structure (line takes two endpoints; ellipse/rectangle take opposite corners). This is critical for correct invocation. It does not cover all remaining params, but the most semantically ambiguous ones are addressed.

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 ('Create'), resource ('freehand strokes'), and the unique composition behavior ('as a single undoable composition'). It clearly differentiates the tool by enumerating supported shapes (stroke, line, ellipse, rectangle) and their input conventions, so an agent can distinguish it from drawing_add, drawing_style, and position_draw_on_chart.

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?

Provides clear context within the tool: 'Use highlighter for translucent emphasis and brush for circles, paths and marks' directs mode selection, and 'call chart_link when you are done' gives a follow-up workflow step. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of full exclusion guidance.

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

drawing_styleAInspect

Change how an existing drawing looks. Get the id from chart_state. Use it to keep several drawings apart — a measured level and a projected one should not be the same colour, and a reader has only the picture to tell them by. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFrom chart_state.
fillNoPalette fill colour, or “none”.
textNoText for annotation tools.
colorNoA palette name. “up” and “down” are the reserved green and red — they assert a bullish or bearish claim, so use them for position zones and not for a measurement.
widthNoStroke width in pixels, 1 to 6.
symbolNoDefaults to the charted symbol.
opacityNoStrength of the whole drawing, 0.1 to 1. Fade a level that is context rather than the decision.
arrowEndNo
fontSizeNoLabel/text size from 8 to 28.
lineStyleNo
showStatsNo
arrowStartNo
extendLeftNo
showLabelsNo
extendRightNo
fillOpacityNoShape fill opacity from 0 to 1.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly=false, so mutation is known. The description adds state-changing behavior ('Changes the chart you are building') and a workflow expectation (call chart_link), which is useful beyond annotations. No contradictions.

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 tight sentences, front-loaded with purpose, followed by usage context, then workflow. 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 16-parameter mutation tool with no output schema, the description covers the core workflow (id source, purpose, final link) but leaves many parameter semantics to an incomplete schema. An agent can call it, but incomplete parameter documentation is a gap.

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

Parameters2/5

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

Schema coverage is only 56%, and the tool description does not compensate: it only repeats id source ('from chart_state') and advises on colour usage. Several parameters (lineStyle, showStats, arrowStart/End, extendLeft/Right, showLabels) remain undocumented in both schema and description.

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 opens with a clear verb+resource ('Change how an existing drawing looks'), which immediately distinguishes this from drawing_add/drawing_delete/freehand siblings. It also tells the agent where to get the id (chart_state). It doesn't explicitly name sibling alternatives, so not a 5.

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?

Provides concrete context: use distinct colours for measured vs projected levels and call chart_link after changes so the person can open it. It explains when to use it (after drawing exists) but doesn't mention alternatives or when not to use, hence 4.

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

fibonacci_drawAInspect

Draw a Fibonacci study directly on the chart with exact candle coordinates and optional custom ratios. Supports retracement, extension, channel, time, fan, circle, spiral, arc and wedge variants. Prefer swing timestamps/prices returned by market_candles computations rather than visual guesses. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNo
fillNoPalette fill colour, or “none”.
textNoText for annotation tools.
toolYes
colorNoA palette name. “up” and “down” are the reserved green and red — they assert a bullish or bearish claim, so use them for position zones and not for a measurement.
widthNoStroke width in pixels, 1 to 6.
levelsNo
pointsYes
symbolNo
opacityNoStrength of the whole drawing, 0.1 to 1. Fade a level that is context rather than the decision.
arrowEndNo
fontSizeNoLabel/text size from 8 to 28.
lineStyleNo
showStatsNo
arrowStartNo
extendLeftNo
showLabelsNo
extendRightNo
fillOpacityNoShape fill opacity from 0 to 1.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, so the statement 'Changes the chart you are building' largely restates the mutation behavior rather than adding new safety context. It does add the useful follow-up workflow of calling chart_link, but does not disclose idempotency, replacement of existing studies, or any destructive edge cases.

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

Conciseness5/5

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

The description is tightly written in four sentences: what it does, supported variants, input guidance, and the necessary follow-up. Every sentence adds distinct information without repetition or padding.

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 19-parameter drawing tool, the description covers the core purpose, variants, required coordinate semantics, and the chart-link workflow well. It does not explain the output or persistence behavior, but there is no output schema and the mutation+hint workflow is largely captured.

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 only 37%, so the description needs to compensate. It adds useful meaning for the key inputs — 'exact candle coordinates' for points and 'optional custom ratios' for levels — and lists the tool variants. However, many parameters (ref, text, symbol, arrows, extents, lineStyle, showStats/showLabels) remain without meaningful semantic explanation in either the description or 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: 'Draw a Fibonacci study directly on the chart'. It also lists the supported variant families and describes the coordinate/ratio inputs, which clearly distinguishes it from generic drawing tools like drawing_add.

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

Usage Guidelines4/5

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

The description gives concrete guidance: prefer data from market_candles computations over visual guessesitions, and call chart_link after mutating the chart. It does not explicitly explain when to prefer drawing_add or freehand tools instead, but the Fibonacci-specific scope and workflow are clearly stated.

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

formula_evaluateB
Read-onlyIdempotent
Inspect

Evaluate a Basis formula expression over a loaded window. Functions are listed by catalog_search kind=formula; series named open, high, low, close, volume, returns and more. Multi-line with let bindings is supported; the last expression is the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoReuse a handle from market_candles instead of loading.
marketNoDefault: the chart.
reduceNo
symbolNoDefault: the chart.
exchangeNo
timeframeNoe.g. 1h, 4h. Default: the chart.
expressionYes
parametersNo
includeFormingNo

TDQS

B3.3/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so no contradiction exists. Beyond that, the description adds useful evaluation behavior: multi-line expressions with `let` bindings are supported, and the last expression is the result. This is meaningful behavioral context beyond the safety 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?

The description is compact and front-loaded: the first sentence states the core action, and the next two add expression vocabulary and syntax rules without fluff. It earns its length, though it could still have added param guidance without becoming bloated.

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

Completeness2/5

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

Given 9 parameters, nested objects, enums, and no output schema, the description is not complete enough. It does not explain what the evaluation returns, what `reduce` modes mean, how `parameters` maps into the expression, or how `includeForming` affects behavior. For a tool of this complexity, this is a significant gap.

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

Parameters2/5

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

Schema description coverage is only 44%, so the description must compensate, but it only clarifies the `expression` parameter via series names and `let` bindings. Parameters like `reduce`, `includeForming`, `parameters`, `exchange`, and `ref` remain unexplained in both schema and description, leaving a substantial semantic gap.

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 states the operation: 'Evaluate a Basis formula expression over a loaded window.' It names the expression domain, mentions available series (open, high, low, close, volume, returns), and points to catalog_search for function discovery. However, it does not explicitly differentiate itself from siblings like indicator_compute or market_candles.

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?

The description implies the tool is used when a formula needs to run over an already-loaded window and points to catalog_search for valid expressions, which gives context. It never states when not to use it or names alternatives, so the guidance remains implicit and partial.

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

hyperliquid_whale_readA
Read-onlyIdempotent
Inspect

Read current public Hyperliquid positions for a frozen, research-screened whale cohort. Returns account-normalized consensus, participation, agreement, effective-wallet count, single-wallet concentration, liquidity and optional recent fills for the focus symbol. Use this for whale/smart-money positioning as one evidence family, never as a standalone signal.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoFocus symbol; defaults to the charted symbol.
flowHoursNoRecent-flow window. Default 24h, range 1-168h.
topSymbolsNoMarket-consensus rows to return. Default 10, max 15.
maxFlowWalletsNoWallets sampled for fills. Default/max 4.
includeRecentFlowNoAlso inspect recent focus-symbol fills for at most four leading contributors.
minimumDayVolumeUsdNo24h Hyperliquid notional-volume floor. Default $5,000,000.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful context by explaining the frozen research-screened cohort and the specific computed outputs such as consensus, participation, agreement, effective-wallet count, and concentration. No contradiction with annotations.

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 with no filler. The most important action and scope are front-loaded, the output coverage is compactly enumerated, and the usage caveat earns its place as guidance for responsible use.

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 usefully lists key returned metrics, but does not describe return structure or formatting. This is a minor gap since the tool's purpose, parameters, and safety profile are otherwise well covered.

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?

The input schema has 100% description coverage for all six parameters, so the schema carries the semantic load. The description adds context about the focus symbol and optional recent fills, but does not need to explain parameters in detail. Baseline 3 is appropriate.

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 starts with a specific verb and resource: 'Read current public Hyperliquid positions for a frozen, research-screened whale cohort.' This clearly distinguishes the tool from general market-data siblings like orderflow_read or market_relationships by specifying both the data source and the cohort.

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

Usage Guidelines4/5

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

The description explicitly states when to use the tool: 'Use this for whale/smart-money positioning as one evidence family.' It also gives an exclusion: 'never as a standalone signal.' It does not name sibling alternatives, but the usage context and limitation are clear enough for an agent to decide.

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

indicator_computeA
Read-onlyIdempotent
Inspect

Run any indicator in the catalogue. Returns EVERY output series it has — Donchian gives three bands, MACD gives line, signal and histogram — each reduced, plus the indicator's own conventional levels so the reading can be interpreted against its actual scale. Pass a symbol to load and compute in one call, or a handle to reuse data. The forming bar is excluded unless you ask for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoReuse a handle from market_candles instead of loading.
plotNoOne output only. Usually omit: the others give the reading meaning.
marketNoDefault: the chart.
paramsNoDefaults are used for anything omitted.
reduceNo
symbolNoDefault: the chart.
studyIdYesFrom catalog_search.
exchangeNo
timeframeNoe.g. 1h, 4h. Default: the chart.
includeFormingNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds meaningful behavioral detail beyond those: it returns EVERY output series, reduces each series, includes conventional indicator levels for interpretation, and excludes the forming bar unless explicitly requested. This gives the agent a clear mental model of the tool's computation and default behavior.

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

Conciseness5/5

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

The description is three tight sentences with no waste. It front-loads the core purpose, then packs return behavior, examples, invocation modes, and a default exclusion into the remaining sentences. Every clause 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?

Given a 10-parameter tool with no output schema, the description covers the essential return shape, invocation modes, and a key default behavior. It could more precisely define what 'reduced' means for each reduce mode or note exchange/market defaults, but an agent can select and call the tool correctly with the information provided.

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 description coverage is 70%, so the description is expected to add some meaning. It does: 'symbol' vs 'ref' is clarified as load-and-compute versus reuse-handle, 'reduce' is implied by 'each reduced,' and includeForming is explained via 'forming bar is excluded unless you ask for it.' It does not clarify exchange defaults or the exact reduce modes, but it adds real value beyond the bare 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 opens with 'Run any indicator in the catalogue,' a specific verb and resource, and immediately clarifies the tool's output behavior with concrete examples (Donchian, MACD). It distinguishes itself from chart-focused siblings like chart_add_indicator by emphasizing that it computes and returns reduced output series rather than manipulating a chart.

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?

The description gives clear usage context: run any catalogue indicator, and provides two invocation routes ('Pass a symbol to load and compute in one call, or a handle to reuse data'). However, it does not explicitly state when not to use this tool or compare it to alternatives such as chart_add_indicator or catalog_search, leaving the selection criteria mostly implied.

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

market_candlesA
Read-onlyIdempotent
Inspect

Load price history and return a handle to it, plus a summary. The bars themselves are deliberately not returned — pass the handle to the compute tools instead. Defaults to whatever is on the chart.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoDefault 1000, max 50000.
marketNoDefault: the chart.
symbolNoDefault: the chart.
exchangeNo
timeframeNoe.g. 15m, 1h, 4h, 1d.
withDerivativesNoAlso load funding, open interest and positioning for this contract.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds critical behavioral detail: bars are not returned, only a handle and summary, and the tool defaults to the chart's instrument. This goes beyond what annotations provide and helps the agent understand the tool's unique contract.

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 concise sentences with no fluff. The key behavior (handle vs bars) is front-loaded, and the default behavior is stated at the end. Every word 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?

The tool has 6 parameters (all optional) and no output schema, but the description clearly explains the output (handle + summary) and the next step (pass handle to compute tools). It covers the essential workflow and default behavior. A minor gap is that the summary format is unspecified, but given the read-only nature and the handle pattern, this is sufficient for an agent to use the tool 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 83% (5 of 6 parameters have descriptions). The description adds a global 'Defaults to whatever is on the chart' statement, which clarifies that market, symbol, and possibly exchange can be omitted and will use chart context. This supplements the schema's per-field defaults (e.g., market and symbol already say 'Default: the chart') and covers exchange, which has no explicit default. The description adds value 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 states a specific action: 'Load price history and return a handle to it, plus a summary.' It also clarifies that bars are deliberately not returned, which distinguishes it from tools like indicator_compute or market_derivatives that might return data directly. This is clear and actionable.

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

Usage Guidelines4/5

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

The description explains the intended workflow: pass the handle to compute tools instead of using the bars directly. It also notes the default behavior of using whatever is on the chart, which tells the agent when parameters can be omitted. However, it does not explicitly name alternative tools or state when not to use this tool, leaving a small gap.

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

market_derivativesB
Read-onlyIdempotent
Inspect

Funding, open interest, positioning and taker flow for a loaded contract. Venues publish different subsets; anything a venue does not publish comes back as unavailable rather than zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYes

TDQS

B3.2/5.0
Behavior4/5

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

The description adds a valuable behavioral detail beyond the annotations: venues publish different subsets, and missing data comes back as unavailable rather than zero. This goes beyond the generic openWorldHint by explaining exactly how missing values will appear. It does not discuss auth or limits, but the read-only and idempotent annotations already cover that profile.

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

Conciseness5/5

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

The description is two sentences with no filler. The data categories are front-loaded, and the second sentence provides a necessary caveat about venue-specific availability. Every word earns its place.

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 single-parameter read-only tool, the description names the returned metrics and the key missing-data behavior, which is useful. However, it leaves the 'loaded contract' prerequisite and the meaning of `ref` undefined, so an agent still cannot confidently construct a valid request.

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

Parameters1/5

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

The sole parameter, `ref`, has 0% schema description coverage, and the description never explains what `ref` should contain or how it relates to a 'loaded contract.' With only one parameter, the description carries the full burden of explaining input semantics and fails to do so.

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 identifies specific data categories (funding, open interest, positioning, taker flow) and scopes them to 'a loaded contract,' which distinguishes this from sibling tools like market_candles or orderflow_read. It lacks an explicit verb such as 'fetch' or 'return,' and 'loaded contract' is not defined, but the core purpose is clear.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives like orderflow_read or market_relationships. It also does not explain what 'loaded contract' means or what state must exist before calling. The use case is only implied by the listed metrics.

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

market_dominanceA
Read-onlyIdempotent
Inspect

Current crypto market-cap structure from a server-cached aggregate source: real BTC and ETH dominance, total market cap/volume, tracked stablecoin share and leading asset shares with source and timestamps. Use this for BTC.D/rotation context. This is a current snapshot, not a historical dominance backtest series.

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 readOnly and idempotent, so safety is covered. Description adds that data comes from a server-cached aggregate source with source and timestamps, and emphasizes it's a current snapshot, which informs the agent about data freshness and potential lag. No contradictions.

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 with no filler. Front-loads the core data content, then adds usage guidance. 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?

For a no-parameter snapshot tool, the description covers what data is returned (market cap structure, dominance, stablecoin share), notes source/timestamps, and clarifies non-historical nature. Without an output schema, it provides enough context for an agent to understand the result, though it could be more specific about exact output format. Still complete for typical use.

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?

No parameters exist, so schema coverage is complete. The description doesn't need to explain parameters; baseline 4 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 purpose: reports current crypto market-cap structure including BTC/ETH dominance, total cap/volume, stablecoin share, and leading asset shares. Clearly distinguishes from historical backtest series, and mentions it's a current snapshot. This differentiates it from backtest_run and other historical tools.

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 advises using this tool for BTC.D/rotation context, giving a clear when-to-use. Also clarifies it's not a historical series, implying not for backtesting. Does not name specific sibling tools but provides sufficient guidance.

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

market_relationshipsA
Read-onlyIdempotent
Inspect

Professional multi-asset relationship analysis on timestamp-aligned closed-bar log returns. Returns a correlation matrix plus rolling correlation, OLS beta/alpha, R-squared, upside/downside correlation, relative performance, one-bar lead/lag diagnostics and a rolling log-price spread z-score versus a benchmark. Use this for BTC correlation, beta, pairs and relative-strength work; price-level correlation is deliberately not reported.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoDefault 1500, max 10000 per market.
marketNo
symbolsYes2 to 10 markets, e.g. ETHUSDT, SOLUSDT. Benchmark is added if omitted.
exchangeNo
benchmarkNoDefault BTCUSDT.
timeframeNoDefault chart timeframe.
rollingWindowNoLatest return observations. Default 90.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive, idempotent safety profile Mendable. The description adds substantial behavioral context beyond that: it specifies the input data basis (timestamp-aligned closed-bar log returns), the full set of computations, and a deliberate omission. This helps the agent understand what the call will and will not produce.

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?

The description is dense but not bloated; every listed output is relevant to an agent deciding whether to invoke the tool. However, the opening sentence is very long and front-loads a large enumeration of results before the 'Use this for' guidance appears. Slightly restructuring into two sentences would improve scannability, so it falls just short of 5.

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 enumerating the returned diagnostics in detail. It also gives the data basis and a key exclusion; combined with schema defaults and enums, an agent has enough context to call the tool correctly. It stops short of describing the structure of the correlation matrix or rolling series, but those are relatively inferable analytical concepts.

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 71%, so the schema already documents bars, symbols, benchmark, timeframe, and rollingWindow, while market and exchange are self-documenting enums. The description does not explain parameters individually, but it does clarify the analytical intent that connects them. Baseline 3 is appropriate because the structured schema carries most of the parameter semantics.

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 opens with a specific verb and resource: 'Professional multi-asset relationship analysis on timestamp-aligned closed-bar log returns.' It enumerates concrete outputs such as correlation matrix, OLS beta/alpha, and rolling spread z-score, which clearly separates it from siblings like market_candles and market_dominance. The tool's analytical identity is unmistakable.

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?

The description states explicit use cases: 'Use this for BTC correlation, beta, pairs and relative-strength work.' It also gives an explicit exclusion: 'price-level correlation is deliberately not reported,' which tells the agent when not to rely on this tool. This is actionable routing guidance even though no specific sibling tool is named.

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

news_detect_assetsA
Read-onlyIdempotent
Inspect

Which crypto assets a piece of text refers to. Word-bounded, so "button" does not match TON and "operation" does not match OP.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavioral detail beyond annotations: matching is word-bounded, with concrete examples showing that 'button' does not match TON and 'operation' does not match OP.

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 with no filler. The core purpose is stated first, and the word-boundary caveat is delivered with concrete examples. 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?

For a simple, read-only, idempotent tool with one parameter and no output schema, the description is nearly complete: it states the input, the task, and a key matching behavior. It could be more explicit about the output format, but the phrase 'which crypto assets... refers to' adequately implies a list of detected assets.

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 schema has one parameter, 'text', with 0% description coverage, so the description bears the burden. It clarifies that the input is a piece of text and gives word-boundary examples that help an agent understand what kind of string to pass. It does not specify length limits or case sensitivity, but for a single simple parameter this is adequate.

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 states the tool's function: identifying which crypto assets a piece of text refers to. It is specific about the resource (crypto assets) and input (text), though it lacks an explicit verb and does not distinguish itself from sibling tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like news_recent or catalog_search. The intended use is implied by the description, but no exclusions, prerequisites, or alternative tool references are provided.

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

news_recentA
Read-onlyIdempotent
Inspect

Recent crypto headlines with an impact score and the assets each one touches. Impact is a keyword heuristic, not a judgement about the market.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNoBase symbol, e.g. BTC. Omit for everything.
limitNoDefault 15, max 40.
minImpactNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds a meaningful caveat: 'Impact is a keyword heuristic, not a judgement about the market.' This clarifies that the impact score is not a predictive market signal, which is valuable for correct interpretation of results. This goes beyond the annotations and enhances transparency.

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

Conciseness5/5

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

The description is two sentences with zero redundancy. The first sentence states the core purpose and output, and the second provides an important caveat. It is front-loaded and every word contributes 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 read-only tool with no required parameters and no output schema, the description covers the main return values (headlines, impact score, assets) and adds the heuristic caveat. It does not specify the format or timeframe of 'recent,' but given the simplicity of the tool and the annotations covering safety, this is adequate. A minor gap is not explaining how the impact score relates to the minImpact filter, but that is implicit in the schema.

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 67% (asset and limit have descriptions; minImpact only has an enum). The description does not elaborate on any parameters, but the schema already documents them sufficiently. Since coverage is high, the baseline is 3, and the description adds no extra parameter context, so a 3 is appropriate.

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 clearly states what the tool does: retrieve recent crypto headlines, each with an impact score and the assets they touch. The verb 'Recent' and the specific output details (impact score, assets) distinguish it from siblings like news_detect_assets, which likely focuses on asset detection rather than providing a curated headline list with impact scores.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention any sibling tools or conditions for selection, such as 'for asset-specific analysis use news_detect_assets.' The only implicit usage is that it provides recent headlines, but there is no contrast or exclusionary language.

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

orderflow_readA
Read-onlyIdempotent
Inspect

Aggressor-side order flow: buy and sell volume separated by who crossed the spread, delta, the footprint by price level, the point of control, and absorption or stacked imbalance. Measured from the venue aggressor tag, not inferred from bar direction — use it when the question is who is being aggressive, which candles cannot answer. For one candle pass candleTime, which reads exactly that bar; otherwise it reads the last minutes. Report coveredMinutes, not the minutes asked for.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelsNoPrice rows. Default 12, max 40.
marketNoDefault: the chart.
symbolNoDefault: the chart.
endTimeNoWindow end, default now.
minutesNoDefault 15, max 60.
exchangeNo
timeframeNoWith candleTime. Defaults to the chart timeframe.
bucketSizeNoPrice bucket width. Omit unless matching a footprint on screen.
candleTimeNoA bar open time, s or ms: reads that whole candle.
includeSignalsNoAbsorption and stacked imbalance. Default true.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark it read-only, open-world, idempotent, and non-destructive. The description adds crucial behavioral nuance beyond those flags: that data is 'measured from the venue aggressor tag, not inferred from bar direction,' and that the tool 'reports coveredMinutes, not the minutes asked for.' Both details meaningfully affect how an agent interprets results and cannot be gleaned from the schema or annotations.

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

Conciseness5/5

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

The description is dense but every clause earns its place: it opens with the output content, states the methodological basis, provides a concrete when-to-use signal, explains the two calling modes, and closes with a key output caveat. It is front-loaded with the most decision-relevant information and contains 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 tool with 10 parameters, no output schema, and subtle temporal behavior, the description covers all essential context: what is returned, how it is measured, how to request single vs. multi-candle windows, and a behavioral quirk (coveredMinutes). An agent can invoke the tool correctly and interpret its results without further discovery.

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 90% and already explains most parameters, including the role of candleTime and bucketSize. The description adds a useful clarification by tying candleTime and minutes into a single mental model (exact bar vs. trailing window) and explicitly warns about the coveredMinutes mismatch. This goes beyond the schema's per-field documentation, though most parameter semantics remain in 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 opens with a precise inventory of what the tool computes ('buy and sell volume separated by who crossed the spread, delta, the footprint by price level, the point of control, and absorption or stacked imbalance') and explicitly contrasts it with candles ('use it when the question is who is being aggressive, which candles cannot answer'). This distinguishes it from the many chart/candle siblings and gives an agent an unambiguous picture of the tool's unique role.

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?

The description states exactly when to reach for this tool ('use it when the question is who is being aggressive'), and it differentiates from alternative candle-based analysis. It also provides explicit invocation guidance for the two modes ('for one candle pass candleTime... otherwise it reads the last minutes') and warns about the coveredMinutes discrepancy. This is actionable, not generic.

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

position_calculateA
Read-onlyIdempotent
Inspect

Risk-first position sizing with quantity, notional, margin, effective leverage, fees, funding, breakeven, liquidation estimate, target R multiples and warnings. Use position_plan_on_chart instead when the user should see the plan on the chart.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
stopYes
entryYes
equityYesAccount equity in quote currency.
feeBpsNoFee per side in basis points. Default 4.
targetsYesTake-profit prices and the percentage closed at each. Allocations should total 100.
leverageNoSelected venue leverage. Default 1.
fundingRateNoFunding per settlement as a fraction, e.g. 0.0001.
riskPercentYesEquity risked if the stop fills, in percent.
holdingHoursNoExpected holding time for the funding estimate.
fundingPerDayNoFunding settlements per day. Default 3.
maintenanceMarginRateNoFraction used for approximate liquidation. Default 0.005.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by listing the full set of computed outputs and noting that warnings are produced, which goes beyond the structured annotations. It does not describe internal calculation details or edge cases, but for a pure calculation tool this is adequate.

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

Conciseness5/5

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

The description is two sentences with zero waste. The first sentence front-loads the tool's purpose and output list, and the second provides a routing directive. Every word earns its place, making it easy to scan and act 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?

For a complex calculation tool with 12 parameters and many outputs, the description lists the outputs explicitly, which is the primary missing piece an agent would need. It does not explain how parameters interplay or what 'risk-first' means, but the schema covers most parameter semantics, and annotations cover side effects. No output schema exists, so the description's output list partially compensates. Overall adequate, though it could mention required inputs or units.

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 75%, meaning most parameters (9 of 12) already have descriptive text. The description itself does not add parameter-specific semantics; it only lists outputs. For the 25% without schema descriptions (side, stop, entry), the description offers no clarification, but these are fairly self-explanatory (side has an enum, stop/entry are numeric prices). Given high schema coverage, a baseline of 3 is appropriate.

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 clearly states the tool computes risk-first position sizing and enumerates the specific outputs (quantity, notional, margin, effective leverage, fees, funding, breakeven, liquidation estimate, target R multiples, warnings). It also distinguishes itself from the sibling position_plan_on_chart by naming the alternative, so an agent can tell them apart without inspecting schemas.

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

Usage Guidelines4/5

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

The description gives an explicit exclusion: 'Use position_plan_on_chart instead when the user should see the plan on the chart.' This provides a concrete when-not condition and names the alternative. However, it does not enumerate other potential alternatives (e.g., position_draw_on_chart) or state explicit conditions for when to choose this tool over others, leaving some context implicit.

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

position_draw_on_chartAInspect

The chart-only long/short position drawing tool. Draw an entry, stop and target box immediately when those price levels are known. It needs no account equity or risk percentage, performs no position sizing and places no order. Use position_plan_on_chart instead only when the user also wants quantity and risk calculations. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
stopYes
entryYes
symbolNo
targetYes
toTimeNoOptional end timestamp in seconds.
barsWideNoWidth when timestamps are omitted. Default 20 bars.
fromTimeNoOptional start timestamp in seconds.
timeframeNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are all false, so the description carries the full burden of behavioral disclosure. It clearly states that it needs no account equity or risk percentage, performs no position sizing, places no order, and changes the chart being built. It also instructs to call chart_link afterward, which is a required side-effect. No contradictions with annotations.

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

Conciseness5/5

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

The description is three sentences with no wasted words. It front-loads the purpose, then lists exclusions, names the alternative, and ends with the required follow-up action. Every sentence contributes directly to tool selection and correct invocation.

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 drawing tool with 9 parameters and no annotations, the description covers the core behavior, exclusions, and a required follow-up. It does not explain every parameter, but the optional ones are documented in the schema, and the main required fields are clear from context. The description is adequate for an agent to call the tool correctly without further research.

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 only 33% (only toTime, barsWide, and fromTime have descriptions). The description covers the core parameters entry, stop, and target implicitly, and side is implied by 'long/short,' but it does not explain symbol, timeframe, or the optional time/barsWide parameters. It adds meaning for the primary required fields but leaves the rest to schema or inference, which is insufficient given the low coverage.

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 ('Draw'), a clear resource (an entry, stop, and target box on a chart), and explicitly differentiates itself from position_plan_on_chart by noting it performs no quantity or risk calculations. This allows an agent to instantly distinguish it from the closest sibling 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?

It explicitly names the alternative (position_plan_on_chart) and the condition that selects it: 'only when the user also wants quantity and risk calculations.' It also implies when to use this tool ('immediately when those price levels are known'), leaving no ambiguity about the appropriate context.

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

position_plan_on_chartAInspect

Calculate a risk-first long/short position and draw the entry, stop and first target directly on the live chart. The drawing retains quantity, notional, margin, costs, liquidation estimate, targets, warnings and an optional sandbox program id so later analysis reads the same plan the user sees. Changes the chart you are building; call chart_link when you are done so the person can open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
sideYes
stopYes
entryYes
equityYesAccount equity in quote currency.
feeBpsNoFee per side in basis points. Default 4.
symbolNo
toTimeNoOptional end timestamp in seconds.
targetsYesTake-profit prices and the percentage closed at each. Allocations should total 100.
barsWideNoWidth when timestamps are omitted. Default 20 bars.
fromTimeNoOptional start timestamp in seconds.
leverageNoSelected venue leverage. Default 1.
timeframeNo
fundingRateNoFunding per settlement as a fraction, e.g. 0.0001.
riskPercentYesEquity risked if the stop fills, in percent.
holdingHoursNoExpected holding time for the funding estimate.
fundingPerDayNoFunding settlements per day. Default 3.
strategyProgramIdNoOptional sandbox program linked to this plan.
maintenanceMarginRateNoFraction used for approximate liquidation. Default 0.005.

TDQS

A4.5/5.0
Behavior5/5

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

The description discloses a side effect ('Changes the chart you are building') and a required follow-up action ('call chart_link'). Annotations only state readOnlyHint=false and destructiveHint=false, which do not capture the chart modification. The description also mentions persistence ('so later analysis reads the same plan the user sees'), adding behavioral context beyond annotations. No contradiction with annotations.

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 with no waste. The primary action and target are front-loaded, followed by essential behavioral notes (persistence and follow-up). Every clause earns its place.

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 tool with 19 parameters and a side effect, the description covers the critical workflow (calculate, draw, then link), the persistence of the plan, and the chart-modifying nature. There is no output schema, but the description clarifies the outcome. The required parameters are covered by the schema, and the description adds the missing behavioral context. Complete for an agent to use it correctly.

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 68%, so the schema documents most parameters. The description mentions 'optional sandbox program id' and 'targets' implicitly but does not add meaning beyond what the schema already provides. With high coverage, baseline 3 is appropriate; the description does not compensate for the undocumented parameters but doesn't need to.

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 action ('Calculate a risk-first long/short position and draw the entry, stop and first target directly on the live chart') with a clear resource (the chart) and distinguishes itself from siblings like position_calculate and position_draw_on_chart by combining calculation and drawing. It is explicit and non-tautological.

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 provides clear usage context: it modifies the chart and instructs to 'call chart_link when you are done so the person can open it.' This is a sequencing guideline. However, it does not explicitly mention alternatives or when not to use this tool, though the combined calculate+draw purpose implies a distinction from calculation-only or drawing-only tools.

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

screener_backtestA
Read-onlyIdempotent
Inspect

Historically replay a cross-sectional screen at every bar. Matching instruments form an equal-weight long or short portfolio, entered at the next bar open and held to the following bar open, then re-screened. Use this when the question is whether repeatedly trading screener matches worked — a single-symbol backtest of coins that match today is not a substitute. Costs follow actual portfolio turnover, so an unchanged holding is not charged as a fresh round trip.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
logicNoDefault all.
quoteNoDefault USDT.
rulesYes
feeBpsNoPer side. Default 4.
lookbackNoBars. Default 300.
directionNoDefault long.
timeframeNoDefaults to the chart.
slippageBpsNoPer side. Default 1.
maxPositionsNoEqual-weight slots, 1 to 50. Default 10.
universeSizeNoDefault 50.
manualSymbolsNoOptional symbols forced into the universe before current-volume ranking.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses concrete behavior: equal-weight long/short portfolios, next-bar-open entry and following-bar-open exit, re-screening each bar, and turnover-based cost calculation so unchanged holdings are not double-charged. This is rich, non-obvious behavioral detail.

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 sentences with no filler: the mechanism is front-loaded, the usage condition follows, and the cost nuance earns its place. Every sentence contributes distinct value.

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 complex 12-parameter backtest tool, the description plus a well-covered schema and strong annotations gives an agent everything needed to select and invoke it correctly. The absence of an output schema is acceptable because the description focuses on behavior needed before calling, and the schema documents the parameters.

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 high (83%), so the baseline is 3, but the description adds meaningful parameter-level context: 'equal-weight' clarifies maxPositions behavior, 'long or short' ties to direction, and the turnover-cost sentence clarifies how feeBps actually applies. It doesn't document each parameter, but it adds interaction semantics the schema lacks.

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 opens with a specific verb and resource: 'Historically replay a cross-sectional screen at every bar,' then details the portfolio construction, entry/exit timing, and re-screening process. It explicitly distinguishes itself from a single-symbol backtest, so an agent can tell it apart from siblings like backtest_run.

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?

It gives an explicit use case: 'Use this when the question is whether repeatedly trading screener matches worked.' It also states what is not a substitute — a single-symbol backtest of coins that match today — providing clear when-not guidance.

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

screener_runA
Read-onlyIdempotent
Inspect

Scan the venue's listed instruments for ones matching conditions, instead of looking at the open chart. Rules combine price fields, any indicator plot, or a formula expression, with ALL/ANY matching. This is the tool for "which coins are doing X right now". It fetches history for every instrument in the universe, so it is slow and worth asking for once with the right conditions rather than repeatedly with narrower ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNoMatches to return. Default 25, max 60.
logicNoDefault all.
quoteNoDefault USDT.
rulesYes
lookbackNoBars. Default 300.
timeframeNoDefaults to the chart.
universeSizeNoDefault 50.
manualSymbolsNoOptional symbols forced into the universe before current-volume ranking.

TDQS

A3.9/5.0
Behavior4/5

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

The description adds useful behavior beyond the annotations: it fetches history for every instrument in the universe Choose a JSON code block with all scores and justifications. and is therefore slow;; this is meaningful operational context. The annotations already cover read-only, idempotent, and non-destructive behavior, so the description's performance disclosure is a valuable supplement. No contradiction with annotations.

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

Conciseness5/5

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

The description is three sentences long and every sentence earns its place: purpose, use case, and performance guidance. It is front-loaded with the primary action and includes the most important operational caveat without wasting words.

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?

The description covers the purpose, use case, and major performance characteristic, andthe schema fills in most parameter details. However, there is no output schema, and the description does not state what the tool returns (e.g., matching symbols, values, or matched rule details). This leaves some context missing for an agent that needs to handle the result.

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?

The schema already covers 78% of parameters, including enums and defaultsconstant. The description adds conceptual context for how rules work (price fields, indicators, formulas, ALL/ANY matching), which helps an agent understand the rule structure. However, it does not go much beyond the schema's own parameter descriptions.

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 operation: scan the venue's listed instruments for ones matching conditions, explicitly contrasting with looking at the open chart. It also gives a memorable use case ('which coins are doing X right now'). It does not name sibling tools like screener_backtest, but the resource and action are clear enough to distinguish from chart-oriented tools.

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

Usage Guidelines4/5

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

The description clearly identifies when to use this tool: when scanning for instruments matching conditions across the universe. It also warns that the operation is slow and recommends asking once with the right conditions rather than repeatedly. It does not explicitly mention when not to use it or alternatives, but the guidance is practical and context-rich.

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

strategy_researchA
Read-onlyIdempotent
Inspect

Run one chronological research experiment across many built-in strategies, instruments and timeframes. Use this for broad discovery instead of many backtest_run calls — and in particular instead of testing one strategy on coin after coin, which is a search whether or not it is called one. It ranks only on a selection window, checks several subperiods, leaves an embargo, reveals held-out performance, doubles costs as a stress test, compares buy-and-hold, and corrects the selected Sharpe for every strategy/symbol/timeframe combination tried.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoPer symbol and timeframe. Default 3000, max 10000.
foldsNoSelection subperiods, 2..8. Default 4.
feeBpsNoPer side. Default 4.
marketNoDefault: the chart.
symbolNoDefaults to the charted symbol.
symbolsNoUp to 8 instruments to search across, e.g. BTCUSDT, ETHUSDT. Every symbol is another trial and the deflated Sharpe accounts for it.
exchangeNo
directionNo
timeframesNoUp to 6, e.g. 15m, 1h, 4h, 1d. Defaults to the chart timeframe.
embargoBarsNoGap before held-out data. Default 10.
slippageBpsNoPer fill. Default 1.
strategyIdsNoBuilt-in ids from catalog_search. Omit for the full library.
minimumTradesNoReliability penalty threshold. Default 30.
inSampleFractionNoSelection share, 0.5..0.8. Default 0.7.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description discloses the full experimental design: selection-window ranking, subperiod checks, embargo, held-out performance reveal, doubled costs as a stress test, buy-and-hold comparison, and deflated Sharpe correction for multiple trials. This is rich behavioral context that annotations alone do not provide.

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 purpose and usage guidance, then detailed methodology. The third sentence is a dense list but each item earns its place; minor redundancy exists with the schema's symbols description that already mentions deflated Sharpe accounting. Efficient overall for a complex tool.

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 14-parameter research tool with no output schema, the description thoroughly explains methodology and purpose but leaves the output format implicit. An agent can infer that results include rankings and held-out performance, but explicit return-value documentation would make it complete.

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 86%, so the schema carries most parameter semantics. The description adds cross-parameter context (every strategy/symbol/timeframe combination is a trial, corrected by deflated Sharpe) but does not substantially elaborate individual parameter meanings beyond the schema. Baseline 3 is appropriate.

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: runs one chronological research experiment across many built-in strategies, instruments, and timeframes. It explicitly distinguishes itself from backtest_run by naming the anti-pattern of testing one strategy on coin after coin, making sibling differentiation clear.

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 directs use to broad discovery and says to use it instead of many backtest_run calls, even naming the exact anti-pattern it replaces. The description gives a clear when-to-use instruction and identifies the alternative tool, matching the top-tier calibration.

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

trade_experience_retrieveA
Read-onlyIdempotent
Inspect

Retrieve compact historical trade analogues for the current market state. Plans are deterministic synthetic templates, while fills, stop/target ordering, MAE/MFE and outcomes are settled on later historical candles with costs. Use it to compare similar wins and failures, never as proof of an edge.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoOptional market_candles handle for the query state.
barsNoHistory per symbol. Default 1500; min 300, max 3000.
sideNo
limitNoDisplayed analogues. Default 12; max 20.
setupNo
feeBpsNoFee per side. Default 4 basis points.
marketNo
strideNoEvaluate one signal point every N bars. Default 4.
symbolNoQuery symbol; defaults to the chart.
symbolsNoOptional same-venue peer corpus. Query symbol is always included.
exchangeNo
timeframeNoQuery timeframe; defaults to the chart.
slippageBpsNoAdverse slippage per side. Default 1 basis point.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses material behavior: plans are deterministic synthetic templates, and fills, stop/target ordering, MAE/MFE, and outcomes are settled on later historical candles with costs. It also warns that analogues are not proof of an edge. This adds genuine context rather than restating annotations.

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 sentences with no filler: primary action, behavioral mechanics, and usage caveat. The main verb and resource are front-loaded, and 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?

For a 13-parameter tool with no output schema, the description captures the purpose, output concepts (fills, MAE/MFE, outcomes), and important caveats, while annotations cover safety and idempotency. It does not explicitly state that all parameters are optional or how defaults tie to the current chart state, but the schema and parameter defaults fill most of that gap. Strong but not exhaustive.

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 69%, and many parameters are already described well (bars, limit, feeBps, symbols, timeframe). The description adds conceptual framing around "current market state" and "costs" that helps make sense of ref, symbol, timeframe, feeBps, and slippageBps. However, it does not compensate for the undescribed enum parameters like side, setup, market, and exchange, so the added parameter-level value is only moderate.

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 opens with a specific verb and resource: "Retrieve compact historical trade analogues for the current market state." It further clarifies the mechanism with "deterministic synthetic templates" and later-candle settlement, which clearly separates it from sibling tools like backtest_run or screener_backtest. This is a precise, non-tautological purpose statement.

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?

"Use it to compare similar wins and failures, never as proof of an edge" provides a clear use case and a when-not caution. It does not name alternative sibling tools or specify when to prefer backtest_run or strategy_research, so it falls short of a 5. Still, the guidance is explicit enough to shape correct usage.

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. 39 tool updates
    • First observedalert_link
    • First observedbacktest_run
    • First observedcalendar_upcoming
    • First observedcatalog_describe
    • First observedcatalog_search
    • First observedchart_add_indicator
    • First observedchart_image
    • First observedchart_link
    • First observedchart_remove_indicator
    • First observedchart_set_instrument
    • First observedchart_set_timeframe
    • First observedchart_set_type
    • First observedchart_state
    • First observedchart_toggle_indicator
    • First observedchart_update_indicator
    • First observedcrypto_quant_guide
    • First observeddaytrade_opportunity_scan
    • First observeddrawing_add
    • First observeddrawing_delete
    • First observeddrawing_freehand
    • First observeddrawing_style
    • First observedfibonacci_draw
    • First observedformula_evaluate
    • First observedhyperliquid_whale_read
    • First observedindicator_compute
    • First observedmarket_candles
    • First observedmarket_derivatives
    • First observedmarket_dominance
    • First observedmarket_relationships
    • First observednews_detect_assets
    • First observednews_recent
    • First observedorderflow_read
    • First observedposition_calculate
    • First observedposition_draw_on_chart
    • First observedposition_plan_on_chart
    • First observedscreener_backtest
    • First observedscreener_run
    • First observedstrategy_research
    • First observedtrade_experience_retrieve

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides live cryptocurrency market data including spot prices, OHLCV candles, order books, funding rates, and technical indicators via public exchange APIs.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Delivers real-time crypto market microstructure, derivatives, order flow CVD/OI regime classification, fear & greed sentiment, and whale tracking context, enabling traders to assess market regimes and complement charting tools.
    28 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides live crypto derivatives data including funding rates, cross-exchange arbitrage, open interest pressure, Fear & Greed index, BTC dominance, and verified signal performance.
    47
    904 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources