Skip to main content
Glama
ironflowsh

Ironflow MCP

Official
by ironflowsh

@ironflowsh/mcp

Model Context Protocol (MCP) server for Ironflow — real-time and historical market data for on-chain derivatives, designed for AI agents.

Exposes 32 tools for market data, analytics, triggers, cohorts, bulk export, and system status. Works with Claude Desktop, Cursor, any MCP-compatible client.

Install

# Run directly (no install)
npx @ironflowsh/mcp

# Or install globally
npm install -g @ironflowsh/mcp

Requires Node.js 18+.

Use with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "ironflow": {
      "command": "npx",
      "args": ["-y", "@ironflowsh/mcp"],
      "env": {
        "IRONFLOW_API_KEY": "if_your_api_key"
      }
    }
  }
}

Restart Claude Desktop.

Authentication

Without an API key: 10 req/min, 24h history, REST only. Sign up at ironflow.sh for higher limits.

IRONFLOW_API_KEY=if_xxx npx @ironflowsh/mcp

Tools

Market dataget_price, get_orderbook, get_recent_trades, get_candles, get_funding_rates, get_open_interest, get_liquidations, get_fills, get_mark_prices, get_deposits, get_withdrawals, get_order_statuses, get_vault_operations, list_markets

Analytics (Builder+) — get_net_flows, get_liquidation_levels, get_order_flow, get_vault_leaderboard, get_funding_stats

Export (Builder+) — export_data

Triggerslist_triggers, create_trigger, test_trigger, toggle_trigger, delete_trigger

Cohortslist_cohorts, get_cohort_addresses, delete_cohort

Account & statusget_me, get_status, get_status_metrics, get_status_history

Configuration

Env var

Default

IRONFLOW_API_KEY

IRONFLOW_API_URL

https://api.ironflow.sh

License

MIT

Available Tools

32 tools
create_triggerA

Create a rule-based webhook trigger that fires when market events match conditions (e.g. BTC price > 100000)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable trigger name
channelYesEvent channel to monitor (trades, fills, liquidations, funding_rates, etc.)
webhook_urlYesHTTPS URL to receive webhook POST when trigger fires
ruleYesRule as JSON string, e.g. {"condition":{"field":"data.price","op":"gt","value":"100000"}}

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains that the trigger fires based on conditions and includes an example, which gives some behavioral context. However, it does not disclose side effects (e.g., POST request, authentication needs, rate limits) or state whether creation is reversible.

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?

Single, well-structured sentence with an inline example. No wasted words; essential information is front-loaded.

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 tool with 4 required parameters and no output schema or annotations, the description covers basic purpose and an example but lacks details on error handling, uniqueness constraints, valid channel values, or webhook behavior. It is minimally complete but leaves gaps.

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 covers 100% of parameters, so baseline is 3. The description adds value by providing an illustrative example of the 'rule' parameter format, helping to clarify the JSON structure beyond the schema's 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?

Description uses a clear verb ('Create'), identifies the resource ('rule-based webhook trigger'), and explains its function ('fires when market events match conditions') with a concrete example. It distinguishes from sibling tools like delete_trigger, test_trigger, and list_triggers.

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?

Description implies when to use (creating a trigger) but does not explicitly exclude alternative tools or provide prerequisites. The sibling names make usage intuitive, but explicit guidelines would improve it.

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

delete_cohortA

Delete a custom cohort by name. Predefined cohorts (top_pnl_30d, high_volume_30d, etc.) cannot be deleted

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCustom cohort name to delete

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only mentions that predefined cohorts cannot be deleted, but does not disclose irreversibility, permissions, side effects, or error scenarios. This is insufficient for a mutation 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 two sentences with no wasted words. The key action is front-loaded, and the constraint follows efficiently.

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 simple tool, the description covers the main action and a key constraint. However, it omits return values, error handling (e.g., non-existent cohort), and confirmation of permanent deletion.

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 already fully describes the parameter 'name' with the phrase 'Custom cohort name to delete'. The description reinforces this but adds no new semantic detail beyond the schema's coverage (100%).

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 action (delete), the resource (custom cohort), and the method (by name). It also distinguishes from predefined cohorts by stating they cannot be deleted, which helps differentiate from sibling tools like list_cohorts.

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 implies that this tool is only for custom cohorts by noting that predefined ones cannot be deleted. However, it does not explicitly provide when-to-use guidance or alternative tools for predefined cohorts.

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

delete_triggerA

Permanently delete a webhook trigger by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTrigger ID to delete

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so description carries full burden. It indicates 'permanently delete,' implying irreversibility, but lacks details on side effects, authorization needs, or failure conditions.

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?

