AlgoVault — Crypto Quant Trade Calls
Server Details
The Brain Layer for AI Trading Agents — quant calls + cross-venue arb across perp venues via MCP.
- Status
- Healthy
- Uptime
- 99.6% over 83 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- AlgoVaultLabs/crypto-quant-signal-mcp
- GitHub Stars
- 10
- Server Listing
- crypto-quant-signal-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 10 tools
Most tools have sharply distinct scopes: single-asset reads (get_trade_call, get_market_regime) vs whole-market scans (scan_trade_calls, scan_market_regimes), plus a funding-arb scan, a pre-trade checker, and two knowledge tools split by synthesis vs lexical search. The one clear collision is get_trade_signal, which is a documented alias of get_trade_call and duplicates its surface. Descriptions do flag the alias explicitly, so misselection risk is contained rather than absent.
Names follow a readable verb_noun convention (get_*, scan_*, search_knowledge, chat_knowledge), with the get_/scan_ prefix pair nicely encoding single-asset vs breadth semantics. The only deviation is pre_trade_check, which is a noun phrase without a leading verb but is still self-explanatory. No mixed casing or chaotic styles.
Ten tools sit squarely in the well-scoped range, with each entry earning a distinct role: knowledge lookup, two scan types, two single-asset reads, funding arb, pre-trade validation, and track record. Even the alias is a deliberate compatibility artifact rather than surface bloat.
The read-only lifecycle is well covered end to end: discover calls (scan), drill into one (get), check regime, validate an order before execution, evaluate funding arb, and verify performance via track record. Minor gaps remain, such as no tool to enumerate supported assets/venues or fetch per-signal historical outcomes beyond the track-record include options. No write operations are missing by design, since the server is explicitly read-only.
Available Tools
10 toolschat_knowledgeARead-onlyInspect
Returns a synthesized natural-language answer with citations, grounded in the AlgoVault knowledge bundle (every MCP tool description, response shape, integration tutorial, and code example). Use when you need an explanation, code pattern, or how-to; for raw ranked snippets without LLM synthesis use search_knowledge (faster, no quota cost). Read-only: calls an LLM, no other side effects. Quota: Free 10/month, Starter 50, Pro 200, Enterprise 2000.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model override (default claude-haiku-4-5-20251001). | |
| question | Yes | Natural-language question (5-500 chars). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already declaring read-only, the description adds valuable operational context beyond them: it calls an LLM (implying cost/latency), has no other side effects, and lists specific quota limits per plan (Free 10, Starter 50, Pro 200, Enterprise 2000). This exceeds the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each with a distinct purpose: what it does, when to use it (and when not), and operational constraints (read-only, quota). No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with a fully documented schema and annotations, covers the tool's return type, use cases, alternatives, quota, and safety profile. Since there is no output schema, the explicit mention of 'synthesized natural-language answer with citations' sufficiently communicates the expected response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for both parameters (question with length constraints, model with enum options). The description adds no additional parameter semantics, which is the expected baseline when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns'), identifies the resource ('AlgoVault knowledge bundle'), and specifies the output ('synthesized natural-language answer with citations'). It also explicitly distinguishes the tool from the sibling search_knowledge by contrasting LLM synthesis vs. raw ranked snippets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear usage guidance is provided: 'Use when you need an explanation, code pattern, or how-to', and an explicit alternative is named ('for raw ranked snippets without LLM synthesis use search_knowledge'), including the trade-off that it is faster and has no quota cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_regimeARead-onlyInspect
Returns the market regime — TRENDING_UP TRENDING_DOWN RANGING VOLATILE — with confidence and a strategy hint, for one crypto perpetual futures. Composite verdict: trend ranging + cross-venue funding rate. Read-only, live exchange APIs. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Base asset crypto signal, e.g. BTC ETH SOL signal. Crypto quant regime. | |
| exchange | No | Crypto venue, e.g. Binance Bybit OKX Bitget Hyperliquid. Multi-exchange. | HL |
| timeframe | No | Candle timeframe, e.g. 1h 4h 1d. Buy sell hold AI trading signal context. | 4h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only, live exchange APIs.' It adds useful behavioral context beyond the annotations: the verdict is composite of trend/ranging and cross-venue funding rate, and the output includes confidence and a strategy hint. It does not cover rate limits or failure modes, but with annotations present the safety profile is sufficiently disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the key deliverable: the market regime values, confidence, and strategy hint. The verification sentence is dense but not bloated, and there is no redundant padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval tool with three well-documented parameters and no output schema, the description supplies the return values, confidence, strategy hint, and composite methodology. It lacks explicit sibling routing and exact response structure, but those gaps are minor given the schema enum coverage and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little about the exact parameters beyond limiting the tool to a single crypto perpetual futures asset. It does not add syntax, default semantics, or parameter-specific guidance beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Returns'), the resource ('market regime'), the possible output values, and the asset scope ('crypto perpetual futures'). It does not explicitly differentiate itself from siblings like get_trade_signal or get_trade_call, but the regime-value list makes the core purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context 'for one crypto perpetual futures' implies when the tool is relevant, and 'Read-only, live exchange APIs' clarifies the nature of the call. However, there is no explicit guidance about when to use this tool versus alternatives, and the get_track_record mention is about validating track record rather than choosing between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_recordARead-onlyInspect
Returns the AlgoVault track record — aggregated PFE win rates by call type, timeframe and asset tier, plus the evaluation methodology and window. The same verified aggregate the performance://signal-performance resource serves, callable from harnesses that bridge tools only. Defaults to the compact aggregate; use include for the per-asset, per-venue or recent-signal breakdowns. Read-only, no side effects.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Optional extra sections: byAsset, byExchange, recentSignals. Omit for compact. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with 'Read-only, no side effects.' It adds useful behavior beyond annotations: compact-by-default output, optional breakdown sections, and the fact that the same aggregate is served by performance://signal-performance. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose/content, alternative-resource context, and parameter/default behavior. The key return content is front-loaded before the include guidance, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only aggregate tool with no output schema, the description tells the agent what data is returned (PFE win rates, methodology, window), how to control detail with include, and that it is safe to call. The annotations cover the safety profile, and no essential call-time behavior is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single include parameter with enum values and the 'Omit for compact' guidance, so description coverage is 100% and the bar is lower. The description adds mild semantic color by calling byExchange 'per-venue' and framing the values as breakdown sections, but it does not substantially extend the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource ('Returns the AlgoVault track record') and specifies the exact contents: aggregated PFE win rates by call type, timeframe, and asset tier, plus methodology and window. This clearly distinguishes it from sibling tools like get_trade_call and get_trade_signal, which return individual calls/signals rather than an aggregate record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when the compact default is appropriate and when to use the include parameter for per-asset, per-venue, or recent-signal breakdowns. It also notes the performance://signal-performance equivalence and harness-only callability. It does not explicitly name exclusion cases or sibling alternatives, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trade_callARead-onlyInspect
Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures. One asset only; whole-market scan: scan_trade_calls. Read-only: live exchange APIs, no orders. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Base asset, e.g. BTC ETH SOL signal, or a US stock/ETF ticker (no USDT). | |
| exchange | No | Crypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid. | |
| timeframe | No | Candle timeframe, 1m to 1d. Default 15m. Crypto quant intraday horizon. | |
| assetClass | No | Force engine: 'perp' or 'equity'. Cross-venue multi-exchange AI trading signal. | |
| includeReasoning | No | Include reasoning: trend ranging crypto signal and market regime drivers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only and non-destructive; the description reinforces this with 'live exchange APIs, no orders,' which adds operational context beyond the hints. It also discloses the verified-provenance angle with get_track_record and the on-chain merkle anchor. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences front-load the core behavior and scope before routing to alternatives. The track-record sentence is marginally tangential but still informative, and there is no real padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with rich schema coverage, the description covers purpose, scope, alternative, and safety in a compact way. Without an output schema, it gives the main elements of the return (verdict, confidence, market regime) but not a complete response shape; still sufficient to call correctly with just the coin parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has descriptive text with defaults and examples. The description adds only the one-asset constraint and the composite-verdict framing, not new parameter-level semantics, so the schema carries the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource: returns a composite BUY/SELL/HOLD verdict with confidence and market regime for a single perpetual-futures asset. It also explicitly contrasts with the whole-market scan sibling scan_trade_calls, so an agent can distinguish the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'One asset only; whole-market scan: scan_trade_calls' sentence gives an explicit alternative and the condition that selects it. However, it does not explain how to choose between get_trade_call and the similarly named get_trade_signal, leaving that distinction implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trade_signalARead-onlyInspect
Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures. One asset only; whole-market scan: scan_trade_calls. Read-only: live exchange APIs, no orders. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor. [ALIAS] This tool is an alias of get_trade_call — same behavior, kept for backward compatibility. Prefer get_trade_call for new integrations.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Base asset, e.g. BTC ETH SOL signal, or a US stock/ETF ticker (no USDT). | |
| exchange | No | Crypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid. | |
| timeframe | No | Candle timeframe, 1m to 1d. Default 15m. Crypto quant intraday horizon. | |
| assetClass | No | Force engine: 'perp' or 'equity'. Cross-venue multi-exchange AI trading signal. | |
| includeReasoning | No | Include reasoning: trend ranging crypto signal and market regime drivers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds that it queries 'live exchange APIs, no orders', discloses alias equivalence with get_trade_call, and mentions a verified track record. This adds useful behavioral context beyond annotations, though it could detail latency or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main output is front-loaded in the first sentence. Subsequent sentences each serve a purpose: scope, whole-market alternative, read-only safety, verification, and alias. It is dense but not bloated; the 'performance://signal-performance' reference is slightly cryptic but still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters, no output schema, and informative annotations, the description covers the return shape (BUY/SELL/HOLD, confidence, market regime), single-asset input, read-only behavior, and alias relationship. It could add default exchange/timeframe behavior or response structure details, but the current context is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the baseline is already satisfied. The description adds meaning by clarifying 'One asset only' and 'crypto or tokenized-stock perpetual futures', which usefully constrains the coin and assetClass parameters beyond the schema examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures.' It explicitly distinguishes itself from scan_trade_calls ('One asset only; whole-market scan') and identifies the alias get_trade_call, so sibling confusion is minimized.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states single-asset scope and routes whole-market scans to scan_trade_calls. It also points to get_track_record/performance://signal-performance for verification and advises preferring get_trade_call for new integrations, giving clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_trade_checkARead-onlyInspect
Returns a pre-trade check of a crypto perpetual futures order against your own rules: each passes or fails with its numbers, then GO, CAUTION or WAIT. Adds isolated liquidation distance, whether it hits before your stop, fees, accuracy needed to break even over your hold, funding by venue (cross-venue) and the regime. Read-only: places no orders.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Asset symbol, e.g. BTC, ETH, SOL. | |
| side | Yes | Direction of the order you intend to place: long or short. | |
| rules | No | Your rules, each key optional. Saved rules apply too; a failed one returns WAIT. | |
| sizeUsd | Yes | Order notional in USD, e.g. 10000. | |
| stopPct | No | Stop-loss distance from entry in percent, e.g. 2. | |
| leverage | No | Isolated leverage you will use, e.g. 10. Enables the liquidation checks. | |
| equityUsd | No | Account equity in USD. Enables the percent-of-equity rules. | |
| exchanges | No | Only compare these venues (default: every supported venue). | |
| holdHours | No | Expected holding time in hours (default 8); sets the funding cost window. | |
| orderType | No | market (taker entry) or limit (maker entry). Default market. | market |
| targetPct | No | Target distance from entry in percent, e.g. 4. | |
| timeframe | No | Market-regime timeframe: 1h, 4h or 1d (default 4h). | 4h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only: places no orders.' It goes further by sketching the response shape (per-rule pass/fail with numbers, then a GO/CAUTION/WAIT verdict) and naming the extra analyses performed, which is valuable given there is no output schema. It does not mention latency, rate limits, or what happens when optional inputs like leverage or equityUsd are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns and its verdict scale, followed by the differentiating analyses. The dense clause list is informative rather than padded, and the read-only assurance closes it out cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter tool with a nested rules object and no output schema, the description does the essential work of explaining the return structure and the analytical dimensions. It falls slightly short on how optional inputs gate specific checks and on which rules are persisted versus passed per call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter, including the nested rules object, is documented inline, so the baseline is 3. The description adds conceptual linkage (liquidation distance, break-even accuracy over the hold, cross-venue funding) but no syntax, defaults, or format detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it checks a crypto perpetual futures order against the caller's rules and returns pass/fail plus a GO/CAUTION/WAIT verdict. That is clearly distinct from signal/call siblings like get_trade_call and get_trade_signal, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'a pre-trade check of ... an order' you are about to place. There is no explicit when-to-use vs get_trade_call/get_trade_signal guidance, and no when-not conditions or prerequisites such as needing leverage/equity to unlock certain checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_funding_arbARead-onlyInspect
Ranked cross-venue funding arbitrage across major crypto perpetual futures venues — funding rate spreads, long one venue short another, as a BUY SELL HOLD composite verdict per pair. AI trading signal for crypto quant and Claude trading agents. Trade call via get_trade_call, market regime via get_market_regime. On-chain verified merkle anchor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max ranked results, e.g. 5 (free tier cap). Crypto quant AI trading signal. | |
| minSpreadBps | No | Minimum funding rate spread in bps. Cross-venue multi-exchange crypto signal. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful context: outputs are ranked, include a composite verdict, and are 'on-chain verified merkle anchor' – enriching the behavioral picture beyond the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences with the core purpose front-loaded. The second sentence ('AI trading signal...') is somewhat promotional, but the overall structure is efficient and no essential details are buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description gives a reasonable sense of what is returned (ranked pairs, spread, separate verdict, merkle anchor). It could be more explicit about output fields, but given the simple params and annotations, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters (limit, minSpreadBps) with defaults and ranges (100% coverage). The description does not add further parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans cross-venue funding arbitrage and returns ranked per-pair spreads and BUY/SELL/HOLD verdicts. The specific verb 'scan' and resource 'funding arbitrage' distinguish it from siblings like scan_trade_calls and get_trade_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names related tools (get_trade_call, get_market_regime) providing useful alternatives for specific needs. However, it does not explicitly contrast with scan_trade_calls or mention when not to use this tool, falling just short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_market_regimesARead-onlyInspect
Screens a whole crypto perpetual futures venue by market regime — TRENDING_UP TRENDING_DOWN RANGING VOLATILE — and returns each matching coin with confidence, trend strength, ADX, volatility ratio and how long the regime has held. Rows are the market regime classifier output for the last closed bar, sampled on Binance, Bybit, OKX and Bitget; another venue, or a timeframe a venue cannot serve, is refused with the alternatives. Billing: one call per returned row; non-matching coins are free. For a live single-coin read with cross-venue funding, call get_market_regime. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | Lens universe size, 1 to 1000 (default 100 with rankBy). Without rankBy it selects the top coins by open interest. | |
| coins | No | Restrict to these symbols, e.g. ["BTC","ETH"]. Symbols not on the venue are listed in not_found and not billed. | |
| limit | No | Page size, 1 to 100 (default 20). | |
| offset | No | Rows to skip, for paging within one snapshot. A changed as_of means the snapshot advanced between pages. | |
| rankBy | No | Optional universe lens — the same lenses and aliases as scan_trade_calls rankBy; rows then echo the lens metric. Omit to screen every coin. | |
| regime | No | Keep only these regimes (any of): TRENDING_UP, TRENDING_DOWN, RANGING, VOLATILE. | |
| sortBy | No | confidence (default), regime_age (most recent regime change first, unknown starts last), or rank (lens order; needs rankBy). | confidence |
| oiBasis | No | OI-delta basis for rankBy=oi_change: notional (default, USD) or contracts (base-coin, price-independent). Ignored by other lenses. | notional |
| exchange | No | Venue to screen (default Binance). A venue outside the sampled set is refused with the sampled list. | BINANCE |
| timeframe | No | Regime timeframe: 1h, 4h or 1d (default 4h). | 4h |
| assetClass | No | all (default), crypto, tradfi (every non-crypto class), equity, commodity, index, fx or premarket. | all |
| minConfidence | No | Optional confidence floor, 0 to 100. | |
| oiChangeWindow | No | OI-delta window for rankBy=oi_change: 1h, 4h, or 24h (default 24h). Ignored by other lenses. | 24h |
| minLiquidityUsd | No | Optional USD liquidity floor applied to the scan universe: notional open interest, or 24h volume on venues that expose no bulk OI. Omitted means no floor. | |
| maxRegimeAgeBars | No | Keep only coins whose regime began within this many bars (1 = changed on the last closed bar). Coins whose regime start is not yet known are excluded. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description nonetheless adds real behavioral context beyond them: the billing model (one call per returned row, non-matching coins free), the refusal-with-alternatives behavior, and the snapshot/closed-bar freshness semantics. However, it asserts the venue is 'sampled on Binance, Bybit, OKX and Bitget' while the exchange enum exposes 15 venues, leaving the actual sampled set ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and regime vocabulary, then transitions to data source, billing, and the sibling alternative in a logical order. It is dense and slightly long for a single paragraph, but every sentence carries information an agent needs (regimes, fields, billing, alternative).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, zero-required screening tool with no output schema, the description compensates by naming the return columns (confidence, trend strength, ADX, volatility ratio, regime age), the billing consequence, and the refusal path. Nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 15 parameters, so the schema already carries the semantics and a baseline of 3 applies. The description restates the regime labels and the venue/timeframe constraint but adds no syntax, default, or interaction detail beyond what the schema documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (screens) and resource (crypto perpetual futures venue by market regime), enumerates the four regime labels it filters on, and lists the returned fields. It also explicitly distinguishes itself from the sibling get_market_regime ('live single-coin read'), so an agent can route without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative and the condition that selects it: use get_market_regime 'for a live single-coin read with cross-venue funding.' It also states when the tool will refuse (unsupported venue or timeframe) and that the alternatives are returned, so failure behavior is anticipated rather than inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_trade_callsARead-onlyInspect
Returns ranked BUY SELL HOLD trade calls across the top crypto perpetual futures by open interest — one scan for whole-market coverage, each with confidence and market regime. Use this for breadth; use get_trade_call for per-coin depth and reasoning. Read-only: reads live exchange APIs, places no orders.
| Name | Required | Description | Default |
|---|---|---|---|
| topN | No | How many top perps by open interest to scan, 1 to 100 (default 20). | |
| limit | No | Max ranked calls to return, 1 to 100 (default 10). Non-HOLD ranked first. | |
| rankBy | No | Universe lens: oi (default) volume gainers losers movers funding_positive funding_negative volatility oi_change (aliases vol gain lose move pfr nfr atr oid). funding_*/volatility/oi_change rank among the most-liquid perps; oi_change = real 24h open-interest %Δ. | oi |
| oiBasis | No | OI-delta basis for rankBy=oi_change: notional (default, USD) or contracts (base-coin, price-independent). Ignored by other lenses. | notional |
| exchange | No | Crypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid. | BINANCE |
| timeframe | No | Candle timeframe, 1m to 1d for the scan. Default 15m intraday. | 15m |
| includeHolds | No | Include HOLD calls after non-HOLD (default false). | |
| minConfidence | No | Optional confidence floor, 0 to 100, applied to non-HOLD trade calls. | |
| oiChangeWindow | No | OI-delta window for rankBy=oi_change: 1h, 4h, or 24h (default 24h). Ignored by other lenses. | 24h |
| minLiquidityUsd | No | Optional USD liquidity floor applied to the scan universe: notional open interest, or 24h volume on venues that expose no bulk OI. Omitted means no floor. | |
| includeReasoning | No | Enrich each non-HOLD call with price, the top 2-3 drivers, and one-line reasoning (default false → bare verdict cells). HOLDs stay bare. Same per-call detail as get_trade_call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds context beyond that by stating it 'reads live exchange APIs' and 'places no orders,' and it discloses output characteristics: ranked calls, confidence, and market regime. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences carry all essential information: what it returns, when to use it, and its safety profile. The main purpose is front-loaded, usage guidance comes second, and safety is concise. No filler or redundant restating of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, read-only market scanner with no output schema, the description covers purpose, breadth-versus-depth routing, safety, and the shape of the result. The remaining operational details (parameter meanings, defaults, constraints) are fully covered by the rich input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already thoroughly documents every parameter with defaults, ranges, enums, and condition-specific meanings. The description adds high-level context about whole-market scanning but does not need to repeat parameter details. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Returns ranked BUY SELL HOLD trade calls across the top crypto perpetual futures by open interest.' It clearly distinguishes itself from the sibling get_trade_call by framing this as whole-market breadth versus per-coin depth, so an agent can select it without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this for breadth; use get_trade_call for per-coin depth and reasoning.' This provides a direct when-to-use rule and names the alternative, making the selection decision unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_knowledgeARead-onlyInspect
Returns ranked snippets from the AlgoVault knowledge bundle answering a question about its MCP tools, response shapes, integration patterns (LangChain, LlamaIndex, MAF, CrewAI), or code examples. Call this BEFORE other tool calls to confirm parameter usage and avoid hallucinating tool shapes. Fast: BM25 lexical search, no LLM call, no quota cost. For a synthesized natural-language answer use chat_knowledge. Read-only, no side effects.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max ranked results (1-50, default 10). | |
| query | Yes | Natural-language search query (3-500 chars). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive hints. The description adds valuable context: fast BM25 lexical search, no LLM call, no quota cost, and explicitly 'Read-only, no side effects.' This goes beyond the annotation basics, though it doesn't detail result structure or pagination, which is acceptable given the tool's simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: functionality, usage timing, and alternative. Front-loaded with the core purpose, then key behavioral notes. No fluff or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-parameter tool with no output schema, the description covers purpose, when to use, performance characteristics, safety, and alternative tool. It is sufficiently complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining the query is a natural-language question about specific topics (MCP tools, response shapes, etc.), and reinforces the limit as controlling 'ranked results'. This is more than the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and resource ('AlgoVault knowledge bundle') with clear scope: ranked snippets answering questions about MCP tools, response shapes, integration patterns, or code examples. It also explicitly distinguishes itself from sibling chat_knowledge by noting that chat_knowledge provides synthesized natural-language answers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Call this BEFORE other tool calls to confirm parameter usage and avoid hallucinating tool shapes.' Also names the alternative: 'For a synthesized natural-language answer use chat_knowledge.' This gives clear context and exclusions.
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 tool update
- Changed
pre_trade_check1 field changed- changed
Input schema / properties / rules / descriptionPrevious value: -"Your rules, each key optional. A rule of yours that fails returns WAIT."New value: +"Your rules, each key optional. Saved rules apply too; a failed one returns WAIT."
1 tool update
- Changed
pre_trade_check6 fields changed- added
Input schema / properties / equityUsdAdded value: +{ + "description": "Account equity in USD. Enables the percent-of-equity rules.", + "exclusiveMinimum": 0, + "maximum": 10000000000, + "type": "number" +} - added
Input schema / properties / leverageAdded value: +{ + "description": "Isolated leverage you will use, e.g. 10. Enables the liquidation checks.", + "maximum": 200, + "minimum": 1, + "type": "number" +} - added
Input schema / properties / orderTypeAdded value: +{ + "default": "market", + "description": "market (taker entry) or limit (maker entry). Default market.", + "enum": [ + "market", + "limit" + ], + "type": "string" +} - added
Input schema / properties / rulesAdded value: +{ + "additionalProperties": false, + "description": "Your rules, each key optional. A rule of yours that fails returns WAIT.", + "properties": { + "maxAccuracyNeededPct": { + "description": "Highest direction accuracy, in percent, needed to break even.", + "maximum": 100, + "minimum": 50, + "type": "number" + }, + "maxDailyMovePctEquity": { + "description": "Largest equity swing, in percent, from a one-sigma daily move.", + "maximum": 100, + "minimum": 0, + "type": "number" + }, + "maxFundingBps": { + "description": "Highest funding over the hold, in bps. Default 10.", + "maximum": 10000, + "minimum": 0, + "type": "number" + }, + "maxLeverage": { + "description": "Highest leverage you allow.", + "maximum": 200, + "minimum": 1, + "type": "number" + }, + "maxLossAtStopPctEquity": { + "description": "Most equity, in percent, you accept losing at your stop.", + "maximum": 100, + "minimum": 0, + "type": "number" + }, + "maxRoundTripBps": { + "description": "Highest round trip in fees plus spread, in bps.", + "maximum": 1000, + "minimum": 0, + "type": "number" + }, + "maxSizePctOf24hVolume": { + "description": "Largest order as a percent of a venue's 24h volume. Default 0.1.", + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "minLiqDistanceSigma": { + "description": "Liquidation at least this many hold-period volatilities away.", + "maximum": 50, + "minimum": 0, + "type": "number" + }, + "noLiqBeforeStop": { + "description": "Fail if liquidation would come before your stop. Default on.", + "type": "boolean" + }, + "regimeCheck": { + "description": "Flag a regime against your side or a volatile one. Default on.", + "type": "boolean" + } + }, + "type": "object" +} - added
Input schema / properties / stopPctAdded value: +{ + "description": "Stop-loss distance from entry in percent, e.g. 2.", + "maximum": 50, + "minimum": 0.01, + "type": "number" +} - added
Input schema / properties / targetPctAdded value: +{ + "description": "Target distance from entry in percent, e.g. 4.", + "maximum": 1000, + "minimum": 0.01, + "type": "number" +}
1 tool update
- Added
pre_trade_check
1 tool update
- Added
scan_market_regimes
4 tool updates
- Changed
get_market_regime1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT", + "WEEX" +]
- Changed
get_trade_call1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT", + "WEEX" +]
- Changed
get_trade_signal1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT", + "WEEX" +]
- Changed
scan_trade_calls1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT", + "WEEX" +]
4 tool updates
- Changed
get_market_regime1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "BITMART", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT" +]
- Changed
get_trade_call1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "BITMART", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT" +]
- Changed
get_trade_signal1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "BITMART", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT" +]
- Changed
scan_trade_calls1 field changed- changed
Input schema / properties / exchange / enumPrevious value: -[ - "HL", - "BINANCE", - "BYBIT", - "OKX", - "BITGET", - "ASTER", - "BINGX", - "GATE", - "HTX", - "KUCOIN", - "MEXC", - "PHEMEX", - "WHITEBIT", - "BITMART", - "XT" -]New value: +[ + "HL", + "BINANCE", + "BYBIT", + "OKX", + "BITGET", + "ASTER", + "BINGX", + "GATE", + "HTX", + "KUCOIN", + "MEXC", + "PHEMEX", + "WHITEBIT", + "XT" +]
1 tool update
- Added
get_track_record
1 tool update
- Changed
scan_trade_calls1 field changed- changed
Input schema / properties / exchange / descriptionPrevious value: -"Venue: BINANCE (default) HL BYBIT OKX BITGET."New value: +"Crypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid."
Related MCP Connectors
Pay-per-call trading intelligence for AI agents: live market regime, trading signals, composite conv
HiveCapital MCP Server — autonomous investment layer for AI agents
Trading floor for AI agents: swap practical experience on perps, risk and Decibel. No advice.
Crypto perps for AI agents: funding, OI, liquidations, order book, CVD, volume profile, footprint.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables real-time optimization of Uniswap v3/v4 concentrated liquidity ticks by balancing fee APY against impermanent loss under asset volatility, alongside L2 orderbook imbalance metrics, triangular arbitrage detection, and Bayesian portfolio rebalancing via MCP.7MIT
- AlicenseNot gradedqualityFmaintenanceMCP server for spread-only options execution on Base L2, enabling AI agents to trade options via a defined tool loop.1MIT

bitraofficial
AlicenseAqualityBmaintenanceAutonomous trading agents with deterministic execution. The agents propose, the system decides.10426 PyPI47MIT- AlicenseAqualityCmaintenanceThe conviction engine for autonomous crypto trading agents. 376 metrics across 8 factor classes, multi-factor backtesting, signal persistence, and regime analysis — 21 tools for AI agents via MCP.21148 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.