Skip to main content
Glama

BitCLI — Crypto Futures & Order Flow

Server Details

Real-time crypto futures order flow, liquidation cascades, and quantitative TA metrics across 1,650+ perpetuals (Binance, Bybit, Hyperliquid). Delivers ultra-dense, token-efficient summaries and async SSE alerts directly into AI agent context without burning tokens on raw OHLCV candles.

Ownership verified
Status
Healthy
Uptime
99.8% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
ChatGPT
–
Claude
–

TDQS

A4.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct role: market_data reads analytics, calc_engine performs math, alert_manager manages triggers, send_notification dispatches messages, system_docs returns documentation, and user_account queries account state. The descriptions explicitly disambiguate the closest pair (alert_manager vs. send_notification) and direct agents to the right tool for polling versus asynchronous monitoring.

Naming Consistency4/5

All six tool names use snake_case and are readable, which is consistent. The only minor deviation is that most are noun phrases (alert_manager, calc_engine, market_data) while send_notification uses a verb_noun pattern, so the naming is mostly but not perfectly uniform.

Tool Count5/5

Six tools is well within the appropriate range for a focused crypto futures analytics and alerting server. Each tool covers a distinct capability area and none appears redundant or purely ornamental.

Completeness4/5

The surface covers market analysis, risk calculation, alert lifecycle, notifications, documentation, and account inspection, which supports the core analytics/risk-monitoring workflow. Minor gaps remain around direct order execution or position management, but those may be outside the intended scope of this analytics-oriented server.

Available Tools

6 tools
alert_managerAInspect

BEHAVIOR: State-mutating operation. Injects or removes in-memory execution triggers in the C++ engine. When triggered, it dispatches asynchronous out-of-band notifications (Telegram/Discord) without requiring the agent to remain awake.

PRICING: Targeted coin alerts cost $0.001 USD. Global wildcard scans ('*') cost $0.002 USD. Wildcards require a positive USD balance on Free/Trader plans.

ACTIONS & PARAMETER INTERACTIONS:

  • 'create': Deploys a new trigger. Requires 'command'. Returns the assigned alert_id and expiration time.

  • 'list': Returns an array of currently active triggers, their IDs, and remaining TTLs. Ignores 'command' and 'alert_id'.

  • 'cancel': Removes a specific trigger. Requires 'alert_id'. Ignores 'command'.

  • 'clear_all': Purges all active triggers for the account. Ignores 'command' and 'alert_id'.

USAGE GUIDELINES: Use this tool to establish asynchronous monitoring instead of polling market_data. Requires an authenticated API key; anonymous guests will receive an authorization error. Enforces plan capacity limits.

ERRORS: Authentication failures, capacity limit breaches, or syntax errors return an explicit 'isError: true' payload detailing the rejection reason.

NameRequiredDescriptionDefault
actionYesTrigger management action.
commandNoUnified BitCLI command string (required for 'create', e.g. 'btc 95k', '* vol 15m x4 cd=30m').
alert_idNoNumeric alert identifier (required for 'cancel').
ttl_minutesNoMandatory lifetime in minutes (range: 1 to 1440). Alerts automatically expire afterward.
destinationsNoArray of destination routing strings obtained via `user_account` (e.g. ['tg_user:12345']). Defaults to the user's registered Telegram.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses state mutation, that alerts fire out-of-band (Telegram/Discord) without the agent staying awake, per-action pricing ($0.001 vs $0.002 wildcard), balance requirements, TTL auto-expiry, and the shape of error payloads. This is exactly the behavioral context annotations would otherwise supply.

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

Conciseness5/5

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

Labeled sections (BEHAVIOR / PRICING / ACTIONS / USAGE / ERRORS) front-load the mutation and async semantics before the per-action breakdown. Every line conveys distinct information — no restatement of the name or filler prose.

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

Completeness5/5

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

No output schema exists, and the description compensates by stating what `create` returns (alert_id plus expiration) and what `list` returns (active triggers, IDs, remaining TTLs). Combined with auth, pricing, capacity, and error behavior, an agent has everything needed to invoke this five-parameter mutation tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes further by mapping parameters to actions — 'create' requires `command`, 'cancel' requires `alert_id`, and 'list'/'clear_all' explicitly ignore them. That action-parameter interaction is not expressed anywhere in the schema and prevents misfires; only the `destinations` and `ttl_minutes` routing details are left entirely to the schema.

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