Very short and front-loaded, efficient. Could slightly expand to add context without losing conciseness.

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 delete tool with one parameter and no output schema, the description is adequate, covering what, how, and permanence. Lacks minor behavioral details but overall 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 coverage is 100% with a clear description for 'id'. The description's phrasing 'by ID' matches the schema, adding no extra meaning beyond what the schema already provides.

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 action (delete), the resource (webhook trigger), and the identifier (by ID). It distinguishes from sibling tools like create_trigger or test_trigger.

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 guidance on when to use this tool versus alternatives, no prerequisites or conditions mentioned. The description only states what it does, not when it's appropriate.

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

export_dataC

Export historical data as CSV (Builder+ tier). Returns the download URL or raw data for a given event type and time range

ParametersJSON Schema
NameRequiredDescriptionDefault
event_typeYesData type to export (trade, fill, book, liquidation, funding_rate, deposit, withdrawal, vault_operation, order_status, open_interest, mark_price)
marketNoOptional market filter — native HL (e.g. "BTC-PERP") or HIP-3 builder market "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP")
formatNoOutput format: csv or parquet. Default: csv

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full behavioral disclosure. It mentions a 'time range' but the schema does not include a time range parameter, creating a gap. The return value is ambiguously described as 'download URL or raw data' without clarifying conditions for each.

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 a single concise sentence that clearly states the main action. It is largely front-loaded with essential information, though the tier requirement could be moved to annotations if available.

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?

Without an output schema, the description should fully describe return values, but it only vaguely mentions 'download URL or raw data'. The missing time range parameter from the schema is not addressed. For a data export tool, critical details like file size limits or supported date ranges are absent.

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?

All parameters are described in the schema (100% coverage), but the description adds no significant extra meaning. It mentions 'CSV' but the schema already includes a format parameter with CSV as default. The reference to 'time range' is misleading as no such parameter exists.

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

Purpose4/5

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

The description clearly identifies the tool's purpose: exporting historical data as CSV for a given event type and time range. It specifies the output format and tier requirement. However, it does not explicitly distinguish this tool from sibling 'get_' functions that may also retrieve similar data.

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 mentions a tier restriction ('Builder+ tier'), providing some usage context, but lacks explicit guidance on when to use this tool versus alternative data retrieval tools. No mention of prerequisites or limitations.

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

get_candlesB

Get OHLCV candlestick data for a market. Useful for price analysis and charting

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")
intervalNoCandle interval (1m, 5m, 15m, 1h, 4h, 1d). Default: 1h
limitNoNumber of candles to return (1-500, default 24)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral disclosure burden. It omits key traits such as read-only nature, rate limits, pagination, or default behavior (e.g., number of candles returned). The description is too minimal for a tool that modifies or retrieves data.

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 a single sentence that front-loads the action and provides context. Every word earns its place with no redundancy. It is appropriately sized for a simple data retrieval 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?

Given the tool has only 3 well-described parameters and no output schema, the description is minimally adequate. It lacks details like default limit (24) or interval (1h) which are in the schema, but an agent might need to infer behavior. Could be more complete for beginners.

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?

Input schema has 100% description coverage, so the baseline is 3. The description does not add any additional parameter meaning beyond what the schema already provides (e.g., market, interval, limit formats).

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 'Get OHLCV candlestick data for a market', specifying the verb, resource, and data type. It also adds context ('Useful for price analysis and charting') that differentiates it from sibling tools like get_price (single price) or get_orderbook (order book).

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 phrase 'Useful for price analysis and charting' implies when to use the tool (historical data needs) but does not explicitly state when not to use it or provide alternatives. Agents might benefit from knowing that get_price is for current price queries.

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

get_cohort_addressesB

Get the wallet addresses in a specific cohort

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCohort name (e.g. top_pnl_30d, high_volume_30d, whale_fills, or a custom cohort name)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as error handling, return format, or authorization requirements. For a retrieval tool, this is a minimal disclosure.

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 a single, concise sentence. It is front-loaded and efficient, though it could be slightly more informative without becoming verbose.

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 tool's simplicity (single string parameter, no output schema), the description is adequate but lacks detail on return values or error scenarios. It meets the minimum viable standard.

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 provides 100% coverage with a descriptive example for the 'name' parameter. The tool description adds no additional parameter context 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 'Get the wallet addresses in a specific cohort' clearly states the action (get) and resource (wallet addresses in a cohort), distinguishing it from siblings like list_cohorts.

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 guidance on when to use this tool versus alternatives (e.g., list_cohorts to find cohort names first). The description does not mention prerequisites or context.

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

get_depositsA

Get recent deposit events for a wallet address

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (e.g. 0x...)
limitNoNumber of deposits (1-100, default 20)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states 'get recent deposit events' but omits behavioral details like ordering, pagination, definition of 'recent', or handling of empty results. Minimal disclosure beyond purpose.

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?

Single sentence of 7 words is highly concise and efficient. No wasted words, though it could be front-loaded with more actionable detail (e.g., sorting). Still, brevity is a strength for a simple 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 simple retrieval tool with no output schema, the description provides the basic purpose. However, it lacks details on return format, sorting behavior, or result completeness (e.g., pagination). Adequate but not comprehensive.

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

