midasflow-mcp-quickstart
Server Details
Agent-native crypto market-data over MCP+REST: order flow, whales, liquidations, calibrated scores
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 14 of 14 tools scored. Lowest: 3.8/5.
Each tool targets a distinct aspect of market data and analytics, with clear, detailed descriptions that prevent overlap. Even similar concepts like 'get_accuracy' and 'score_symbol' are differentiated by purpose and output.
Most tools follow a consistent 'get_noun' pattern, but a few (account, analyze, backtest, calc_ev) deviate slightly, yet they remain clear and predictable.
14 tools cover a comprehensive range of functionalities for a financial data server, from account management to advanced analytics, without being overwhelming or sparse.
The tool set appears to cover all essential data and analytics needs for the server's domain, including historical data, real-time context, signals, and scoring, leaving no obvious gaps for its purpose.
Available Tools
14 toolsaccountAccount (tier / quota / balance / usage / tiers) [grouped]ARead-onlyIdempotentInspect
Your mf_ key's account view, grouped by kind. kind='account' (default)=tier/product, weighted daily quota, used/remaining today, billing, prepaid balance (/v1/account); kind='usage'=today's count + cap AND the endpoint_weights map (exact per-call cost units, /v1/usage); kind='tiers'=the Flow data-product tier ladder, delivered-now vs roadmap (/v1/tiers). Read account/usage to self-throttle by your remaining quota. Empty/unknown kind → a menu of kinds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'account' (default, /v1/account) | 'usage' (/v1/usage — incl endpoint_weights) | 'tiers' (/v1/tiers). Empty/unknown → menu. | account |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. Description adds rich behavioral detail: different endpoints per kind, what each returns (e.g., endpoint_weights map), and menu fallback. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence adds value. Front-loaded with main purpose, then details each kind. No filler. Efficient and well-structured.
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?
Given the tool's complexity (three modes with different responses) and the presence of an output schema, the description fully explains the parameter, behavior, and use case. Nothing 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 coverage is 100% but description adds significant meaning: explains the effect of each 'kind' value ('account', 'usage', 'tiers') and the behavior when empty/unknown. Goes beyond the schema's brief description.
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?
Clearly states the tool returns the account view grouped by kind. Specific verb-resource pairing and explains each kind's purpose, distinguishing it from siblings like get_candles or analyze.
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?
Explicitly states when to use: 'Read account/usage to self-throttle by your remaining quota.' Does not exclude alternatives, but the context makes it sufficient. Also mentions behavior for empty/unknown kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze[LAB] Analyze symbol (AI-Analyst report — heaviest)ARead-onlyIdempotentInspect
LAB / RESEARCH tool — the full MidasFlow AI-Analyst report for a symbol: a synthesized narrative fusing flow, derivatives, levels, regime and signal context into a human-readable read RIGHT NOW. This is the HEAVIEST call (composes many sub-feeds) so it costs MORE units and requires a TOP tier; call it sparingly, AFTER cheaper context tools. Market DATA / AI-generated analytics, NOT financial advice. Routes: /v1/analyze/{symbol}.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Report language, e.g. 'en' | 'ru' | 'uk' | 'es' (BCP-47-ish). Default 'en'. | en |
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint. The description adds value by disclosing cost implications (heaviest, more units, requires TOP tier), the route, and that it is not financial advice. 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?
The description is relatively concise with four sentences, front-loading the purpose. Every sentence adds value, though some phrasing (e.g., 'RIGHT NOW') could be considered redundant. Well-structured overall.
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?
Given the complexity and that an output schema exists (not shown), the description explains the output as a human-readable narrative combining multiple data sources. It does not cover error scenarios but provides sufficient context for the tool's heavy nature.
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 baseline is 3. The description does not add extra detail beyond what the schema provides for the two parameters (symbol and lang). No parameter-specific elaboration.
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 produces 'the full MidasFlow AI-Analyst report for a symbol' and describes the synthesized narrative. It distinguishes itself from siblings by calling itself 'the HEAVIEST call' and directing to use after cheaper tools.
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?
Explicitly says to call this tool 'sparingly, AFTER cheaper context tools,' providing clear usage guidance. However, it does not name specific alternative sibling tools, only 'cheaper context tools' generically.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backtest[LAB] Backtest a setup (historical P(TP1 before SL) + EV)ARead-onlyIdempotentInspect
LAB / RESEARCH tool — replay an arbitrary {symbol, entry, tp, sl} setup over MidasFlow's 1m candle history and get its historical P(TP1-before-SL) + EV, in the canonical first-touch TP1 frame (same frame as get_accuracy). Historical market DATA, NOT a prediction or advice. Low-sample setups return a directional band (normal, not an error). NOTE: live results are gated behind ff:backtest_live — until that flips, EVERY tier gets a coming-soon envelope (no live numbers). Routes: POST /v1/backtest.
| Name | Required | Description | Default |
|---|---|---|---|
| sl | Yes | Stop-loss price. Direction (long/short) is inferred from tp/sl vs entry. | |
| tp | Yes | Take-profit price, or an ordered list of prices (nearest = TP1 banked first). | |
| entry | Yes | Entry price; defines the TP/SL offsets replayed over historical anchors. | |
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). | |
| max_hold_min | No | Forward first-touch window per anchor in minutes (clamped 15-1440). Default 240. Timeout anchors are excluded from p, not losses. | |
| lookback_days | No | Historical window to sample anchors from, in days (clamped 7-90). Default 30. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive nature. The description adds context beyond annotations by explaining that low-sample setups return directional bands (not errors) and that live results are gated. 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?
The description is concise, with each sentence adding value: purpose, nature, behavior, gating, route. It is front-loaded with the core action and efficiently covers all key points without redundancy.
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?
Given the 6 parameters, 100% schema coverage, presence of output schema, and annotations, the description fully covers the tool's purpose, constraints (historical only, gating), edge case behavior, and relationship to siblings. No gaps for intended use.
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 baseline is 3. The description does not add significant new meaning per parameter beyond summarizing required params as {symbol, entry, tp, sl}. It adds frame context but not detailed semantics.
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 backtests a setup over historical data, specifying the verb 'replay' and the resource 'setup over MidasFlow's 1m candle history'. It distinguishes from siblings like get_accuracy by mentioning the same frame, and contrasts with predictive tools by stating it is historical market data.
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 labels it as a LAB/RESEARCH tool and notes it is historical data, not prediction. It explains behavior for low-sample setups and the gating behind ff:backtest_live, providing clear context for when to use. However, it does not explicitly list 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.
calc_ev[LAB] Calculate expected value (local analytics, no network)ARead-onlyIdempotentInspect
LAB tool — pure local expected-value calculator over a win-rate and average win/loss percentages. No network, no advice, 0 units. Feed a get_accuracy bucket win-rate (or a score_symbol band) to reason about expectation per trade.
| Name | Required | Description | Default |
|---|---|---|---|
| stake_usd | No | Notional stake to scale EV into dollars. Default 100. | |
| avg_win_pct | Yes | Average gain on a win, in percent (e.g. 2.0 = +2%). | |
| avg_loss_pct | Yes | Average loss on a loss, in percent magnitude (e.g. 1.5 = -1.5%). Sign is ignored. | |
| win_rate_pct | Yes | Probability of a winning trade, in percent (0–100). Feed from a get_accuracy bucket win-rate. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the annotations by stating 'No network, no advice, 0 units' and 'pure local,' which align with readOnlyHint, idempotentHint, and destructiveHint. No contradictions; the description adds useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, concise, and front-loaded with key information (purpose, constraints, usage hints). Every sentence adds value without redundancy.
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 calculator tool with full annotations, an output schema, and clear parameter details, the description provides sufficient context: what it does, how to use it, and its limitations (local, no network). No additional information is needed.
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 descriptions for each parameter are already present in the schema. The description adds a suggestion on where to source win_rate_pct ('Feed from a get_accuracy bucket win-rate'), but this is minor. Baseline 3 is appropriate as the description does not significantly extend the schema's meaning.
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 specifies a 'pure local expected-value calculator' that takes win-rate and average win/loss percentages. It clearly distinguishes itself from siblings by noting it's local, no-network, and zero units, making the tool's purpose unambiguous.
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 provides explicit guidance on when to use the tool, e.g., 'Feed a get_accuracy bucket win-rate (or a score_symbol band).' It doesn't explicitly state when not to use, but the context of a simple calculator with limited input makes the usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accuracyGet accuracy / outcomes (proof of edge) [grouped]ARead-onlyIdempotentInspect
Realized track-record (proof of edge, forward-only, Wilson-bounded), grouped by kind. kind='accuracy' (default)=source×boost first-TP win-rate + boost lift in the canonical TP1 frame (/v1/accuracy); kind='outcomes'=realized aggregate track-record over a window from resolved signal_outcomes, model-free (/v1/outcomes). Win-rate frame = P(price hit TP1 before SL), NOT realized PnL. Model internals never exposed. Empty/unknown kind → a menu of kinds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'accuracy' (default, /v1/accuracy) | 'outcomes' (/v1/outcomes). Empty/unknown → menu. | accuracy |
| source | No | Source-family filter (kind='accuracy', client-side): '' = all | 'pump' | 'flow' | 'breakout' | 'unified' | 'other'. | |
| window | No | Track-record window in days (kind='outcomes'; passed through to /v1/outcomes). 0 = endpoint default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations, such as 'Model internals never exposed' and clarifying that win-rate is not realized PnL. Annotations already indicate read-only and idempotent behavior, so the description provides complementary nuance 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 a single paragraph that efficiently conveys key information, but it could be slightly more structured (e.g., bullet points for kinds) to improve scannability. It is not overly long and front-loads the main purpose.
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?
Given the presence of an output schema and rich annotations, the description adequately covers the tool's purpose and parameters. It could benefit from an example or more detail on return structure, but the combination with output schema makes this sufficient for most agents.
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?
All three parameters have full schema descriptions (100% coverage), but the tool description adds meaning by explaining the grouping by kind, defining each kind, and noting that empty kind yields a menu. This goes beyond the schema, which only lists defaults and values.
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 identifies the tool as retrieving realized track-record (proof of edge) grouped by kind, with specific definitions for 'accuracy' (win-rate in the TP1 frame) and 'outcomes' (aggregate track-record). It distinguishes itself from sibling tools like get_signals or get_flow by focusing on accuracy/outcomes, providing a precise verb+resource.
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 explains when to use each kind and notes that an empty/unknown kind provides a menu, offering contextual guidance. However, it does not explicitly state when not to use this tool or provide direct comparisons to alternatives, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_candlesGet OHLCV candles (price history)ARead-onlyIdempotentInspect
Recent OHLCV candle bars for a symbol at a chosen timeframe — the raw price/volume history other tools are derived from. Inspect trend, range, volatility, volume profile, or feed your own indicators. Market DATA, not advice. A symbol outside the candle store returns an empty bars list (normal, not an error). Routes: /v1/candles/{symbol}.
| Name | Required | Description | Default |
|---|---|---|---|
| tf | No | Timeframe / bar size, e.g. '1m' | '5m' | '15m' | '1h' | '4h' | '1d'. Default '1h'. | 1h |
| limit | No | Max bars, newest last (1-1000; clamped server-side). Default 200. | |
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the bar is lower. The description adds value by noting that a symbol outside the candle store returns an empty bars list (normal behavior) and includes the API route, providing behavioral context beyond 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?
The description is concise with two sentences. The first sentence states the core functionality and use cases, and the second adds edge-case behavior and the API route. No unnecessary words, and key information is front-loaded.
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?
Given the tool's simplicity, full schema description coverage, comprehensive annotations, and presence of an output schema, the description is complete. It explains what the tool does, when to use it, and handles the edge case of an empty result for missing symbols.
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 covers all parameters with descriptions, achieving 100% coverage. The description reinforces the concept but does not add significant semantic meaning beyond what the schema already provides, such as details on range or format. Thus, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves OHLCV candle bars for a symbol at a chosen timeframe, explicitly noting it is the raw data from which other tools derive. This distinguishes it from sibling tools like analyze or get_signals.
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 lists use cases such as inspecting trend, range, volatility, volume profile, or feeding into custom indicators, providing clear context for when to use the tool. However, it does not explicitly mention when not to use it or name alternatives, though sibling tools are listed separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contextGet context (regime / phase / derivatives / funding / squeeze / intel) [grouped]ARead-onlyIdempotentInspect
Contextual market reads, grouped by kind. kind='regime'=market-regime labels (/v1/regime, market-wide, no symbol needed); 'phase'=move-lifecycle / entry-timing for a symbol (/v1/phase, premium+); 'derivatives'=normalized cross-exchange funding/OI/basis summary (/v1/derivatives); 'funding'=PER-VENUE funding+OI (/v1/funding); 'squeeze'=liquidation-cascade proximity (/v1/squeeze); 'intel'=per-symbol aggregated signal-quality roll-up (/v1/intel). Market DATA / context, NOT advice and NOT a win-rate. Empty/unknown kind → a menu of kinds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'regime' (market-wide, /v1/regime) | 'phase' (/v1/phase) | 'derivatives' (/v1/derivatives) | 'funding' (/v1/funding) | 'squeeze' (/v1/squeeze) | 'intel' (/v1/intel). Empty/unknown → menu. | |
| symbol | No | Perp symbol, e.g. 'BTCUSDT' (required for every kind EXCEPT 'regime', which is market-wide). Case/space-insensitive. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, etc. The description adds valuable behavioral context: it explicitly states the tool provides market data, NOT advice or a win-rate, and describes behavior for empty/unknown kind. 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?
The description is a single paragraph but well-structured: first sentence states purpose, then enumerates kinds, then adds a disclaimer. It is not overly verbose, though it could be slightly more concise while maintaining clarity.
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?
Given the tool's complexity (6 kinds, 2 parameters) and the presence of an output schema, the description covers all necessary aspects: each kind's purpose, symbol requirements, and behavior for empty/unknown kind. The disclaimer adds completeness.
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% with detailed parameter descriptions. The tool description adds extra context (e.g., 'market-wide, no symbol needed' for regime, 'normalized cross-exchange' for derivatives) and reinforces the relationship between kind and symbol, slightly enhancing semantic understanding.
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 provides contextual market reads grouped by kind, and lists each kind with a specific verb and resource (e.g., 'regime' for market-wide labels, 'phase' for entry-timing). It distinguishes itself from siblings by offering aggregated context across multiple dimensions.
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 implies when to use each kind (e.g., 'regime' when you need market-wide labels) and notes that empty/unknown kind returns a menu, but it does not explicitly compare to sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flowGet order-flow (cvd / sweeps / cross / vpin) [grouped]ARead-onlyIdempotentInspect
Per-symbol order-flow microstructure, grouped by kind. kind='vpin'/'all' (default)=full snapshot (CVD trend+divergence, VPIN toxicity, sweep state, buy/whale aggression, /v1/flow); 'cvd'=CVD series (/v1/cvd); 'sweeps'=stop-sweep events (/v1/sweeps); 'cross'=cross-exchange flow origin (/v1/cross_flow). Realtime market CONTEXT, NOT advice / a win-rate. Empty/unknown kind → a menu of kinds. VPIN is ONE contested signal — pair with get_accuracy before treating it as edge.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'vpin'/'all' (full /v1/flow snapshot, default) | 'cvd' (/v1/cvd series) | 'sweeps' (/v1/sweeps) | 'cross' (/v1/cross_flow origin). Empty/unknown → menu. | all |
| symbol | No | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, not destructive. The description adds context: real-time nature, not advice, contested nature of VPIN, and the endpoint mapping per kind. This provides behavioral transparency beyond 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 somewhat lengthy but front-loaded with the main purpose. Every sentence adds useful information, though it could be slightly more concise. Overall, it is well-structured and informative.
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?
Given the schema coverage, annotations, and that an output schema exists, the description is complete. It covers all kinds, default behavior, menu for empty kind, and important caveats about VPIN. No gaps are evident.
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% with descriptions for both parameters. The description reinforces the kind parameter by elaborating on each option and the menu behavior. It adds value but does not introduce new parameter semantics beyond what the schema 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 clearly states the tool returns per-symbol order-flow microstructure grouped by kind, with specific examples of each kind (vpin/all, cvd, sweeps, cross). It distinguishes the tool by focusing on microstructure and warns about VPIN, providing clear purpose differentiation.
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 provides guidance on when to use (real-time context, not advice) and suggests pairing with get_accuracy for VPIN. It also explains behavior for empty/unknown kind (menu). However, it does not explicitly compare to sibling tools like get_market or get_signals, limiting alternative selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_heatmapGet liquidation heatmap (price-magnet zones)ARead-onlyIdempotentInspect
Liquidation-heatmap matrix for a symbol — price levels where leveraged positions cluster and are likely force-liquidated (price-magnet zones / liquidity pools). Anticipate where a move may accelerate or stall. Market DATA, not advice; a symbol with no clustering returns an empty matrix (normal, not an error). Routes: /v1/heatmap/{symbol}.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false. The description adds context beyond annotations: empty matrix is normal (not an error), and the data is not advice. This provides useful behavioral guidance.
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 plus a route note, with no wasted words. It is front-loaded with the core purpose and includes essential clarifications efficiently.
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?
With only one parameter and output schema indicated, the description covers purpose, behavior (empty matrix), data classification, and route. It is fully sufficient for an agent to understand the tool's function and output.
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 the description mentions 'a symbol' without adding new detail beyond the schema's description which includes case/space-insensitivity. The description does not enhance parameter understanding 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 clearly states the tool provides a 'Liquidation-heatmap matrix for a symbol' with price levels where leveraged positions cluster. It distinguishes from siblings like get_candles or get_market by focusing on liquidation zones, and uses specific terms like 'price-magnet zones / liquidity pools'.
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 implies usage for anticipating price movement acceleration or stalling, and cautions it's 'Market DATA, not advice'. However, it does not explicitly state when to use this tool over alternatives like get_candles or get_orderbook, nor 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_marketGet market board (movers / overview / anomalies) [grouped]ARead-onlyIdempotentInspect
Whole-market reads, grouped by kind. kind='movers' (default)=top movers ranked (/v1/movers); 'overview'=whole-market roll-up — breadth / direction / activity (/v1/market); 'anomalies'=per-symbol or cross-market anomaly board (volume_spike/abnormal_spread/phantom_tick) with severity bands (/v1/anomalies). Cheap top-level CONTEXT to find what's MOVING before drilling into one symbol. Market DATA, NOT advice. Empty/unknown kind → a menu of kinds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'movers' (default, /v1/movers) | 'overview' (/v1/market) | 'anomalies' (/v1/anomalies). Empty/unknown → menu. | movers |
| limit | No | Max rows for movers (1-100, default 24) / anomalies (1-200, default 20); clamped server-side. | |
| symbol | No | Anomalies single-symbol filter (kind='anomalies' only; empty = cross-market board). Case/space-insensitive. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds behavioral context: it's 'cheap,' 'top-level,' 'not advice,' and explains that empty/unknown kind returns a menu. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but is well-structured, starting with the main purpose, then detailing each kind, and ending with usage guidance. It is concise and every sentence adds value; could be slightly more structured but effective.
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 tool has 3 optional parameters and an output schema. The description covers the three modes, their endpoints, and the nature of the data. It addresses the empty kind case and notes the data is not advice. This is sufficient given the annotations and output 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 coverage is 100%, but the description adds meaning beyond the schema: it explains the grouping by kind, elaborates on each kind's content, and notes case/space-insensitivity for symbol. This provides useful context not captured in 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?
The description clearly states that the tool provides whole-market reads grouped by kind, with specific endpoints for movers, overview, and anomalies. It distinguishes from siblings by framing it as cheap top-level context before drilling into a single symbol.
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 says when to use: 'Cheap top-level CONTEXT to find what's MOVING before drilling into one symbol.' It implies exclusivity with 'before drilling into one symbol' but does not explicitly mention alternatives or when not to use. A more explicit exclusion would improve it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderbookGet order-book snapshot (walls / imbalance + S/R)ARead-onlyIdempotentInspect
Live order-book snapshot for a symbol — bid/ask walls, book imbalance, spread — FOLDED with support/resistance levels (classic TA fused with cross-exchange book walls + Fibonacci) so you see resting liquidity AND the level map in one call. Cross-exchange aggregate, derived levels only. Market DATA, not advice; thin/uncovered symbols return null fields (normal). Routes: /v1/orderbook/{symbol} + folds /v1/sr as sr.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate. | |
| include_sr | No | If true (default), fold support/resistance + Fibonacci levels (/v1/sr) into the response under `sr`. Set false to skip. | |
| sr_timeframe | No | Timeframe for the folded S/R computation. Default '1h'. | 1h |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: cross-exchange aggregation, derived levels only, null fields for thin symbols, and route details. 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?
Two sentences plus a short note about routes. All sentences add value, no filler. Key information is front-loaded.
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?
With output schema present, the description covers the primary behavior and parameter effects. It explains that the response folds S/R when include_sr is true. Complete enough for a moderately complex tool with 3 parameters.
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% with descriptions. The description adds meaning: symbol is case/space-insensitive, include_sr defaults true, sr_timeframe defaults '1h'. It also explains how parameters affect the response.
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 it provides a live order-book snapshot with bid/ask walls, book imbalance, spread, and folded support/resistance levels. It specifies the scope (cross-exchange aggregate, derived levels only) and distinguishes from siblings like 'get_market' or 'get_candles'.
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 explains when to use it ('see resting liquidity AND the level map in one call') and notes that thin symbols return null fields. It does not explicitly state when not to use or list alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signalsGet Flow signals (live feed / elite crown)ARead-onlyIdempotentInspect
Pull recent MidasFlow SignalEvent records (newest first). quality='normal' (default) = the bucketed signal log across source families; quality='elite' = the rare highest-conviction multi-model-consensus crown feed (premium+, lagged anti-front-run). Tier-gated + moat-scrubbed server-side. Market DATA, not advice. Routes: normal→/v1/signals/pull, elite→/v1/signals/elite.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return (normal 1-200, elite 1-50; clamped server-side). Default 20. | |
| cursor | No | Pagination cursor (normal feed only) — pass 'next_cursor' from the previous page for older events (0 = newest). | |
| source | No | Source-family filter: '' / 'all' | 'pump' | 'flow' | 'mfb' (case/space-insensitive). Ignored when quality='elite'. | |
| symbol | No | Single symbol filter, e.g. 'BTCUSDT' (empty = all symbols). | |
| quality | No | 'normal' (default, /v1/signals/pull) | 'elite' (crown consensus feed, /v1/signals/elite, premium+). | normal |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, openWorld, idempotent, non-destructive), the description adds valuable behavioral context: tier-gating, moat-scrubbing, market DATA nature, and anti-front-run delay for elite feed. These enrich transparency without contradicting 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 concise sentences that are front-loaded with the main action, then clarify quality modes and constraints. No wasted words; efficient and scannable.
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?
Given the availability of an output schema, the description does not need to explain return values. It covers quality modes, routes, and constraints. Missing explicit mention of pagination behavior (cursor parameter) is a minor gap, but overall adequate for the tool's complexity.
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 100% of parameters, so baseline is 3. The description adds context for 'quality' (bucketed vs crown) and routes, but does not add significant meaning beyond what the schema already provides for other parameters.
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 pulls recent MidasFlow SignalEvent records, newest first, and explains the two quality modes (normal and elite) with distinct routes. However, it does not distinguish this tool from similar siblings like 'get_flow', missing a chance to differentiate purpose.
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 implies elite requires premium access and mentions tier-gating, but it does not explicitly state when to use this tool vs alternatives, nor provides when-not-to-use guidance. The guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_whalesGet whales / liquidations (large-print intel) [grouped]ARead-onlyIdempotentInspect
Large-player / forced-flow intel, grouped by kind. kind='whales' (default)=recent large ('whale') prints for a symbol, banded size+side (/v1/whales); kind='liquidations'=multi-exchange liquidation prints over a rolling window, long-liq vs short-liq notional bands per venue (/v1/liquidations; empty symbol = market-wide top movers by liq notional). Raw notional is banded. Market DATA, NOT a signal/advice. Empty/unknown kind → a menu of kinds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'whales' (default, /v1/whales) | 'liquidations' (/v1/liquidations). Empty/unknown → menu. | whales |
| symbol | No | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Required for kind='whales'; empty for kind='liquidations' = market-wide top movers. | |
| window | No | Liquidations lookback seconds, 1-300 (kind='liquidations' only; clamped). Default 60. | |
| exchange | No | Liquidations venue filter (kind='liquidations' only): '' / 'all' for the full market, or a single major CEX. Unknown venue = error. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds value by specifying that notional is banded, that liquidations use a rolling window, and that it provides 'market DATA, NOT a signal/advice', which clarifies behavior beyond 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?
The description is well-structured with a clear main clause and parenthetical details. It is somewhat dense but each sentence adds value. It could be slightly more streamlined, but the front-loading of the main purpose works well.
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?
Given 4 parameters (all documented with 100% schema coverage) and an output schema (not shown but present), the description covers all behavioral aspects: kind differentiation, symbol requirements, window clamping, exchange filtering, and error handling. No gaps for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning: it explains how 'symbol' behaves differently per kind (required for whales, empty for market-wide liquidations) and that 'window' is clamped to 1-300. It also clarifies that 'exchange' filtering applies only to liquidations.
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 provides 'Large-player / forced-flow intel' and breaks down two distinct kinds ('whales' and 'liquidations') with specific endpoints. It distinguishes from siblings (e.g., 'get_signals') by emphasizing this is raw market data, not signals/advice.
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 explains when to use each kind (symbol required for whales, empty symbol for market-wide liquidations) and error handling (empty/unknown kind returns menu). While it doesn't explicitly list when not to use it, the contextual sibling list and the 'not a signal/advice' note provide sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_symbolScore symbol (calibrated P(TP1) + plan + safety)ARead-onlyIdempotentInspect
CROWN data product: calibrated P(first TP1 before SL) band + coarse trade plan (TP ladder %, SL %, weights) for ONE symbol, FOLDED with a pre-trade feed-safety check (is the feed live/real-volume/fresh, no phantom ticks). Coverage is present-or-null — most symbols return p_tp1_band=null (valid, NOT an error). Feed the band into calc_ev; never read it as buy/sell. Routes: /v1/score/{symbol} + folds /v1/symbol/check as safety.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). A calibrated score exists only for recently-evaluated symbols; most return p_tp1_band=null (valid). | |
| direction | No | 'long' | 'short' — steers the plan ladder only; the P(TP1) score itself is direction-agnostic. | long |
| include_safety | No | If true (default), also fold a /v1/symbol/check feed-safety read into the response under `safety`. Set false to skip that extra call. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavioral traits beyond annotations: it folds a feed-safety check, returns null for most symbols, and the score is direction-agnostic while the plan is not. It also mentions idempotent and read-only aspects implicitly. No annotation 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 compact and front-loaded, stating the core functionality in the first clause. It packs a lot of information into two sentences, but the structure is slightly dense with semicolons and could be broken into bullet points for easier scanning.
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?
Given that an output schema exists and the tool has three parameters with 100% schema coverage, the description is complete. It explains null behavior, the relationship to calc_ev, the safety check folding, and the routing. No further information is needed for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant context: symbol is case-insensitive, direction only affects plan ladder, include_safety triggers an extra API call. It clarifies that null is valid for most symbols. This enriches the parameter meaning beyond the schema descriptions.
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 returns a calibrated P(TP1) band plus a trade plan and feed-safety check for one symbol. It distinguishes itself from sibling 'calc_ev' by directing users to feed the band into that tool, and from generic 'get_signals' by specifying the data product.
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 when to use the tool (to obtain a calibrated score and safety check) and when not to use it ('never read it as buy/sell'). It clarifies that null returns are valid and not errors, and explains the direction parameter steers only the plan. While it mentions feeding into calc_ev, it does not contrast with other siblings like get_accuracy or get_flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!