Purpose5/5

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

States a specific verb family (inject/remove triggers) and resource (in-memory execution triggers in the C++ engine), then enumerates the four concrete actions with what each does. An agent can immediately tell this apart from `market_data` polling and `calc_engine`.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'Use this tool to establish asynchronous monitoring instead of polling `market_data`.' It also states the prerequisites (authenticated API key, guests get an auth error) and the constraint (plan capacity limits), so when-to-use and when-it-will-fail are both covered.

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

calc_engineAInspect

BEHAVIOR: Deterministic mathematical calculation. Evaluates crypto futures risk management models using live exchange parameters.

PRICING: $0.001 USD per execution. Deducted from daily tariff quota or USD balance.

SYNTAX EXAMPLES (Passed in 'command'):

  • '/pos btc 65k 63.7k 50' (Position Sizing)

  • '/liq sol 20x short' (True Liquidation with MMR)

  • '/dca btc 65k:100 64k:200' (DCA Break-Even with exit fees)

  • '/rr btc 65k 64k 67k 69k' (Multi-Target R:R)

  • '/fncost btc 10000 long' (Carry Cost)

  • '/atr btc 1h 2' (Volatility Stops)

RETURNS: Output is a structured JSON payload. Depending on the command, keys include: 'ideal_lot_coins', 'notional_usd', 'required_margin', 'liquidation_price', 'true_breakeven_price', 'effective_rr_ratio', or 'stop_distance'.

USAGE GUIDELINES: Use this tool exclusively for mathematical risk modeling and lot sizing. For live market scanning, use market_data. For setting execution triggers, use alert_manager. After calculating risk parameters, it is highly recommended to route the generated stop-loss or liquidation prices into alert_manager to automate monitoring.

ERRORS: Malformed syntax returns an 'error' JSON key with correction guidance.

NameRequiredDescriptionDefault
commandYesThe CLI risk command (e.g. '/pos btc 65000 63700 50').
exchangeNoDefault exchange context if not explicitly specified inside the command string.bybit

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it declares determinism, states the per-execution price and the billing source (daily quota or USD balance), and specifies the error contract ('Malformed syntax returns an error JSON key with correction guidance'). Those are exactly the non-obvious behaviors an agent needs before calling a metered tool.

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

Conciseness4/5

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

Labeled sections (BEHAVIOR, PRICING, SYNTAX, RETURNS, USAGE, ERRORS) put the essential framing first and are scannable. The six example commands are individually informative but collectively borderline verbose; trimming to four plus a note on grammar would lose nothing.

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

Completeness5/5

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

There is no output schema, so the description steps in with the concrete return keys ('ideal_lot_coins', 'liquidation_price', 'effective_rr_ratio', etc.), plus error and pricing behavior. For a two-parameter, metered, DSL-driven tool, nothing an agent needs in order to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by supplying six worked command strings covering position sizing, liquidation, DCA, R:R, carry cost and ATR stops, which convey the DSL grammar that the schema alone only gestures at with one example. It does not fully formalize argument order or units, keeping it short of a 5.

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

Purpose5/5

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

States a specific verb and resource ('deterministic mathematical calculation' of crypto futures risk management models) and immediately scopes out live data by naming which sibling handles it. The command examples make the resource concrete enough that an agent knows exactly what class of work belongs here.

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

Usage Guidelines5/5

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

Explicitly routes work: 'use this tool exclusively for mathematical risk modeling and lot sizing', 'for live market scanning, use market_data', 'for setting execution triggers, use alert_manager'. It also gives a proactive follow-up ('route the generated stop-loss or liquidation prices into alert_manager'), which is rare and useful.

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

market_dataAInspect

BEHAVIOR: Read-only analytical gateway. Fetches real-time derivatives intelligence across Binance, Bybit, and Hyperliquid.

PRICING: $0.001 USD per execution. Deducted from daily tariff quota or USD balance.