Parameters3/5

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

Schema description coverage is 100%, covering both parameters (address, limit) effectively. Description adds no additional semantic or usage context beyond the schema. Baseline score 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?

Clearly states it retrieves recent deposit events for a wallet address, using specific verb 'get' and distinct resource 'deposit events'. Differentiates from sibling get_* tools which target other data (e.g., liquidations, orders).

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

Usage Guidelines3/5

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

Usage is implied by the resource type (deposits), but no explicit guidance on when to use this tool versus alternatives, nor when not to use it. Lacks context on prerequisites or typical scenarios.

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

get_fillsB

Get trade fills for a specific wallet address, optionally filtered by market

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (e.g. 0x...)
marketNoOptional market filter — native HL (e.g. "BTC-PERP") or HIP-3 builder market "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP")
limitNoNumber of fills (1-100, default 20)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided; description only states basic read operation without disclosing data freshness, pagination behavior, or prerequisites like address existence.

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?

Single sentence, 14 words, no redundancy, directly conveys purpose.

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?

Description does not explain what a fill is, output structure, or constraints like limit range, leaving gaps despite schema coverage.

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 covers 100% of parameters; description adds no extra meaning beyond what the schema already provides, so baseline of 3 applies.

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

Purpose5/5

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

The description clearly states it retrieves trade fills for a specific wallet address with optional market filtering, using specific verb and resource, distinguishing it from siblings like get_recent_trades.

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 guidance on when to use this tool versus alternatives (e.g., get_recent_trades), nor any exclusions or prerequisites.

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

get_funding_ratesA

Get funding rate history for a perpetual futures market. Rates are paid hourly on Hyperliquid

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")
limitNoNumber of funding rate entries (1-100, default 10)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided; description adds minimal behavioral info (hourly payment) but lacks details on read-only nature, data freshness, pagination, or error scenarios.

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, front-loaded with primary action, no unnecessary 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?

Given no output schema, description lacks return format details (e.g., list of objects with timestamps/rates). Adequate for basic understanding but could better prepare agent for expected data.

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 descriptions cover both parameters fully (100% coverage); description adds no additional parameter meaning beyond 'rates paid hourly' which is not parameter-specific.

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?

Clearly states tool gets funding rate history for perpetual futures market, with specific context about hourly payment frequency on Hyperliquid. Distinguishes from siblings like get_candles or get_funding_stats.

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?

Implied usage for retrieving funding rate history, but no explicit guidance on when to use vs. alternatives or when not to use.

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

get_funding_statsB

Get funding rate statistics over time including annualized rates (Builder+ tier)

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP") or HIP-3 builder market "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP")
intervalNoTime interval (1h, 4h, 8h, 1d, 7d). Default: 1d
limitNoNumber of data points (default 7)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. The 'Get' nature implies a read operation, and the tier constraint is mentioned. However, it lacks details on authentication, rate limits, or any side effects. Without annotations, this is minimal but not misleading.

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?

Single sentence conveying the tool's purpose and key output features. No unnecessary words; front-loaded with essential information.

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 description is too brief for the tool's complexity (3 parameters, no output schema). It does not explain the output format, pagination, or what 'statistics' includes. An agent would need additional context to use it effectively.

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% coverage, with clear descriptions for each parameter. The description does not add additional meaning beyond the schema, but no omissions are needed. Baseline score 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 retrieves funding rate statistics over time, including annualized rates, and specifies a tier constraint (Builder+). This distinguishes it from sibling tools like get_funding_rates, which likely provides current rates only.

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 such as get_funding_rates. The description does not provide context for choosing between tools or mention any prerequisites.

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

get_liquidation_levelsA

Get liquidations bucketed by price level — useful for heatmap visualization (Builder+ tier)

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP") or HIP-3 builder market "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP")
bucket_sizeNoPrice bucket size (1, 5, 10, 50, 100, 500, 1000, 5000). Default: 100

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states it gets bucketed liquidations, implying read-only, but lacks disclosure of rate limits, data freshness, or error scenarios.

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

Conciseness5/5

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

A single sentence that front-loads the core purpose and adds valuable context (use case and tier). No wasted 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?

Given no output schema and no annotations, the description could explain return format or data interpretation. It provides tier info but lacks completeness for a tool with 2 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 100%, so the description does not need to add parameter details. It adds no additional meaning beyond the schema, so 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 clearly states the tool retrieves liquidations bucketed by price level. It specifies a use case (heatmap visualization) and tier restriction (Builder+), distinguishing it from sibling tool get_liquidations.

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 usage for heatmap visualization and Builder+ tier, but does not provide explicit guidance on when to use vs alternatives like get_liquidations or when not to use.

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

get_liquidationsB

