Skip to main content
Glama
bitbankinc

bitbank-lab-mcp

Official
by bitbankinc

validate_candle_data

Validate OHLCV candlestick data before analysis or backtesting. Detects gaps, duplicates, OHLC inconsistencies, and price/volume anomalies, then assigns a 0-100 quality score with automatic liquidity-based thresholds.

Instructions

[Data Quality / Validation] OHLCVローソク足データの品質検証。 分析やバックテスト前に「このデータ信用できる?」を確認するためのツール。 完全性(歯抜け)・重複・OHLCV整合性・価格異常値・出来高異常値を検出し、0-100の品質スコア(A-F)を算出。 ペアの流動性ティア(major/mid/minor)を自動判定し、暗号資産のファットテール分布や低流動性ペアの出来高ゼロを考慮した適切なデフォルト閾値を適用。 閾値は price_sigma, volume_multiplier で手動調整も可能。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzNoタイムゾーン(デフォルト: Asia/Tokyo)Asia/Tokyo
dateNoYYYYMMDD or YYYY format. If omitted, uses latest data. YYYYMMDD は tz 引数(既定 Asia/Tokyo)の暦日として解釈し、その日の終端以前の足を返します(get_candles と同じ基準)。get_transactions / get_flow_metrics の date は UTC 暦日で基準が異なります。
pairNobtc_jpy
typeNo1day
limitNo検証対象のローソク足本数(10〜1000)
price_sigmaNo価格変化率がこの σ を超えたら異常値とみなす。省略時はペアのティア(major/mid/minor)に応じて自動設定
volume_multiplierNo出来高が全体平均の何倍を超えたらスパイクとみなすか。省略時はペアのティアに応じて自動設定

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.5.0
    • changedInput schema / properties / date / description
      Previous value: -"YYYYMMDD or YYYY format. If omitted, uses latest data."New value: +"YYYYMMDD or YYYY format. If omitted, uses latest data. YYYYMMDD は tz 引数(既定 Asia/Tokyo)の暦日として解釈し、その日の終端以前の足を返します(get_candles と同じ基準)。get_transactions / get_flow_metrics の date は UTC 暦日で基準が異なります。"
  2. Changed1 schema field changedv0.4.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observedv0.1.1

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool's behavior well: it detects specific data quality issues, computes a quality score, auto-determines liquidity tiers, and applies appropriate default thresholds. It also mentions that thresholds can be manually adjusted. It doesn't mention side effects (likely none, as it's a validation tool) or performance characteristics, but the core behavior is well covered.

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

Conciseness4/5

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

The description is well-structured with a clear category tag, a one-line summary, and then detailed bullet points. It front-loads the core purpose and then provides necessary details about thresholds and adjustments. It's slightly verbose but every sentence adds value. The Japanese language is appropriate for the likely user base.

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

Completeness4/5

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

For a validation tool with no output schema, the description explains what checks are performed and what output to expect (quality score and grade). It also covers the automatic tier detection and threshold behavior. It doesn't describe the exact output format (e.g., JSON structure), but the description of the quality score and grade is sufficient for an agent to understand the tool's purpose and invoke it correctly.

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

Parameters4/5

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

Schema coverage is 71%, and the description adds meaningful context for the key parameters. It explains that price_sigma and volume_multiplier have tier-based automatic defaults when omitted, which is not in the schema. It also clarifies the date parameter's timezone interpretation and its difference from get_transactions/get_flow_metrics. The description doesn't cover all parameters (tz, pair, type, limit are not explicitly described in the description), but the schema already covers those adequately.

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

Purpose5/5

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

The description clearly states the tool's purpose: data quality validation for OHLCV candlestick data. It specifies the exact checks performed (completeness, duplicates, OHLCV consistency, price anomalies, volume anomalies) and the output (0-100 quality score with A-F grade). This distinguishes it from sibling tools like get_candles (data retrieval) and analyze_candle_patterns (pattern analysis).

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

Usage Guidelines4/5

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

The description explicitly states when to use this tool: before analysis or backtesting, to verify data trustworthiness. It also explains the automatic tier-based threshold selection and manual adjustment options. However, it doesn't explicitly name alternative tools or state when NOT to use it, though 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.