ACTIONS & RETURNS:

  • 'screener': Scans 1,650+ perpetuals to catch pumps, dumps, whale volume spikes, and short squeezes. Returns a JSON array of matched assets containing fields: symbol, price, rvol, fund, oi, oichg, rsi, bias, natr, cvd.

  • 'consensus': Returns JSON with Quant TA consensus score, CVD slope, RSI, ATR, and EMA bias for a single coin.

  • 'bct_matrix': Returns compact historical candlestick matrices with server-side computed indicators to minimize token usage.

USAGE GUIDELINES: Use this to analyze market state or find trade setups. Do NOT use this tool to continuously poll for price updates or wait for conditions to be met; instead, invoke alert_manager to establish asynchronous monitoring.

ERRORS: Malformed filters or unlisted tickers return an explicit JSON error object with syntax correction guidance.

NameRequiredDescriptionDefault
tfNoCandle timeframe interval (used only for 'bct_matrix').5m
coinNoAsset ticker (required for 'consensus' and 'bct_matrix', e.g. 'BTC').
limitNoResult count limit: 1-25 for 'screener', 1-512 for 'bct_matrix'.
actionYesAnalytical action to perform.
columnsNoSelective columns for 'bct_matrix' to minimize inference tokens.
commandNoFilter command for 'screener' (e.g. 'vol>10m rvol>2 fund<0 sort:rvol_desc'). Omit for default radar.
exchangeNoExchange scope. 'agg' provides volume-summed cross-exchange data.agg
indicatorsNoTechnical indicators for 'bct_matrix' (e.g. ['rsi:14', 'ema:200']). Computed server-side.
inline_indicatorsNoIf True, appends indicator values to every row. If False, snapshots latest values in @META.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations present the description carries the entire burden and does so unusually well: it declares read-only behavior, a per-execution price ($0.001) with the billing source (daily tariff quota or USD balance), and a precise error contract (JSON error object with syntax correction guidance). Those are the cost and failure-mode facts an agent cannot get from the schema.

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

Conciseness5/5

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

Front-loaded and sectioned (BEHAVIOR / PRICING / ACTIONS & RETURNS / USAGE / ERRORS), so the read-only and cost facts appear before the detail. Every block carries information an agent needs given there is no output schema; nothing is redundant filler.

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

Completeness5/5

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

For a 9-parameter, 3-mode tool with no output schema and no annotations, the description compensates fully: it explains each action's return fields, the cost model, the error format, and the polling anti-pattern. An agent can select an action and interpret the response without further documentation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds value by tying each action value to its output shape (screener's symbol/rvol/fund/oi field list, consensus's TA score set, bct_matrix's compact matrices) and by flagging that malformed filter expressions fail with corrective guidance. It does not add syntax detail for tf, limit, columns, exchange, or inline_indicators beyond the schema.

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

Purpose5/5

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

Opens with a specific verb+resource ("fetches real-time derivatives intelligence across Binance, Bybit, and Hyperliquid") and then enumerates all three actions with what each returns, so an agent knows exactly which mode to request. It also separates itself from the sibling alert_manager by name.

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

Usage Guidelines5/5

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

Gives an explicit positive case ("analyze market state or find trade setups") and an explicit exclusion ("Do NOT use this tool to continuously poll for price updates or wait for conditions") plus the named alternative (alert_manager). That is the full when/when-not/alternative triad.

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

send_notificationAInspect

BEHAVIOR: Outbound messaging operation. Routes proactive notifications to the human trader's verified Telegram chat, channel, or Discord webhook. Dispatches discretionary trade ideas, market condition updates, or risk reports to keep the user informed without waiting for prompts.

PRICING: $0.001 USD per dispatch. Deducted from daily tariff quota or USD balance.

PARAMETER INTERACTIONS:

  • 'target': Destination identifier string obtained from user_account.list_destinations. Prefixes determine transport: 'tg_user:' / 'tg_channel:' for Telegram, 'out_wh:' for Discord webhooks. Must belong to the authenticated account.

  • 'message': Main message body. For Telegram, supports HTML tags. For Discord, maps to the embed description.

  • 'title': Optional subject line. For Discord, renders as the embed headline. For Telegram, prepends as a bold header if provided.