Get recent liquidation events for a market showing forced position closures with price, size, and address

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")
limitNoNumber of liquidation events (1-100, default 20)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool fetches 'recent' events but does not define recency, ordering, or pagination. It also fails to disclose any behavioral traits like authentication requirements, rate limits, or idempotency.

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 a single, focused sentence that efficiently conveys the tool's purpose without extraneous information. It is front-loaded and 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 the simplicity of the tool (2 parameters, no output schema), the description covers core functionality. However, it omits details about return format, pagination, and ordering. For a read-only tool with no annotations, a bit more context on output structure would improve completeness.

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?

Input schema coverage is 100%, with both parameters described in detail (market syntax, limit range). The description adds minimal parameter-specific insight beyond the schema (e.g., mentioning 'price, size, and address' which relates to output, not parameters). 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 clearly states the verb ('Get') and the resource ('recent liquidation events for a market'), and specifies the output fields ('price, size, and address'). This distinguishes it from siblings like 'get_liquidation_levels' or 'get_fills'.

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 lacks explicit guidance on when to use this tool versus alternatives such as 'get_recent_trades' or 'get_fills'. It implies usage for liquidation events but does not provide exclusion criteria or mention when other tools might be more appropriate.

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

get_mark_pricesB

Get the current mark price, oracle price, and funding rate for a market

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP") or HIP-3 builder market "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP")

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does not disclose whether the call is read-only, requires authentication, or any side effects. Only the return content is mentioned, missing behavioral context.

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 a single, concise sentence that front-loads the key information. No extraneous words or 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?

Given the tool's simplicity (one parameter, no output schema), the description is adequate but lacks detail on response structure. It does not specify if the result is a single object or multiple, which could be helpful.

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 single parameter 'market' is fully described in the input schema with coverage at 100%. The description adds no additional semantics beyond the schema, so 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 clearly specifies the verb 'Get' and the resources: current mark price, oracle price, and funding rate for a market. It distinguishes from sibling tools like get_price and get_funding_rates by bundling three related metrics.

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 guidance is given on when to use this tool versus alternatives. For example, if only funding rate is needed, get_funding_rates might be more appropriate; this is not addressed.

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

get_meA

Get the authenticated user's tier (free, explorer, builder, enterprise) and rate limits

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses the return type (tier and rate limits) and implies authentication, but does not discuss error handling, rate limit behavior, or any side effects. Adequate but minimal.

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?

Single sentence, no filler, every word adds value. Perfectly concise and front-loaded.

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

Completeness4/5

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

For a simple read operation with no output schema, the description covers the main outputs (tier and rate limits). However, it may omit other potential fields like user ID or email, which are common in such endpoints. Still, it is mostly 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?

Input schema has zero parameters with 100% coverage. The description adds meaning by specifying that the tool returns tier and rate limits, which is not in the schema. Baseline 4 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 retrieves the authenticated user's tier (listing specific values) and rate limits. It distinguishes from sibling tools, which focus on market data, orders, or triggers, by being the only user-specific info tool.

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?

No explicit guidance on when to use this tool versus alternatives. While sibling names imply different domains, the description lacks 'use this when you need user account info' or comparisons, leaving the agent to infer context.

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

get_net_flowsB

Get net deposit/withdrawal flows over time — shows capital inflows and outflows (Builder+ tier)

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNoTime interval (1h, 4h, 8h, 1d, 7d). Default: 1d
limitNoNumber of data points (default 7)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It only reveals the access tier (Builder+) but does not disclose behavioral traits such as data range coverage, rate limits, authorization needs, or any side effects. This is minimal disclosure for a tool that retrieves capital flow data.

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 a single, well-structured sentence that front-loads the core purpose and includes a key constraint (Builder+ tier). Every word is necessary, and there is no redundancy or 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?

Given the tool's simplicity (two optional parameters, no output schema, no annotations), the description provides the essential purpose and an access limitation. However, it omits information about the output format, pagination, default behavior, and how data points are ordered. It is adequate but not fully informative.

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 covers 100% of parameters with descriptions for interval and limit, and the description adds nothing beyond the schema. Since schema coverage is high, the baseline is 3, and the description does not enhance understanding of parameter usage or behavior.

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 it retrieves net deposit/withdrawal flows over time, explicitly showing capital inflows and outflows. The verb 'Get' and resource 'net flows' are specific, and it implicitly distinguishes from sibling tools like get_deposits or get_withdrawals by focusing on net values.

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 lacks guidance on when to use this tool versus other similar tools. It only mentions the 'Builder+ tier' requirement but does not specify when to prefer this tool over, for example, get_deposits or get_withdrawals, nor does it indicate scenarios where this tool is not appropriate.

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

get_open_interestB

Get the current open interest and 24h trading volume for a perpetual futures market

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It implies a read operation but does not explicitly state side-effects, auth requirements, or data freshness. The lack of detail is a significant gap.

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

Conciseness5/5

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

The description is a single sentence with no redundancy, efficiently conveying the tool's purpose. Every word is necessary.

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 simple tool with one parameter and no output schema, the description provides the essential output (open interest and volume) but omits details on return format, units, or data staleness. It is minimally complete but has gaps.

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 covers the single parameter market with detailed format descriptions. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 retrieves open interest and 24h volume for a perpetual futures market, specifying the resource and action. It is distinct from sibling tools like get_price or get_funding_rates, but does not explicitly differentiate itself.

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 guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage solely from the name.

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

get_orderbookA

Get the current L2 order book snapshot for a market, showing bid and ask price levels

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions 'L2 order book snapshot' (implying read-only and snapshot nature) but does not disclose details like depth size, update frequency, or whether it includes cumulative volume. Adequate but not rich.

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 a single sentence of 14 words, perfectly concise, and front-loaded with the key information. Every word is functional.

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 single-parameter tool with no output schema, the description covers the essential return value (bid/ask levels). It is complete enough for an agent to understand the tool's output, though it could mention snapshot limitations.

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% with a detailed market parameter description. The description adds 'showing bid and ask price levels' which provides output context but does not significantly enhance parameter meaning 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?

The description clearly states the tool retrieves an L2 order book snapshot for a market, showing bid and ask price levels. This verb+resource combination is specific and distinguishes it from sibling tools like get_price (single price) or get_candles (historical data).

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 implies use for current order book depth needs, which is naturally distinct from other tools. No explicit alternatives or when-not conditions are given, but the use case is clear and there is no overlapping sibling tool.

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

get_order_flowB

Get fill and cancel rates per market — shows execution quality (Builder+ tier)

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional market filter

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It notes the tier restriction but fails to mention data freshness, rate limits, or what 'execution quality' entails.

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 a single front-loaded sentence that conveys the main action efficiently. Minor improvement could be splitting into two sentences, but it's concise enough.

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?

With one optional parameter, no output schema, and no annotations, the description is incomplete. It does not explain the response structure, aggregation details, or how the rates are calculated.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema for the 'market' parameter; it just reinforces the overall purpose.

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 retrieves fill and cancel rates per market, indicating execution quality. It distinguishes from siblings like get_fills and get_order_statuses by focusing on rates.

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 mentions 'Builder+ tier' but provides no explicit guidance on when to use this tool versus alternatives like get_fills or get_order_statuses, nor any exclusion criteria.

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

get_order_statusesC

Get order status history for a wallet address (placed, filled, cancelled, triggered)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (e.g. 0x...)
marketNoOptional market filter
limitNoNumber of statuses (1-100, default 20)

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries full burden. It only states it's a read operation ('Get') but discloses no details about rate limits, pagination, data freshness, or side effects. The description is insufficient for behavioral understanding.

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

Conciseness5/5

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

A single, front-loaded sentence with no extraneous words. Every part contributes: verb, resource, scope, examples. Perfectly concise.

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 description lacks details on output format, ordering, or differentiation from similar siblings like 'get_status_history'. With no output schema and no annotations, the description is incomplete for an AI agent to use effectively.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds the list of statuses ('placed, filled, cancelled, triggered') which provides context but does not enhance understanding of individual parameters beyond what the schema already provides.

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 verb 'Get' and the resource 'order status history' with specific status examples, and specifies the context 'for a wallet address'. However, the sibling 'get_status_history' could cause confusion, though the description adds specificity.

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, no exclusion criteria or prerequisites. The implied usage is clear but insufficient for distinguishing from similar tools like 'get_status_history'.

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

get_priceB

Get the latest mid-market price for a perpetual futures market on Hyperliquid

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only states 'latest mid-market price' without details on caching, freshness, rate limits, or side effects. Minimal beyond the obvious.

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

Conciseness5/5

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

One short sentence (14 words) that is front-loaded and efficient. Every word serves a purpose without redundancy.

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?

Simple tool with one parameter and no output schema. Description is adequate for basic understanding but lacks details like return format, error handling, or data freshness. Could be more informative.

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% with a detailed description for the single parameter. Description adds no extra meaning beyond what the schema already provides, so baseline score 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?

Description clearly states the action (get), resource (latest mid-market price), and context (perpetual futures market on Hyperliquid). Distinguishes from siblings like get_mark_prices by specifying 'latest mid-market price'.

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 guidance on when to use this tool vs alternatives (e.g., get_mark_prices, get_funding_rates). Does not specify prerequisites or exclusions.

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

get_recent_tradesB

Get recent tick-level trades for a market including price, size, side, and timestamp

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesMarket symbol — native HL perp (e.g. "BTC-PERP", "ETH-PERP") or HIP-3 builder market namespaced as "<issuer>:<base>-PERP" (e.g. "flx:GAS-PERP", "xyz:NVDA-PERP")
limitNoNumber of trades to return (1-100, default 20)

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states what data is returned, omitting details like data freshness, ordering, authentication requirements, rate limits, or pagination 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 a single, clear sentence that front-loads the action and resource. Every word is necessary, and there is no extraneous information.

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

Completeness4/5

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