RETURNS: Structured JSON confirming transmission: 'status' ('dispatched'), 'target', 'message_length', 'timestamp_utc', and '_usage' (cost_usd and remaining quota/balance).

USAGE GUIDELINES: Call user_account with action='list_destinations' prior to sending to retrieve valid target strings. Use this tool exclusively for informative messaging and human-in-the-loop updates. Do NOT use this tool to monitor market prices or set execution triggers (use alert_manager instead).

ERRORS: Unauthenticated calls, unverified/foreign destinations, empty messages, or exhausted quotas return an explicit 'isError: true' payload.

NameRequiredDescriptionDefault
titleNoOptional headline used as Discord embed title or Telegram bold subject line.
targetYesVerified delivery route (e.g. 'tg_user:12345678', 'out_wh:discord_vip') retrieved via `user_account.list_destinations`.
messageYesNotification content. HTML tags supported for Telegram: <b>, <i>, <code>, <pre>.

TDQS

A4.8/5.0
Behavior5/5

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

No annotations exist, so the description must carry the full burden, and it does: per-dispatch cost ($0.001) and quota/balance deduction, authentication and destination-ownership requirements, error conditions (unverified/foreign destinations, empty messages, exhausted quotas), and the JSON return payload. These are operational traits an agent cannot infer from the schema.

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

Conciseness4/5

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

Labelled sections (BEHAVIOR, PRICING, PARAMETER INTERACTIONS, RETURNS, USAGE GUIDELINES, ERRORS) front-load the purpose before details. Slightly verbose in places — the RETURNS block partly duplicates what a caller would get anyway — but nearly every line carries actionable information.

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

Completeness5/5

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

For a 3-parameter side-effecting messaging tool with no annotations and no output schema, the description supplies everything needed: cost model, auth preconditions, destination format, transport-specific formatting, error surfaces, and return shape. Nothing material is left implicit.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining the target prefix grammar ('tg_user:'/'tg_channel:'/'out_wh:') and how 'title' and 'message' render differently per transport (Discord embed headline/description vs. Telegram bold header/HTML body). These behavioral mappings are only partially present in the schema.

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

Purpose5/5

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