For a simple tool with 2 parameters and no output schema, the description covers the returned fields adequately. However, it could be slightly more complete by noting ordering (e.g., 'most recent trades') or any constraints.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The tool description does not add meaning beyond the schema's parameter descriptions; it focuses on the output data instead.

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 action ('Get') and the resource ('recent tick-level trades'), and lists the fields returned (price, size, side, timestamp). It effectively distinguishes this tool from siblings like get_candles or get_fills.

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 provides no guidance on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or when not to use it.

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

get_statusA

Get system status, data freshness, and venue health (unauthenticated)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It notes unauthenticated access but does not disclose rate limits, error conditions, or response 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?

Single sentence, no wasted words, front-loaded with the action and key details.

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?

No output schema exists, but description covers the main return categories. Lacks details on response format or possible values, but adequate for a simple status endpoint.

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. Description adds meaning by listing the three categories of information returned (status, freshness, health).

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?

Description clearly states it retrieves system status, data freshness, and venue health, specifying it is unauthenticated. This distinguishes it from sibling tools like get_price or get_orderbook.

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?

Description implies use for health checks but offers no explicit guidance on when to use versus alternatives, nor any exclusions.

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

get_status_historyA

Get an uptime / freshness timeline. period: '24h' (default) or '7d' (unauthenticated)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoLookback window. '24h' (default) or '7d'.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It mentions parameter behavior and an authentication implication, but does not disclose what the output looks like, any side effects (though likely none), or rate limits. The description lacks comprehensive behavioral context.

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 one sentence with additional info in parentheses, making it concise. It is front-loaded with the main purpose. However, the structure could be improved by separating parameter details into a clearer format.

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 no output schema and one parameter, the description should explain what the timeline contains or the format of the output. It does not, leaving the agent without information on how to use the result. This is a significant gap for completeness.

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

Parameters4/5

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

The input schema has 100% coverage with enum and description. The description adds value by stating the default parameter value and that '7d' is for unauthenticated users, which provides contextual meaning beyond the schema's own documentation.

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 retrieves an 'uptime / freshness timeline'. The verb 'Get' and resource 'timeline' are specific. Among siblings like 'get_status' and 'get_status_metrics', this tool is clearly about historical timeline, distinguishing it.

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 usage guidance on the period parameter (default '24h', '7d' for unauthenticated), but does not explicitly compare with alternative tools or state when to use this vs get_status/get_status_metrics. The guidance is implicit rather than explicit.

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

get_status_metricsA

Get rolling-window API + pipeline + synthetic performance metrics (unauthenticated)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description bears full burden. It discloses the tool is unauthenticated and provides rolling-window metrics, which are helpful but omit details like whether it's read-only, rate limits, or what 'rolling-window' precisely means. Some behavioral insight is given but not comprehensive.

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?

Single sentence front-loading the action and resource, with no filler. 'Unathenticated' appended as a key qualifier. 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?

Given no output schema, the description should hint at return shape or content. It mentions performance metrics but not whether they are numeric, time-series, etc. For a simple tool with 0 params, this may suffice, but more detail would improve agent decision-making.

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 input schema has zero parameters, so the description need not add param info. Baseline is 4 for no parameters, and the description does not waste space on non-existent params.

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 ('Get') and resource ('rolling-window API + pipeline + synthetic performance metrics'), clearly distinguishing it from sibling tools like 'get_status' which focus on general system status. The term 'unauthenticated' further clarifies the scope.

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 usage by stating it is unauthenticated and provides performance metrics, but lacks explicit guidance on when to use this tool versus alternatives like 'get_status' or 'get_mark_prices'. No when-not-to-use or context for choosing between similar tools is provided.

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

get_vault_leaderboardA

Get vaults ranked by net deposits — shows which vaults are attracting capital (Builder+ tier)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of vaults (default 10)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It implies read-only (via 'Get'), but doesn't disclose other traits like data freshness, pagination, or access restrictions. Minimal behavioral context.

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?

Single sentence that is front-loaded with the key action and resource. No wasted words; concise and to the point.

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 simplicity (one optional param, no output schema) the description covers the core functionality. Could specify return fields but sufficient for an agent to understand what it does.

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 describes the 'limit' parameter well. Description adds no additional meaning to the parameter beyond what the schema provides, so baseline score applies.

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

Purpose5/5

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

The description clearly states the tool retrieves vaults ranked by net deposits and explains its purpose (showing which vaults attract capital). It distinguishes from sibling tools like get_vault_operations by focusing on ranking.

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?

No explicit guidance on when to use vs. alternatives, but the purpose is self-evident. Lacks context on prerequisites or when not to use, but adequate for a straightforward read endpoint.

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

get_vault_operationsC

Get vault deposit and withdrawal events, filterable by vault address or user address

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultNoVault address
addressNoUser address
limitNoNumber of events (1-100, default 20)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects (read-only), authentication needs, pagination, or rate limits. The behavioral context is minimal.

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 a single, front-loaded sentence that efficiently conveys the core function. Every word serves a purpose, with no redundancy.

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 the lack of output schema and annotations, the description should provide more context about return values, pagination, and default ordering. It is insufficient for an agent to fully understand the tool's behavior.

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?

Since all three parameters have descriptions in the schema (100% coverage), the description adds little extra meaning beyond the schema. It mentions filtering but does not clarify how multiple filters interact (e.g., AND vs OR) or provide format details. Baseline 3 is appropriate.

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 gets vault deposit and withdrawal events and specifies two filter options (vault address or user address). It effectively communicates the resource and verb, though it does not explicitly differentiate from sibling tools like get_deposits and get_withdrawals.

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 provides no guidance on when to use this tool versus alternatives such as get_deposits or get_withdrawals. There is no mention of use cases, prerequisites, or exclusions.

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

get_withdrawalsA

Get recent withdrawal events for a wallet address

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address (e.g. 0x...)
limitNoNumber of withdrawals (1-100, default 20)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry behavioral transparency. It only says 'recent' without defining recency or explaining behavior like pagination via the limit parameter. There are no details on rate limits, permissions, or side effects.

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 a single, clear sentence that front-loads the core purpose. No unnecessary words, and it is appropriately sized for the tool's simplicity.

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?

Without an output schema, the description should explain what the output contains (e.g., fields of each withdrawal event). It does not, leaving the agent to infer. However, given low complexity and good schema param descriptions, it is minimally adequate.

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 both parameters. The description adds the word 'recent' but does not provide additional semantics beyond what the schema already conveys. Thus it adds marginal value, meeting the baseline for high schema 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 'Get recent withdrawal events for a wallet address' clearly states the action (get), resource (withdrawal events), and scope (for a wallet address). It distinguishes itself from sibling tools like get_deposits or get_liquidations, making the purpose unambiguous.

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 usage for querying withdrawal events of a specific wallet, but does not provide explicit guidance on when to use this tool over alternatives or mention any prerequisites or limitations. It is inferred but not stated.

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

list_cohortsA

List available address cohorts: six predefined groups (top_pnl_30d, high_volume_30d, whale_fills, net_withdrawers_7d, liquidation_prone, vault_whales) plus any custom cohorts the caller has created

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral disclosure. It indicates no side effects but does not mention permissions, rate limits, or output format. The read-only nature is implied but not explicit.

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?

Single sentence that efficiently conveys purpose and scope. Front-loaded with main action and resource. Could arguably be split for readability, but concise enough.

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 zero parameters and no output schema, the description covers the essential: static predefined list plus dynamic custom cohorts. It lacks explanation of output structure but suffices for basic understanding.

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 the baseline is 4. The description adds value by enumerating the predefined cohorts, but no param details are needed.

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 lists available address cohorts, enumerates six predefined groups, and mentions custom cohorts. This distinguishes it from siblings like delete_cohort and get_cohort_addresses.

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?

No explicit guidance on when to use this tool versus alternatives. It is implied for discovering available cohorts before using delete_cohort or get_cohort_addresses, but lacks direct recommendation.

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

list_marketsA

List active markets from the registry. Filter by source (venue), market_class (perp|spot|prediction), or issuer (HIP-3 builder code; pass empty string '' for native non-builder markets only). HIP-4 outcome contracts (live on Hyperliquid mainnet since 2026-05-02) use market_class='prediction' and display symbols like '#0-OUTCOME' / '#1-OUTCOME' — complementary outcomes of one binary market have prices summing to 1.0.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoVenue. Defaults to 'hyperliquid'.
market_classNoMarket class. Omit to return perp + spot + prediction. 'prediction' filters to HIP-4 outcome contracts.
issuerNoHIP-3 issuer code (e.g. 'flx'). Pass empty string '' to return only native non-builder markets. Omit to include every issuer.

TDQS

A4.9/5.0
Behavior5/5

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

Despite no annotations, the description transparently explains behavioral details such as the default venue, the inclusion of HIP-4 outcome contracts with complementary pricing (prices summing to 1.0), and the effect of omitting parameters.

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?

Efficiently structured in a single paragraph with the purpose front-loaded, no redundant information, every sentence adds 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?

Comprehensive for a list operation, but lacks description of return values or pagination behavior, though this is partially mitigated by the detailed parameter guidance and examples of outcomes.

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?

Adds significant context beyond the input schema, such as default values, enum semantics, and special handling for the issuer parameter, enhancing usability.

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 lists active markets from the registry with filtering options, distinguishing it from sibling tools which focus on other data like candles, orderbook, or triggers.

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?

Provides explicit usage guidance for each filter parameter, including special cases like empty string for issuer to return native markets and the meaning of market_class values, helping the agent decide when to use each filter.

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

list_triggersA

List all webhook triggers configured for the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided. The description states it lists all triggers for the authenticated user, which is the core behavior. It does not elaborate on pagination, rate limits, or response format, but for a simple list tool it 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 a single, front-loaded sentence with no wasted words. Every part is informative and 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 no parameters and no output schema, the description is mostly complete for a simple list tool. It could mention what the output contains (e.g., trigger IDs, names) but is sufficient for an AI agent to understand its purpose.

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?

There are zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed. Schema coverage is 100% as there are no params.

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 'List' and resource 'webhook triggers', and clarifies scope 'for the authenticated user'. It clearly distinguishes from sibling tools like create_trigger, delete_trigger, etc.

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 implies a read-only operation limited to the user's own triggers, providing clear context. However, it does not explicitly state when not to use it or mention alternatives, though the sibling list makes alternatives obvious.

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

test_triggerA

Test a trigger rule against a sample event without creating it — dry run evaluation

ParametersJSON Schema
NameRequiredDescriptionDefault
ruleYesRule as JSON string
eventYesSample event as JSON string to test against

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It clearly states the tool is non-destructive (dry run) and does not create the trigger, adding value beyond the input schema.

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

Conciseness5/5

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

Single sentence with no wasted words. Purpose is front-loaded and immediately clear.

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?

Description covers the tool's purpose well but lacks information about the output format or what the dry run returns. Since no output schema is provided, this omission slightly reduces completeness.

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

Parameters3/5

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

Schema description coverage is 100% with clear descriptions for both parameters ('Rule as JSON string', 'Sample event as JSON string'). The description adds no further parameter details, so baseline score 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?

Description clearly states the tool tests a trigger rule without creating it, using 'dry run evaluation.' This distinguishes it from sibling create_trigger, which actually creates the rule.

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?

Description explicitly indicates it is for testing before creation ('without creating it — dry run evaluation'), implying when to use. It does not explicitly list when not to use, but the sibling list provides natural alternatives.

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

toggle_triggerA

Enable or disable an existing webhook trigger by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTrigger ID to toggle
is_activeYestrue to enable, false to disable

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the mutation (enable/disable) but lacks details on side effects, required permissions, idempotency, or behavior for invalid IDs. This is a significant gap for a mutation 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 a single, concise sentence that front-loads the action and resource. Every word earns its place with no redundancy or 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 simple toggle tool with two well-described parameters and no output schema, the description is mostly adequate. It could mention that the trigger must exist, but overall it provides enough context 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?

The input schema has 100% description coverage for both parameters (id and is_active). The description does not add extra semantic meaning beyond the schema, so the baseline score 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 action ('enable or disable') and the resource ('existing webhook trigger by ID'), distinguishing it from sibling tools like create_trigger, delete_trigger, list_triggers, and test_trigger.

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 implies a straightforward toggle operation but does not explicitly mention when to use this tool over alternatives or any prerequisites. However, the context is clear: use when needing to change active status of an existing trigger.

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. 32 tool updatesv0.4.1
    • First observedcreate_trigger
    • First observeddelete_cohort
    • First observeddelete_trigger
    • First observedexport_data
    • First observedget_candles
    • First observedget_cohort_addresses
    • First observedget_deposits
    • First observedget_fills
    • First observedget_funding_rates
    • First observedget_funding_stats
    • First observedget_liquidation_levels
    • First observedget_liquidations
    • First observedget_mark_prices
    • First observedget_me
    • First observedget_net_flows
    • First observedget_open_interest
    • First observedget_order_flow
    • First observedget_order_statuses
    • First observedget_orderbook
    • First observedget_price
    • First observedget_recent_trades
    • First observedget_status
    • First observedget_status_history
    • First observedget_status_metrics
    • First observedget_vault_leaderboard
    • First observedget_vault_operations
    • First observedget_withdrawals
    • First observedlist_cohorts
    • First observedlist_markets
    • First observedlist_triggers
    • First observedtest_trigger
    • First observedtoggle_trigger

TDQS

B3.3/5.0

Scored across 32 tools

Disambiguation4/5

Most tools map cleanly to distinct resources and actions, but a few clusters could cause misselection: get_price vs get_mark_prices, get_funding_rates vs get_funding_stats, and the three status-oriented tools. Descriptions help, but the boundaries are not always immediately obvious.

Naming Consistency4/5

Names consistently use snake_case verb_noun patterns, which is good. However, read operations mix get_ and list_ (list_markets, get_cohort_addresses), and several get_* tools return collections rather than single items, making the convention slightly uneven.

Tool Count2/5

At 32 tools, the surface feels bloated for an agent-facing server. Several tools are narrowly scoped variants that could be consolidated with parameters, such as funding rates/stats, status/history/metrics, and liquidations/liquidation levels. This will consume significant context and increase selection difficulty.

Completeness3/5

Market data and wallet analytics are broadly covered, but there are notable lifecycle gaps: no update_trigger, and cohort management supports list/get/delete but not create or modify. Wallet positions and balances are also absent, leaving workarounds for common analytics flows. Core read workflows are otherwise well represented.

Related MCP Connectors