States a specific verb and resource ('Outbound messaging operation ... routes proactive notifications to the human trader's verified Telegram chat, channel, or Discord webhook') and enumerates the message classes it carries. It is clearly distinguishable from alert_manager (triggers/monitoring) and user_account (destination discovery).

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

Usage Guidelines5/5

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

Explicitly says to call `user_account` with action='list_destinations' before sending, restricts the tool to informative messaging and human-in-the-loop updates, and names the alternative ('Do NOT use this tool to monitor market prices or set execution triggers (use `alert_manager` instead)'). Both when-to-use and when-not-to-use are covered.

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

system_docsAInspect

BEHAVIOR: Read-only RAG documentation tool. Reads and returns official BitCLI markdown specifications, indicator formulas, CLI command guides, and webhook setups. Returns a single string containing the requested Markdown document.

PRICING: Free ($0.000). Does not consume quotas.

USAGE GUIDELINES: Use this tool FIRST to understand BitCLI mechanics, verify command grammar, or check webhook templates before constructing queries. Do NOT use this tool to query live market prices or active triggers (use market_data or alert_manager instead).

TOPICS:

  • 'syntax': Price targets, percentage corridors, velocity moves.

  • 'calculators': Position sizing, true MMR liquidation, DCA break-even, multi-target R:R.

  • 'market_intel': Screener filters, cross-exchange aggregation.

  • 'indicators': CVD divergence, Z-Scores, 8h normalized funding.

  • 'webhooks': PineScript relay setup, private chat routing.

  • 'tariffs': Subscription tiers and limits.

  • 'partners': Affiliate program rules.

  • 'ai': AI Copilot features.

  • 'mcp': Model Context Protocol architecture, API key setup, and Cursor IDE integration.

  • 'index': System overview.

ERRORS: Requesting an invalid topic returns a structured JSON error indicating the file was not found.

NameRequiredDescriptionDefault
topicYesSpecific documentation chapter to retrieve.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it declares read-only behavior, zero cost/no quota consumption, the exact return shape (single Markdown string), and the error contract for an invalid topic. What's missing is any hint of document size or retrieval latency, so it stops just short of fully describing the experience.

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

Conciseness4/5

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

Sectioned as BEHAVIOR / PRICING / USAGE / TOPICS / ERRORS with the core purpose front-loaded, so an agent can skim. The TOPICS list and PRICING block add bulk, but each entry maps to a real decision the caller must make, so little is pure filler.

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

Completeness5/5

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

For a one-parameter lookup tool with no output schema, the description covers purpose, exclusions, valid values with meaning, cost, return type, and failure mode. An agent has everything needed to invoke it correctly on the first try.

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

Parameters4/5

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

Schema coverage is already 100% with an enum, so the baseline would be 3; the description earns above that by glossing each topic value (e.g. 'calculators' = position sizing, true MMR liquidation, DCA break-even), which lets an agent pick a chapter without guessing from the label alone. The glosses are brief and the labels are largely self-descriptive, keeping it off a 5.

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

Purpose5/5

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

States a specific verb and resource: reads and returns official BitCLI markdown specifications for formulas, CLI guides, and webhook setups. The read-only RAG framing plus the return type (a single Markdown document string) makes it unambiguous and clearly distinct from siblings like market_data or alert_manager.

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

Usage Guidelines5/5

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

Explicitly says to use this tool FIRST to learn BitCLI mechanics or verify command grammar, and explicitly excludes live price/active-trigger queries by naming the alternatives (market_data, alert_manager). Both the when and the when-not are stated with the substitute tools.

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

user_accountAInspect

BEHAVIOR: Read-only configuration query. Inspects user ledger states, subscription tiers, and verified notification endpoints.

PRICING: Free ($0.000). Does not consume daily quotas or balance.

ACTIONS:

  • 'get_billing': Returns subscription tier, available daily USD API quota, remaining USD balance, active alert count, and per-key daily spending safety limits.

  • 'list_destinations': Returns verified external dispatch targets (Telegram chat IDs, Discord Webhooks) that can be supplied to the alert_manager.

USAGE GUIDELINES: Use this tool at the beginning of a workflow to understand available budget and determine valid delivery destinations. Do NOT use this tool to manage triggers (use alert_manager) or query market data (use market_data).

ERRORS: Unauthenticated requests lacking a valid API key return an HTTP 401 equivalent error with a registration portal link.

NameRequiredDescriptionDefault
actionYesAccount action to perform.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: declares read-only behavior, zero cost and no quota/balance consumption, and the 401 failure mode for missing API keys. It stops short of rate limits, pagination, or whether list_destinations results can go stale — minor gaps for a query tool.

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

Conciseness4/5

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

Labeled sections (BEHAVIOR, PRICING, ACTIONS, USAGE GUIDELINES, ERRORS) make it scannable and the scoping information is front-loaded. Slightly verbose — the pricing line could be folded in — but nearly every line carries actionable content.

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

Completeness5/5

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

There is no output schema and no annotations, yet the description compensates by listing the return fields per action, the cost model, the auth requirement, and the error behavior. An agent has everything needed to call this correctly.

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

Parameters4/5

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

Schema coverage is 100% with a two-value enum, so the baseline is 3; the description adds real value by documenting what each enum value returns (billing fields vs. dispatch targets) and how list_destinations feeds into alert_manager. It does not constrain format or selection criteria beyond that.

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

Purpose5/5

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

The description states precisely what the tool does — a read-only query of ledger states, subscription tiers, and verified notification endpoints — and enumerates the two concrete actions with their return contents. It also names what it is not (alert_manager, market_data), so an agent can distinguish it from siblings without opening the schema.

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

Usage Guidelines5/5

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

Explicitly prescribes timing ("Use this tool at the beginning of a workflow to understand available budget and determine valid delivery destinations") and gives two explicit exclusions with the correct alternative named for each. Nothing is left to inference.

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. 1 tool update
    • Changedsend_notification3 fields changed
      • changedInput schema / properties / message / description
        Previous value: -"Text message body to send. Supports Telegram HTML formatting tags: <b>bold</b>, <i>italic</i>, <code>code</code>, <pre>code block</pre>."New value: +"Notification content. HTML tags supported for Telegram: <b>, <i>, <code>, <pre>."
      • changedInput schema / properties / target / description
        Previous value: -"Verified destination target obtained via `user_account.list_destinations` (e.g. 'tg_user:12345678' or 'out_wh:discord_vip')."New value: +"Verified delivery route (e.g. 'tg_user:12345678', 'out_wh:discord_vip') retrieved via `user_account.list_destinations`."
      • changedInput schema / properties / title / description
        Previous value: -"Optional brief subject header (used for Discord embed titles)."New value: +"Optional headline used as Discord embed title or Telegram bold subject line."
  2. 1 tool update
    • Addedsend_notification
  3. 14 tool updates
    • Addedalert_manager
    • Addedcalc_engine
    • Removedcancel_alert
    • Removedcreate_alert
    • Removeddynamic_screener
    • Removedget_account_usage
    • Removedget_bct_candles
    • Removedget_market_snapshot
    • Removedget_ta_consensus
    • Removedlist_alerts
    • Addedmarket_data
    • Addedsystem_docs
    • Addeduser_account
    • Removedverify_payment
  4. 1 tool update
    • Changeddynamic_screener14 fields changed
      • changedInput schema / properties / exchange / description
        Previous value: -"Exchange scope. Use 'agg' for institutional cross-exchange view."New value: +"Exchange scope. Use 'agg' for institutional cross-exchange consolidated data, or specify an individual exchange."
      • changedInput schema / properties / limit / description
        Previous value: -"Max assets to return (1 to 25)"New value: +"Maximum number of coins to return (allowed range: 1 to 25, default: 10)."
      • changedInput schema / properties / max_funding_8h / description
        Previous value: -"Max 8h funding %"New value: +"Maximum 8-hour normalized funding rate % (e.g. -0.02 for negative funding)."
      • changedInput schema / properties / max_rsi / description
        Previous value: -"Max 15m RSI (0-100)"New value: +"Maximum 15-minute RSI-14 (0 to 100). Use max_rsi=30 to find oversold assets."
      • changedInput schema / properties / min_cvd_1h_usd / description
        Previous value: -"Min 1h CVD Delta in USD"New value: +"Minimum 1-hour net CVD delta in USD (e.g. 100000 for $100k net taker buying)."
      • changedInput schema / properties / min_funding_8h / description
        Previous value: -"Min 8h funding %"New value: +"Minimum 8-hour normalized funding rate % (e.g. 0.05 for +0.05%)."
      • changedInput schema / properties / min_natr_1h / description
        Previous value: -"Min 1h nATR volatility %"New value: +"Minimum 1-hour Normalized ATR volatility in % (e.g. 3.5 for 3.5% volatility)."
      • changedInput schema / properties / min_oi_change_24h / description
        Previous value: -"Min 24h OI growth %"New value: +"Minimum 24-hour Open Interest growth in % (e.g. 10.0 for +10% growth)."
      • changedInput schema / properties / min_oi_usd / description
        Previous value: -"Min Open Interest in USD"New value: +"Minimum Open Interest in USD (e.g. 2000000 for $2M)."
      • changedInput schema / properties / min_rsi / description
        Previous value: -"Min 15m RSI (0-100)"New value: +"Minimum 15-minute RSI-14 (0 to 100)."
      • changedInput schema / properties / min_rvol / description
        Previous value: -"Min RVOL (e.g. 2.0)"New value: +"Minimum Relative Volume multiplier compared to 20-period historical SMA (e.g. 2.0 = 200% of average volume)."
      • changedInput schema / properties / min_vol_24h_usd / description
        Previous value: -"Min 24h volume in USD"New value: +"Minimum 24-hour rolling trading volume in USD (e.g. 5000000 for $5M)."
      • addedInput schema / properties / sort_by / description
        Added value: +"Field to sort results by."
      • addedInput schema / properties / sort_order / description
        Added value: +"Sort direction: 'desc' for highest first, 'asc' for lowest first."
  5. 1 tool update
    • Addeddynamic_screener
  6. 1 tool update
    • Changedget_bct_candles1 field changed
      • changedInput schema / properties / columns / description
        Previous value: -"Specify required columns to minimize token usage. Keys: 'o'=Open, 'h'=High, 'l'=Low, 'c'=Close, 'v'=Volume (kUSD), 'dv'=CVD Delta (kUSD). E.g., ['c', 'v', 'dv']. If omitted, returns all."New value: +"Specify required columns to minimize token usage. Keys: 'o'=Open, 'h'=High, 'l'=Low, 'c'=Close, 'v'=Volume (kUSD), 'dv'=CVD Delta (kUSD). E.g., ['c', 'v', 'dv']. If omitted, returns all OHLCV+DV."
  7. 1 tool update
    • Changedget_bct_candles3 fields changed
      • changedInput schema / properties / columns / description
        Previous value: -"Specify required columns to minimize token usage. E.g., ['c', 'v', 'dv']. If omitted, returns all OHLCV+DV."New value: +"Specify required columns to minimize token usage. Keys: 'o'=Open, 'h'=High, 'l'=Low, 'c'=Close, 'v'=Volume (kUSD), 'dv'=CVD Delta (kUSD). E.g., ['c', 'v', 'dv']. If omitted, returns all."
      • addedInput schema / properties / exchange
        Added value: +{
        +  "default": "bybit",
        +  "description": "Target exchange for data retrieval.",
        +  "enum": [
        +    "binance",
        +    "bybit",
        +    "hl"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / indicators / description
        Previous value: -"List of indicators with periods, e.g. ['rsi:14', 'ema:50', 'sma:200', 'bb:20:2']."New value: +"List of indicators with periods. Supported: 'rsi:14', 'ema:200', 'sma:50', 'bb:20:2', 'atr:14', 'macd'."
  8. 1 tool update
    • Changedget_bct_candles1 field changed
      • addedInput schema / properties / columns
        Added value: +{
        +  "description": "Specify required columns to minimize token usage. E.g., ['c', 'v', 'dv']. If omitted, returns all OHLCV+DV.",
        +  "items": {
        +    "enum": [
        +      "o",
        +      "h",
        +      "l",
        +      "c",
        +      "v",
        +      "dv"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  9. 1 tool update
    • Changedget_bct_candles5 fields changed
      • changedInput schema / properties / coin / description
        Previous value: -"e.g., 'BTC' or 'BTCUSDT'"New value: +"Asset ticker (e.g. 'BTC', 'ETH', 'SOL', 'BTCUSDT'). Case-insensitive, auto-normalized."
      • changedInput schema / properties / indicators / description
        Previous value: -"List of indicators, e.g. ['rsi:14', 'ema:50', 'sma:200', 'bb:20:2']"New value: +"List of indicators with periods, e.g. ['rsi:14', 'ema:50', 'sma:200', 'bb:20:2']."
      • changedInput schema / properties / inline_indicators / description
        Previous value: -"If True, indicators are appended as columns to every candle instead of just the Meta header."New value: +"If True, appends values as matrix columns to every row. If False, keeps matrix ultra-compact and puts snapshot in @META."
      • changedInput schema / properties / limit / description
        Previous value: -"Number of final candles to return (Max 512)."New value: +"Number of final candles to return (range: 1 to 512, default: 100)."
      • addedInput schema / properties / tf / description
        Added value: +"Candlestick timeframe interval."
  10. 1 tool update
    • Addedget_bct_candles
  11. 3 tool updates
    • Changedcreate_alert1 field changed
      • changedInput schema / properties / command / description
        Previous value: -"Unified BitCLI alert command string (e.g. 'btc 95k', '* vol 15m x4 cd=15m')."New value: +"Unified BitCLI alert command string (e.g. 'btc 95k', '* vol 15m x4')."
    • Addedget_account_usage
    • Addedverify_payment
  12. 5 tool updates
    • Changedcancel_alert1 field changed
      • changedInput schema / properties / alert_id / description
        Previous value: -"Unique alert ID returned by create_alert (e.g. 'alrt_101')."New value: +"Unique identifier of the alert returned by `create_alert`."
    • Changedcreate_alert3 fields changed
      • changedInput schema / properties / agent_id / description
        Previous value: -"Persistent agent or wallet identifier to track and recover alerts across reconnects."New value: +"Persistent agent identifier used to recover alert states across network reconnects."
      • changedInput schema / properties / command / description
        Previous value: -"BitCLI alert command string."New value: +"Unified BitCLI alert command string (e.g. 'btc 95k', '* vol 15m x4 cd=15m')."
      • changedInput schema / properties / ttl_minutes / description
        Previous value: -"Time-To-Live in minutes (1 to 1440). Alert auto-expires after this duration."New value: +"Subscription lifetime in minutes (range: 1 to 1440, default: 60). Auto-expires upon expiration."
    • Changedget_market_snapshot2 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of coins to return (1-20)."New value: +"Maximum number of coins to return (allowed range: 1 to 20, default: 10)."
      • changedInput schema / properties / sort_by / description
        Previous value: -"Anomaly sorting metric: 'rvol_5m' (Whale volume spikes), 'funding_rate' (Carry squeezes), 'oi_change_1h' (Leverage inflow), 'natr_1h' (Volatility)."New value: +"Anomaly screening criteria: 'rvol_5m' (Whale volume bursts vs SMA20), 'funding_rate' (Carry cost & squeeze traps), 'oi_change_1h' (Aggressive leverage buildup), 'natr_1h' (Normalized ATR volatility)."
    • Changedget_ta_consensus1 field changed
      • changedInput schema / properties / coin / description
        Previous value: -"Target cryptocurrency ticker. Accepts clean tickers ('BTC', 'SOL') or pairs ('BTCUSDT', 'ETHUSDC')."New value: +"Target cryptocurrency ticker (e.g. 'BTC', 'SOL', 'ETH', 'BTCUSDT'). Case-insensitive, automatically normalized."
    • Changedlist_alerts1 field changed
      • changedInput schema / properties / agent_id / description
        Previous value: -"Agent identifier used when creating alerts."New value: +"Agent identifier used during alert creation."
  13. 5 tool updates
    • Addedcancel_alert
    • Changedcreate_alert5 fields changed
      • addedInput schema / properties / agent_id
        Added value: +{
        +  "default": "default_agent",
        +  "description": "Persistent agent or wallet identifier to track and recover alerts across reconnects.",
        +  "type": "string"
        +}
      • removedInput schema / properties / coin
        Removed value: -{
        -  "description": "Cryptocurrency symbol (e.g., BTC, SOL, ETHUSDT).",
        -  "type": "string"
        -}
      • addedInput schema / properties / command
        Added value: +{
        +  "description": "BitCLI alert command string.",
        +  "type": "string"
        +}
      • removedInput schema / properties / condition
        Removed value: -{
        -  "description": "Pre-compiled HFT anomaly trigger.",
        -  "enum": [
        -    "volume_spike_x3_5m",
        -    "cvd_divergence_15m",
        -    "liquidation_z3",
        -    "funding_abs_above_001"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "coin",
        -  "condition"
        -]New value: +[
        +  "command"
        +]
    • Changedget_market_snapshot2 fields changed
      • changedInput schema / properties / sort_by / description
        Previous value: -"Market anomaly filter metric."New value: +"Anomaly sorting metric: 'rvol_5m' (Whale volume spikes), 'funding_rate' (Carry squeezes), 'oi_change_1h' (Leverage inflow), 'natr_1h' (Volatility)."
      • changedInput schema / properties / sort_by / enum
        Previous value: -[
        -  "funding_rate",
        -  "rvol_5m",
        -  "oi_change_1h",
        -  "natr_1h"
        -]New value: +[
        +  "rvol_5m",
        +  "funding_rate",
        +  "oi_change_1h",
        +  "natr_1h"
        +]
    • Changedget_ta_consensus1 field changed
      • changedInput schema / properties / coin / description
        Previous value: -"Trading pair symbol (e.g., BTCUSDT)."New value: +"Target cryptocurrency ticker. Accepts clean tickers ('BTC', 'SOL') or pairs ('BTCUSDT', 'ETHUSDC')."
    • Addedlist_alerts
  14. 3 tool updates
    • First observedcreate_alert
    • First observedget_market_snapshot
    • First observedget_ta_consensus

Publisher details

Operator
BitCLI
Operator website
https://bitcli.io
Vendor relationship
First-party
Trust center
Not available
Restrictions
Not applicable

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources