Skip to main content
Glama
bitbankinc

bitbank-lab-mcp

Official
by bitbankinc

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.1

  • Disambiguation5/5

    每个工具都有明确的职责范围,通过前缀标签(如[Ticker/Price]、[Order Book])和详细描述清晰区分。即使有多个analyze_snapshot工具,也分别针对不同技术指标,不会产生歧义。绘图相关工具(prepare_chart_data与render_chart_svg)分工明确,一个返回数据,一个生成文件。

    Naming Consistency5/5

    所有工具均采用snake_case动词+名词命名模式,动词包括get、analyze、detect、prepare、render、validate、run、refresh,风格统一。如analyze_*系列、detect_*系列、prepare_*系列,命名模式可预测,便于理解和记忆。

    Tool Count4/5

    33个工具明显超出典型3-15个的合理范围,但考虑到该服务器覆盖了行情数据、技术分析、图表绘制、回测、数据验证等广泛功能,每个工具都有独立用途,没有明显冗余。虽然数量偏多,但整体作用域较大,仍然可以接受。

    Completeness5/5

    工具集覆盖了市场数据获取(ticker、orderbook、candles、transactions)、指标分析(RSI、MACD、BB、Ichimoku等)、高级分析(支撑阻力、图表模式、量分布、货币强度、fibonacci)、信号聚合、回测、数据质量验证以及可视化,形成了完备的分析生命周期,没有发现明显缺失的功能。

  • Average 3.5/5 across 33 of 33 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 0 of 1 community issues answered or closed in the last 6 months
    • 86 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention that it detects 1-3 bar patterns and provides context and past statistics, which hints at the output style. However, it does not disclose any limitations, whether it is read-only, data source behavior, or potential error conditions. The description is minimal and leaves most behavioral aspects unknown.

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

    Conciseness4/5

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

    The description is a single, compact sentence that front-loads the key pattern names and the core behavior. It is efficient with no filler. However, it is so brief that it omits critical usage details, but for what it covers, it is well-structured and easy to parse.

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

    Completeness1/5

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

    This is a 10-parameter tool with no output schema and no annotations. The description is one sentence and does not address how parameters interact, what the output looks like, or any prerequisites. An agent has almost no context to call this tool correctly. The completeness is severely inadequate given the complexity.

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

    Parameters1/5

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

    Schema description coverage is only 30%, meaning most parameters (window_days, focus_last_n, history_horizons, history_lookback_days, allow_partial_patterns, etc.) lack descriptions. The tool description adds no clarifications for these undocumented parameters. Even for the covered ones (date, as_of, patterns), the description adds no extra nuance beyond the schema. It fails to compensate for the low coverage, leaving the agent to guess parameter semantics.

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

    Purpose4/5

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

    The description clearly states it detects candlestick patterns (doji, engulfing, hammer, harami) on 1-3 bars, which is a specific verb and resource. It distinguishes from technical indicator tools (analyze_indicators, etc.), though it does not explicitly differentiate from the sibling 'detect_patterns' which may or may not overlap. A clear but not fully differentiated purpose.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus the many sibling analysis tools. The description implies its use for candle pattern detection but does not state conditions, exclusions, or alternatives (e.g., when to use detect_patterns vs analyze_candle_patterns). The agent must infer usage from the title alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions the tool 'detects' and 'analyzes' but does not state whether it is read-only, what the output format is, whether it has any side effects, or if it requires specific data. The description is too thin to convey the behavioral profile beyond the basic action.

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

    Conciseness4/5

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

    The description is a single, concise sentence that is front-loaded with the key topic in brackets. It is appropriately sized and efficient, containing no fluff. However, it is so short that it sacrifices necessary detail, so it does not earn a 5, but it is structurally sound and prioritizing the core message.

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

    Completeness2/5

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

    Given the tool's parameters and the absence of an output schema, the description is incomplete. It does not explain the meaning of the four parameters, the expected output structure, or how to interpret the results. An agent calling this tool would likely be uncertain about what to pass and what to expect back, making the description insufficient for reliable invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning the schema itself provides no explanations for the parameters (pair, topN, tolerance, lookbackDays). The description does not compensate by explaining any of these parameters or how they influence the analysis. An agent would have no idea what 'tolerance' or 'topN' mean from the description, making this a critical gap.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: it automatically detects support/resistance levels and analyzes contact count, strength, and breakdown history. This is a specific verb-resource combination that distinguishes the tool from general analysis tools. However, it does not explicitly differentiate from sibling tools like analyze_fibonacci or analyze_volume_profile, which also deal with price levels, so a full 5 is not warranted.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or conditions that would select this tool over similar analysis tools. There is no explicit 'use this when...' or comparison to siblings, leaving the agent to infer usage.

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

  • Behavior2/5

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

    Since no annotations are provided, the description carries the full burden of behavioral disclosure. It mentions that it calculates levels across multiple lookback periods in parallel and automatically detects confluence zones, but it does not describe any side effects, output format, data requirements, or whether it is read-only. This is insufficient for a tool with zero annotation coverage.

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

    Conciseness3/5

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

    The description is relatively short, but it contains redundancy: the title and first sentence repeat essentially the same information ('Multi-Timeframe Fibonacci / Confluence' and '複数期間フィボナッチ一括分析'). The purpose is front-loaded, but the repetition could be trimmed. It is still concise enough with no excessive filler.

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

    Completeness2/5

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

    Given the tool's complexity (multi-timeframe analysis, confluence detection) and the lack of an output schema, the description should at minimum explain the parameters and what the result will look like. It does neither. The mention of 'confluence zones' gives some context, but the absence of parameter explanation and outcome details makes it incomplete for correct invocation.

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

    Parameters1/5

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

    The schema description coverage is 0%, meaning the description provides no explanation of the 'pair' or 'lookbackDays' parameters. The description does not mention these parameters at all, so an agent has no guidance on how to set them beyond the basic schema defaults and constraints. This is a critical gap that the description fails to compensate for.

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

    Purpose4/5

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

    The description clearly states the tool performs multi-timeframe Fibonacci analysis with confluence zone detection, which is a specific and distinct purpose. It explicitly differentiates from the sibling tool 'analyze_fibonacci' by saying there is no need to call it individually. However, the verb 'analyze' is only implied through the Japanese '分析' but not explicitly stated in the description text.

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

    Usage Guidelines3/5

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

    The description implies usage when multi-timeframe Fibonacci or confluence analysis is needed, and it contrasts with calling 'analyze_fibonacci' individually. However, it does not explicitly state when to use this tool versus other analysis tools, nor does it provide exclusions or alternative recommendations beyond that single mention.

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

  • Behavior3/5

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

    The description discloses a genuinely useful behavioral trait — '推測ベース' (inference/speculation-based) and '簡易検出' (simple detection) — warning the agent that output is approximate rather than exact. Since no annotations are provided, this is meaningful credit. However, it doesn't disclose whether the tool is read-only, whether it mutates state, or any data-freshness behavior.

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

    Conciseness3/5

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

    The description is compact and front-loaded with searchable keyword tags. However, the two keyword lists ('Whale / Large Orders / Big Players' and 'whale / large orders / big players / smart money') repeat the same concepts, so a sizable portion of the text is redundant tagging rather than new information.

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

    Completeness2/5

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

    For a 3-parameter, 0%-schema-coverage tool with no output schema, the description leaves too much unknown: parameter semantics, output shape, and result granularity are all unspecified. The inference caveat is the only piece of actionable context an agent gets, which is far from sufficient to call the tool confidently.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description carries the full burden of explaining pair, minSize, and lookback — and it does none of it. It never mentions that minSize is an order-size threshold, what the lookback windows mean, or the pair format, despite referencing 板 (orderbook) and ローソク足 (candles) as data sources. All three parameters are left to the agent to infer.

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

    Purpose4/5

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

    The description states a specific verb (detect/検出) and resource (whale / large orders / large investors), plus the method (orderbook × candlestick). This distinguishes it from the get_* raw-data siblings and from detect_macd_cross (indicator crossover) and detect_patterns (chart patterns). It's clear, though the meaning leans on the keyword 'whale' being self-explanatory.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool instead of alternatives. The keyword tags imply 'whale detection,' but the description never states explicit conditions or exclusions — e.g., when get_flow_metrics or detect_patterns would be a better fit. Context must be inferred entirely from the name.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It lists what the tool calculates but does not disclose whether it is read-only, any side effects, potential limitations (e.g., data availability), or the response structure. This is insufficient for a tool with zero annotation coverage.

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

    Conciseness4/5

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

    The description is a single concise sentence with a clear prefix and all core information front-loaded. It avoids verbosity and directly communicates the purpose and key parameter.

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

    Completeness3/5

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

    The description lists the computed metrics (VWAP bands, volume distribution, trade size distribution), which gives some sense of output. However, since there is no output schema, it lacks details on the output format or structure, and it omits operational constraints like supported pairs or data freshness. It is adequate but not complete for a tool performing multiple calculations.

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

    Parameters2/5

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

    Schema coverage is 67%, and the description only adds a note about 'hours' (default 4h, max 24h) which is already in the schema. It fails to explain the important semantic that 'hours' overrides 'limit' when both are provided, leaving agents to discover this only through the schema. This is a meaningful gap.

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

    Purpose4/5

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

    The description clearly states the tool performs volume profile analysis and lists specific outputs (VWAP±σ bands, volume by price, trade size distribution). It is distinct from sibling tools by focusing on volume profile, but it doesn't explicitly contrast with similar analysis tools like analyze_indicators.

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

    Usage Guidelines2/5

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

    The description mentions the 'hours' parameter for period specification but gives no guidance on when to use this tool versus alternatives such as analyze_indicators or get_flow_metrics. There are no exclusions, prerequisites, or when-not scenarios provided.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavioral traits. It only states the analytical output (alignment direction and confluence) and does not explicitly confirm read-only behavior, side effects, permissions, or result format. For an analysis tool this is a significant gap, though it is not misleading.

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

    Conciseness4/5

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

    The description is concise, front-loads the MTF keyword, and conveys the essence in a single sentence. However, it is somewhat fragmented with the bracketed English tags, and the Japanese is terse. It earns high marks for brevity but could be better organized.

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

    Completeness2/5

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

    This is a complex multi-parameter analysis tool with no output schema and no parameter descriptions. The description does not describe the return value structure, how alignment is represented, data requirements, or any usage constraints. Substantially more context is needed for an agent to call it correctly and interpret results.

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

    Parameters2/5

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

    The schema has 0% coverage, and the description does not compensate. It implies periods refer to SMA periods and timeframes to the timeframes analyzed, but it does not explain the 'pair' parameter or the meaning of the period values. The parameter names themselves are only partially self-explanatory, and the description adds little beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool performs comprehensive multi-timeframe SMA analysis and determines alignment direction and confluence. The MTF tag explicitly distinguishes it from single-timeframe siblings like analyze_sma_snapshot, and the phrasing is specific about the resource and output.

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

    Usage Guidelines2/5

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

    The description gives no guidance on when to use this tool versus alternatives such as analyze_sma_snapshot or analyze_mtf_fibonacci. There is no mention of prerequisites, use cases, or exclusions beyond the implicit multi-timeframe context. Agents are left to infer when this tool is appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. '取得' implies a read operation, but it does not disclose the return format, pagination/limit behavior, ordering semantics, or any rate/permission considerations. The only behavioral addition is that ranking by change rate or volume is possible, which is thin for an unannotated 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?

    The description is a single efficient sentence (plus a bracketed identity tag). The 'All Tickers / Market Overview' tag front-loads the tool's scope and differentiator. No wasted words, though the brevity means some semantic load is shifted to the schema.

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

    Completeness3/5

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

    For a 4-parameter list tool with all parameters optional and enum-constrained, the schema carries a heavy load. The description adds the JPY-scope and ranking semantics, which are the core value. Missing are when-to-use-vs-get_ticker guidance, return format, and the 'name' sort option — genuine gaps but manageable given the simple nature of the tool and the schema's clarity.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate, and it partially does: '変化率・出来高でランキング表示可能' (ranking can be shown by change rate/volume) maps directly to the sortBy enum values change24h and volume, and 'ランキング' ties to view='ranked'. However, it omits the sortBy option 'name' and says nothing about limit or order, so compensation is incomplete.

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

    Purpose4/5

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

    The description states a specific verb (取得/get) applied to a specific resource (全JPYペアのティッカー一覧 — all JPY pair tickers). The bracketed tag 'All Tickers / Market Overview' signals a list-scoped tool, which distinguishes it from the singular get_ticker sibling. It is clear on what it does, though it relies on the name/scope tag rather than an explicit contrast.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives. It never mentions that a single pair should use get_ticker, nor when the overview is preferable. The 'All Tickers / Market Overview' label implies breadth vs. the singular sibling, but that's inference, not stated guidance — no exclusions or conditions are given.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses a key constraint: only the latest value is returned, not historical data. It also mentions it returns cross detection and alignment state, which hints at the output scope. However, it does not mention response format, potential caching, or any side effects (though likely read-only). The single constraint is useful but not deep.

    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 short and front-loaded: the first line states the purpose, and the second line adds a warning and redirect. The warning is placed early to prevent misuse. It is concise without unnecessary fluff, though it could be better structured with bullet points, but this is acceptable.

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

    Completeness2/5

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

    Given 4 parameters, no output schema, and no annotations, the description is incomplete. It explains the output categories (latest, cross, alignment) but not their structure or types. It lacks any parameter semantics, so an agent may not know how to form valid requests. The pointer to prepare_chart_data is useful but not enough to fill the gap. The tool is under-specified for its complexity level.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must compensate for parameter understanding. It fails to do so: it does not mention any of the four parameters (pair, type, limit, periods). An agent has no guidance on what these mean or how to set them, especially 'periods' which presumably are SMA lengths. The description adds zero value beyond the schema.

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

    Purpose4/5

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

    The description clearly states it is an SMA numerical snapshot containing the latest value, cross detection, and alignment state (bullish/bearish/mixed). It explicitly names the indicator (SMA) and differentiates from charting tools by emphasizing 'only latest values'. While it does not explicitly contrast with other snapshot siblings like analyze_ema_snapshot, the SMA focus is clear enough for an agent to distinguish.

    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 gives a direct exclusion and pointer: '⚠️ 最新値のみ。時系列チャート描画 → prepare_chart_data' (Only latest values. For time-series chart drawing → prepare_chart_data). This explicitly tells the agent when NOT to use this tool (if historical series is needed) and names the alternative. It does not discuss when to prefer this over other snapshot tools, but the name makes that obvious.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavior, and it does add the key constraint of 'latest value only' and the warning about chart drawing. However, it does not describe the output format, whether the operation is read-only, or any side effects, leaving significant behavioral detail unspecified.

    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 concise at two sentences, front-loading the purpose. The first sentence is a bit keyword-heavy but still efficient, and the second sentence adds a real usage hint. No wasted words.

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

    Completeness2/5

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

    For a tool with six parameters and no output schema, the description is incomplete. It fails to explain parameter semantics or the nature of the returned analysis (e.g., what 'zone', 'cross', 'divergence' mean as outputs). The agent cannot correctly configure the tool without external knowledge.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must explain the six parameters (pair, type, limit, kPeriod, smoothD, smoothK), but it mentions none of them. The agent has no guidance on what these parameters mean or how they affect the analysis, a major gap.

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

    Purpose4/5

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

    The description clearly states it analyzes the latest state of the Stochastic indicator (zone, cross, divergence), which is specific and distinguishes it from generic indicator tools. It also differentiates from prepare_chart_data by explicitly noting this is a snapshot, though it does not name sibling snapshot tools like analyze_bb_snapshot.

    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?

    It explicitly states that only the latest value is provided and directs chart drawing to prepare_chart_data, giving clear guidance on when not to use this tool. However, it does not explain when to choose this over other indicator snapshots (e.g., BB, Ichimoku), which is implied but not spelled out.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full behavioral burden. It does disclose the output format (returns text) and the data-volume requirement (sufficient limit). However, it does not disclose error behavior with insufficient data, dependencies, or whether the operation is read-only, which is notable given the total absence of annotations.

    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?

    Three compact sentences with the routing guidance separated out. The bracketed prefix '[Technical Indicators / RSI / MACD / SMA]' is slightly redundant with the body but serves as a quick tag scan. Information is organized purpose-first with no wasted words.

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

    Completeness3/5

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

    For a text-returning analysis tool with no output schema and no annotations, the description reasonably covers purpose, output form, and alternative routing. Gaps remain: the pair/type parameters are unexplained and the concrete shape of 'signals' output is not described, but the core invocation requirements are present.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate, but it only explains 'limit' (specify enough candles, e.g., 200 daily). The 'pair' and 'type' parameters are never semantically described, leaving the agent to infer their meaning from defaults and enums. One of three parameters covered at 0% schema coverage is insufficient.

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

    Purpose4/5

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

    The description states a specific verb and resource ('テクニカル指標の総合分析' – comprehensive technical indicator analysis) and names the covered indicators (RSI, MACD, SMA). It clearly returns latest values, trend judgment, and signals as text. It implicitly distinguishes itself from the single-indicator snapshot siblings (analyze_sma_snapshot, analyze_ema_snapshot, etc.) by being comprehensive, though it never names them explicitly.

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

    Usage Guidelines3/5

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

    The description provides explicit alternative routing: drawing → prepare_chart_data / render_chart_svg and backtesting → run_backtest, and it advises specifying a sufficient limit. However, it does not clarify when to choose this comprehensive tool over the individual snapshot tools (analyze_sma_snapshot, analyze_bb_snapshot, detect_macd_cross), leaving that differentiation to inference.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses what data will be returned (price, volume, 24h high/low), which is useful, but it does not mention side effects, authentication, rate limits, or that it is read-only (though 'get' implies it). The disclosure is minimal but sufficient for a simple retrieval 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?

    The description is concise and front-loaded with the tool's purpose ('[Ticker / Price]'), followed by a brief explanation of the data retrieved. It wastes no words, though it could be more structured with explicit parameter details.

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

    Completeness3/5

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

    For a simple one-parameter tool without an output schema, the description is mostly complete in explaining what data is returned, but it omits parameter format and any edge cases (e.g., invalid pair handling). Given the lack of annotations, this is a minor gap.

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

    Parameters2/5

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

    The schema has 0% description coverage, so the description must compensate for the parameter. It fails to explain the 'pair' parameter's expected format, allowed values, or what constitutes a valid pair (e.g., 'btc_jpy'), leaving the agent to infer from the default value. The description adds no semantic value beyond what the schema already shows.

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

    Purpose4/5

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

    The description clearly states the verb ('取得' – get) and the resource ('ticker for a single pair'), and specifies the data included (current price, volume, 24h high/low). It distinguishes from sibling 'get_tickers_jpy' through the explicit '単一ペア' (single pair), but does not name the sibling directly.

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

    Usage Guidelines3/5

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

    The phrase '単一ペア' implies the tool is for retrieving data for one pair, suggesting that for multiple pairs one would use a different tool, but no explicit alternatives or exclusions are given. Usage context is implied rather than stated directly.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden of disclosure. It discloses the date archive behavior, the 404 case, and the default limit of 60 for latest. However, it does not mention rate limits, authentication, pagination, or the exact response structure. The disclosed behavior is important but not comprehensive.

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

    Conciseness4/5

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

    The description is front-loaded with a clear heading and purpose. It is structured into two paragraphs: purpose and constraints. The language is efficient, with no filler. The second paragraph adds necessary caveats without excess. Slightly verbose due to the detailed date explanation, but it earns its place.

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

    Completeness2/5

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

    Given the tool has 9 parameters, no output schema, and no annotations, the description is incomplete. It explains the date constraint and general filters but omits details on return format, field meanings, and behavior of optional parameters. The absence of output schema information is a significant gap for an agent deciding how to use the results.

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

    Parameters2/5

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

    Schema description coverage is only 33%, and the description compensates poorly. It mentions generic filters for amount and price but does not explain individual parameters like limit, pair, or the four max/min fields. The date parameter is explained well in the constraints section, but other parameters lack clarity, forcing the agent to infer from names alone.

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

    Purpose4/5

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

    The description clearly states a specific verb and resource: retrieving transaction/trade history. It specifies the scope (latest 60 or by date) and that amount/price filters are available. It distinguishes itself from siblings like get_ticker and get_orderbook by focusing on trades, though it does not explicitly name alternatives.

    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 provides clear usage context: it explains when to use date (completed UTC days) and when to omit it (current day, using latest 60). It also warns about the 404 error for ongoing UTC days. However, it does not explicitly compare against sibling tools, so usage guidance is good but not exhaustive.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It states that direct SVG output to chat is prohibited and that the tool should only be used on request, which adds context. However, it does not explicitly state whether the tool is read-only or has other side effects, though its purpose (visualization) implies non-destructive behavior.

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

    Conciseness3/5

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

    The description is a single block with several sentences, covering purpose, usage conditions, output handling, and a restriction. It is not overly verbose but could be more front-loaded with the most critical instructions. The structure is functional but not tightly organized.

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

    Completeness3/5

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

    Given the tool's complexity (4 parameters, nested objects, no output schema), the description explains the main use case and output delivery method, which is helpful. However, it does not explain the relationship with analyze_candle_patterns in detail or clarify expected output format beyond 'data.svg'. With no annotations, it leaves some gaps for an agent.

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

    Parameters2/5

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

    The schema has 75% parameter description coverage, which is moderate (not high). The description adds no parameter-specific meaning beyond what the schema already provides. It does not explain how parameters like theme, title, or pattern should be used in the context of the tool, so the low coverage is not compensated.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: it visualizes results of analyze_candle_patterns for educational purposes, and it mentions it is a candle pattern diagram. This is specific and distinct from general chart rendering tools, though it doesn't explicitly name sibling tools like render_chart_svg.

    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 gives explicit when-to-use and when-not-to-use instructions: use only when the user explicitly requests a diagram, and avoid spontaneous calls. It also explains how to deliver the output (pass to Visualizer widget). However, it does not mention alternative tools by name, which would fully differentiate.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the two modes and the difference between summary and detailed views, but it does not disclose return format details, side effects (if any), rate limits, or safe-read status. It also does not define 'forming' or 'past statistics' clearly. Some transparency is present, but significant gaps remain.

    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 compact and front-loaded with the primary purpose. The mode distinction is clearly stated, and the screen parameter list is presented as a clean bullet list. While bilingual, it is not overly verbose and each sentence contributes to understanding. Minor redundancy with the English/Japanese repetition, but overall well structured.

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

    Completeness3/5

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

    The tool is complex (11 parameters, nested screen object, no output schema). The description gives an overview of modes and screen options, but lacks details on what the tool returns (beyond text content), how forming detection works, what 'past statistics' include, and examples of usage. Given the complexity and lack of output schema, more context is needed for an agent to correctly invoke and interpret results. It is adequate but not complete.

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

    Parameters3/5

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

    Schema coverage is 64%, so the description is expected to add meaning for the remaining parameters. It does explain the screen object's key fields (crossType, minHistogramDelta, maxBarsAgo, minReturnPct, maxReturnPct, sortBy, limit), which adds value beyond the schema. However, it omits several other parameters (lookback, performanceWindows, minHistogramForForming, view description is already in schema, etc.). The description does not fully compensate for the uncovered parameters, so baseline 3 is appropriate.

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

    Purpose4/5

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

    The description states a specific verb and resource: 'MACD cross detection' with explicit cross types (golden/dead) and two operation modes (screening vs. single-pair deep dive). It is clear about the tool's core function, though it does not explicitly contrast with sibling analysis tools like analyze_indicators or detect_patterns, so it falls slightly short of full differentiation.

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

    Usage Guidelines3/5

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

    The description provides context on when to use the screening mode (pair omitted) vs. deep-dive mode (pair specified), including forming detection and past statistics. However, it does not mention when not to use this tool, nor does it point to alternatives such as other detect_* or analyze_* tools. Usage guidance is implicit rather than explicit.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses that display times are formatted in tz (default Asia/Tokyo) while structured data remains UTC ISO for backward compatibility, and it sets an explicit rule to render results visually and avoid direct SVG output. However, it does not state whether the tool is read-only, rate limits, or other side effects. It provides some useful behavior but not a complete safety profile.

    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: it opens with the tool's purpose and pattern list, then the forming/completed unification, tz note, visual rendering rules, and data format. It is concise and front-loaded, with each sentence contributing. No significant fluff or redundancy.

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

    Completeness2/5

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

    For a tool with 14 parameters, no output schema, and low parameter coverage, the description is not sufficiently complete. It mentions the overlays for rendering but does not explain the full response structure, how parameters affect detection, or the meaning of pattern types in detail. An agent would struggle to correctly choose detection parameters without further information. The description leaves critical gaps.

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

    Parameters2/5

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

    Schema coverage is only 43%, so the description must compensate for undocumented parameters. It explains the tz parameter's effect on display formatting and the UTC preservation of structured data, but does not clarify key detection parameters like swingDepth, tolerancePct, minBarsBetweenSwings, or the interplay between includeForming/includeCompleted. The patterns parameter has guidelines in the schema, but the description adds little beyond the schema. It fails to help with most parameters.

    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 identifies the tool as chart pattern detection, listing specific pattern types (double top, head and shoulders, triangle, wedge, flag). It distinguishes itself from siblings by focusing on chart patterns rather than candlestick patterns (analyze_candle_patterns) or other analysis. The verb 'detect' and resource 'chart patterns' are explicit and specific.

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

    Usage Guidelines3/5

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

    The description gives some usage context: it detects both forming and completed patterns, and instructs passing overlays to render_chart_svg for visual confirmation. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions (e.g., 'for candlestick patterns use analyze_candle_patterns'). The guidance is implicit but not comprehensive.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal important behavioral traits: annualization is supported ('年率換算対応'), aggregates.atr follows the Wilder ATR (RMA-based, period=14, matching TradingView/MT4), and it recommends RV/Parkinson for rolling analysis. However, it does not describe the overall output shape (e.g., whether it returns both aggregates and rolling series), data access side effects, or any rate-limits/auth concerns. It is partially transparent but missing the broader behavioral context an agent needs for a computation 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?

    The description is compact, with the purpose front-loaded via tags. It covers the essential metric types, annualization, and the ATR variant in a few sentences, and ends with a practical rolling-analysis tip. While slightly redundant ('volatility / ATR / realized vol' followed by the list), it is efficient and structured for quick scanning. It earns a 4 for being appropriately sized and front-loaded.

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

    Completeness2/5

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

    The tool has no output schema, so the description must explain return values and behavior. It only hints at an 'aggregates.atr' field and mentions rolling, but does not clarify whether the output includes both aggregate scalars and rolling arrays, what the 'view' parameter does (that's in the schema but not cross-referenced), or what the overall structured content looks like. Given 9 parameters and no output schema, this description leaves the agent under-informed about what it will receive and how to interpret the result.

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

    Parameters2/5

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

    Schema description coverage is only 11% (only the 'view' parameter has a description in the schema), so the description must compensate heavily. The tool description does not explain most of the 9 parameters: pair, type, limit, windows, annualize, useLogReturns, etc. It only indirectly hints at annualize ('年率換算対応') and the rolling concept (related to windows), without mapping them to parameter names. An agent would have to guess the meaning of useLogReturns or windows. This is a significant gap given the low schema coverage.

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

    Purpose5/5

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

    The description opens with tags [Volatility / ATR / RV] and states a clear verb + resource: 'ボラティリティ指標を算出' (computes volatility metrics). It then enumerates the exact indicators (RV, ATR, Parkinson, Garman-Klass, Rogers-Satchell) and notes annualization support. This specificity makes it immediately distinguishable from generic siblings like analyze_indicators, which cover a broad range of technical indicators.

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

    Usage Guidelines3/5

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

    The description gives internal guidance—'ローリングではボラ変化を RV / Parkinson で追跡してください' (for rolling, track volatility changes with RV/Parkinson)—which is a usage tip for metric selection, but it does not explicitly compare against sibling tools or state when to prefer this tool over alternatives like analyze_indicators or get_flow_metrics. Usage context is implied by the tool's focus on volatility, but no exclusions or alternative routes are provided, leaving the agent to infer when to choose this tool.

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

  • Behavior3/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 of behavioral disclosure. It does surface the conceptual outputs per mode (e.g., spread, buy/sell pressure, liquidity zones, wall-zone estimation), which adds real information. But it omits practical concerns such as response shape, formatting, ordering of bids/asks, or any rate/limits context.

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

    Conciseness4/5

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

    The description is compact: one purpose sentence followed by a tight mode breakdown, with the primary purpose front-loaded. The colon-separated mode list is scannable and uses no filler. It could be slightly clearer about parameter semantics but earns a high conciseness score for efficient structure.

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

    Completeness3/5

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

    With 6 parameters, 0% schema coverage, and no output schema, the description must carry heavy weight. The mode explanations help materially, but gaps remain: no indication of the return format/fields, no clarification of pair domain, and no guidance distinguishing ranges from bandsPct. Adequate but not complete for a multi-mode tool.

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

    Parameters3/5

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

    Schema coverage is 0%, so the description must compensate. It partially does: 上位N層 maps to topN, 帯域別/買い・売り圧力 maps to ranges/bandsPct, 流動性ゾーン maps to priceZones, and the mode enum is meaningfully expanded. However, the pair parameter is entirely undescribed, and the semantic difference between ranges and bandsPct is left ambiguous despite both being 'range' arrays.

    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 identifies this as the integrated tool for order book/depth/bid-ask spread data (板情報), distinguishing it from siblings like get_ticker, get_candles, and the various analyze_* tools. The specific verb-resource pairing is unambiguous, and the four named modes (summary/pressure/statistics/raw) further pin down what it does.

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

    Usage Guidelines3/5

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

    The description explains what each mode computes (top N + spread, pressure by band, liquidity zones + large orders, raw bids/asks + wall zones), which guides mode selection. However, it gives no explicit guidance on when to choose this tool over alternatives such as get_ticker, get_flow_metrics, or the analyze_* siblings, and no stated exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears the full burden. It does not disclose output format (e.g., base64, file path), potential side effects, or resource implications of server-side generation. It mentions rules for usage but not behavioral traits like mutability or return structure. The 'self-invocation prohibition' is a usage guideline, not a behavioral disclosure.

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

    Conciseness4/5

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

    The description is concise and well-structured, front-loading the purpose and then providing usage constraints. It packs important rules into a few sentences without unnecessary fluff. Slightly long due to the list of indicators, but still efficient.

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

    Completeness2/5

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

    With 22 parameters, nested objects, no output schema, and no annotations, the description is far from complete. It gives essential usage rules but omits output expectations, error scenarios, and explanations for most parameters. The description would need to be substantially richer to fully guide an agent.

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

    Parameters2/5

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

    Schema description coverage is only 41%, and the description compensates for only a few parameters: it instructs not to set indicators unless explicitly requested, and notes that overlays can be passed from detect_patterns. However, it does not explain many other parameters (depth, limit, style, bbMode, ichimoku, subPanels, etc.), leaving significant gaps for such a large parameter set.

    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 a specific verb (generate) and resource (candlestick/line charts to SVG/PNG server-side), and explicitly differentiates from prepare_chart_data for client-side rendering. It also mentions overlays from detect_patterns, clearly setting it apart from other rendering tools.

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

    Usage Guidelines5/5

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

    Provides explicit routing: prefer prepare_chart_data if client-side rendering is possible, only use when the user explicitly requests SVG/PNG save, and prohibits spontaneous calls. Also specifies that indicators must be user-requested, leaving no ambiguity about when to invoke.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It explains the computation method (composite score based on several indicators), which is useful, but it does not state whether the operation is read-only, what the output format is (e.g., a ranked list with scores), or any potential side effects. The explanation of underlying metrics adds some transparency, but significant behavioral details remain unspecified.

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

    Conciseness5/5

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

    The description is a single, dense sentence that packs purpose, methodology, and use case without any redundancy. It is front-loaded with the core concept and avoids unnecessary details, making it highly efficient for an agent scanning tool descriptions.

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

    Completeness3/5

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

    Given the tool's moderate complexity (two optional parameters, no output schema), the description explains what it does and how, but it does not mention what the return value looks like, any prerequisites (e.g., whether candle data must be fetched first), or limitations. This is adequate for basic selection but leaves gaps for an agent needing to interpret results.

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

    Parameters3/5

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

    Schema coverage is 100%, so both parameters (topN and type) have descriptions in the schema. The tool description contributes no additional parameter context beyond what the schema already provides, which is acceptable per calibration. The description's mention of 'all JPY pairs' does not clarify parameter semantics further.

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

    Purpose5/5

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

    The description clearly states it analyzes currency strength ranking for all JPY pairs, using a composite score of rate of change, RSI, SMA divergence, and volume. It distinguishes itself from sibling indicator tools by focusing on relative strength screening, making its purpose specific and unambiguous.

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

    Usage Guidelines3/5

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

    The description implicitly conveys usage for screening and discovering notable instruments (注目銘柄の発見・スクリーニングに), but does not explicitly state when to use this tool versus alternatives like analyze_market_signal or analyze_indicators. No exclusions or alternative routing are provided, though the context is clear enough for an agent to infer typical use.

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

  • Behavior3/5

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

    Since no annotations are provided, the description must carry the full burden. It discloses a key behavioral trait: only latest values are returned, and it enumerates the output components (values, alignment, crosses, slope). However, it does not mention whether the operation has any side effects, requires authentication, or has rate limits, and it does not describe the return format. The 'latest values only' warning adds useful context but leaves room for behavioral detail.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences plus a warning, with the core function front-loaded. It wastes no words and effectively communicates the essential purpose and a key limitation. The structure is optimal for quick agent comprehension.

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

    Completeness2/5

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

    Given the tool has 4 parameters with no schema descriptions, no output schema, and no annotations, the description is notably incomplete. It fails to explain parameter semantics, return structure, and edge cases. While it does route to prepare_chart_data for charting, this does not compensate for the absence of parameter documentation and output details, leaving an agent uncertain about how to correctly invoke the tool.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate for parameters. It only mentions the default periods (12/26/50/200) implicitly, but does not explain pair, type, or limit. It does not clarify how limit affects the calculation or how periods are used beyond listing defaults. This is insufficient given the complete lack of schema descriptions.

    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 function: returns latest values, alignment, crosses, and slope of EMA with default periods. It explicitly distinguishes itself from prepare_chart_data by noting it only provides latest values, not chart time-series data. This differentiates it from sibling snapshot tools like analyze_bb_snapshot and analyze_ichimoku_snapshot.

    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 provides an explicit exclusion: it is not for time-series chart drawing, and directs users to prepare_chart_data for that purpose. This gives a clear alternative. However, it does not elaborate on conditions for choosing this tool over other analyze_* snapshot tools beyond the implicit focus on EMA, so it lacks exhaustive when-to-use guidance.

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

  • Behavior3/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 'latest values only' limitation, which is genuinely useful. However, it does not describe the return format, pagination, whether calls are idempotent/read-only, or how limit/lookback alter results. For an unannotated tool, this is a moderate gap.

    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 tight - the indicator scope is front-loaded, and the routing note is flagged with ⚠️ and placed clearly. It is efficient and each line earns its place, though the Japanese-only text may present a minor accessibility cost for non-Japanese agents.

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

    Completeness3/5

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

    With no annotations and no output schema, this text is the only context source. It covers purpose and the key latest-only constraint but omits parameter semantics, which is significant for a 4-parameter tool with zero schema documentation. Moderately complete but with a real gap.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate, but it explains none of the parameters. In an Ichimoku context, 'lookback' is non-obvious (it controls the tenkan/kijun periods) and 'limit' vs 'lookback' interplay is unclear. The description adds zero parameter meaning, failing to compensate for the low schema coverage.

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

    Purpose5/5

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

    The description names the exact indicator (Ichimoku Cloud) and enumerates precisely what it returns: price-vs-cloud relationship, tenkan/kijun cross, and cloud slope. This clearly differentiates it from the sibling snapshot tools (analyze_bb_snapshot, analyze_sma_snapshot, analyze_stoch_snapshot), which each target a different indicator.

    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 ⚠️ note explicitly states 'latest values only' and routes time-series chart drawing to prepare_chart_data with the ICHIMOKU indicator argument. This is a clear when-not-to-use with a named alternative. It doesn't state positive conditions for choosing this over the other analyze_*_snapshot siblings, but the snapshot-vs-series distinction is well handled.

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

  • Behavior3/5

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

    With no annotations provided, the description itself must disclose behavior. It mentions that this tool is for 'SVG/PNG ファイル保存' and references preferFile/autoSave, implying file-saving side effects. However, it does not explicitly state whether the tool returns SVG content, writes to disk by default, or what happens with the generated file. The fallback positioning is clear, but the actual operational behavior (return vs. save) is underspecified. This is adequate but not thorough given zero annotation coverage.

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

    Conciseness3/5

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

    The description is compact but mixes languages and intertwines purpose, alternative routing, and usage instructions without clear separation. The core purpose is front-loaded in the first lines, which is good, but the structure is slightly chaotic (e.g., inline references to file saving and HTML embedding). It is not overly verbose, but the organization could be clearer for quick agent parsing.

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

    Completeness2/5

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

    Given no output schema, no annotations, and 5 parameters (including a nested object), the description is insufficiently complete. It omits return value details, default behavior when autoSave/preferFile are not set, the meaning of pair and type, how depth.levels affects the output, and any error or edge-case handling. While the fallback context is useful, an agent cannot confidently invoke this tool correctly without additional information.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must explain all parameters. It only directly references preferFile and autoSave in the context of file saving, but does not define them. Parameters like pair, type, and the depth object (with levels) are completely unexplained. While defaults exist in the schema, the description adds no semantic meaning to guide the agent in setting these values, making this a significant gap for a 5-parameter tool with 0% schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool generates an SVG for a depth chart / order book visualization, using specific terms like '板の深さチャートを SVG 生成' and 'bid-ask depth'. It explicitly positions itself as a fallback to prepare_depth_data, distinguishing it from that sibling and implying a distinct resource (SVG file). This is specific enough for an agent to understand the tool's function without confusion.

    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?

    The description gives explicit when-to-use and when-not-to-use guidance: it says to prefer prepare_depth_data for client-side rendering (Claude.ai Visualizer), and to use this tool only for file saving (preferFile/autoSave) or file embedding. It names the alternative (prepare_depth_data) and the exact conditions for selection, leaving no ambiguity about routing.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It does declare 'latest value only' and 'lightweight', which reveals key constraints, but it does not describe output structure, calculation assumptions, or failure behaviors. Partial transparency, not comprehensive.

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

    Conciseness4/5

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

    The description is compact and well-structured with mode breakdown and a warning about latest values. It earns its sentences without excess, though the tag-style opening could be clearer for non-Japanese readers.

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

    Completeness2/5

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

    Given no output schema, no annotations, and 0% schema coverage, the description is incomplete. It covers the 'why' and mode selection but omits semantics for three of four parameters and any indication of return format, leaving an agent under-informed for correct invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. Only 'mode' is explained; pair, type, and limit are entirely undocumented despite defaults and constraints being present in the schema. This is a significant gap for an agent selecting values.

    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 names a specific indicator (Bollinger Bands), lists its key sub-concepts (BB/squeeze/bandwidth/zScore), and explicitly distinguishes this lightweight BB snapshot from sibling indicator snapshots. It also clarifies the two modes, making the tool's scope immediately clear.

    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?

    It provides explicit mode guidance (default vs extended) and directs users needing time-series chart data to prepare_chart_data with indicators ['BB']. This clearly states when to use this tool versus an alternative, leaving little ambiguity.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses automatic swing detection, calculation of levels, and inclusion of historical reaction performance (rebound rate, return). However, it does not explicitly state whether the tool is read-only (likely for an analysis tool), nor does it mention any limitations or side effects beyond the output details. The behavior is partially transparent but not fully explicit.

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

    Conciseness5/5

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

    The description is concise, with two sentences that front-load the core purpose and then provide the sibling alternative. Every sentence adds value; there is no redundant or filler content. The structure is effective and easy to parse.

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

    Completeness3/5

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

    The tool has 5 parameters and no output schema. The description covers the main output (levels with historical performance) but does not clarify the difference between the two lookback parameters (lookbackDays vs historyLookbackDays) or the default behavior for mode/type. It is adequate for a basic understanding but leaves important contextual details unexplained, especially for a tool with multiple parameters and no output schema.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It mentions swing high-low and retracement/extension, which vaguely relates to mode, but does not define the meaning of individual parameters like lookbackDays vs historyLookbackDays, or type. The description provides no explicit parameter-level semantics, leaving the agent to infer from the schema alone, which is insufficient given the lack of coverage.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: Fibonacci analysis (retracement/extension) with automatic swing detection and level calculation, including historical reaction performance. It names the specific resource (Fibonacci levels) and the action (analyze), distinguishing it from the multi-timeframe sibling via direct mention.

    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 identifies the alternative for multi-timeframe analysis (analyze_mtf_fibonacci) and implies this tool is for single-timeframe. While it does not enumerate all possible alternatives or conditions, the single-timeframe vs multi-timeframe distinction is clear and sufficient for the main use case.

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

  • Behavior4/5

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

    With no annotations, the description discloses that it returns a chart and metrics, and that the content text includes equity/drawdown JSON, with chartDetail controlling sampling. It also notes it handles data acquisition and calculation automatically ('unique implementation unnecessary'). However, it doesn't explicitly state it performs a read-only simulation with no real orders, which is a minor gap given the backtest context.

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

    Conciseness5/5

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

    The description is front-loaded with the tool's purpose and uses bullet-like lines for strategy, period, timeframe, and output details. Each sentence provides distinct information (strategy list, period options, timeframe, output metrics, JSON details, chartDetail sampling), with no fluff. The structure makes it easy to scan.

    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 tool with 12 parameters and a nested strategy object, the description covers the core options and return details (metrics, chart, JSON). It explains chartDetail's sampling and mentions output format. It doesn't explain all parameters (e.g., fee_bp, outputDir constraints) but the schema covers those, so the description complements the structured data well.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description reiterates the strategy enums, period options, and timeframe, and adds nuance about chartDetail sampling, but it largely overlaps with the schema's already-detailed parameter descriptions (e.g., precedence of start_date/end_date over period is in both). It adds little beyond what the schema already states.

    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 opens by calling it a 'general-purpose backtest' with strategy names, and states it 'executes data acquisition through calculation to chart drawing in one go' – a specific verb and resource. It clearly distinguishes itself from sibling analysis tools by being the only backtesting tool, listing strategies (sma_cross, rsi, etc.) and output metrics (P&L, win rate, max DD, Sharpe).

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

    Usage Guidelines3/5

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

    The description implies when to use this tool by calling it 'general-purpose' and noting 'no need for custom implementation,' but it never explicitly contrasts it with sibling tools or states when not to use it. There are no exclusions or alternative routing. It could be clearer that this is the go-to backtest tool and that other analysis tools are for separate snapshots.

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

  • Behavior4/5

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

    No annotations are present, so the description carries the full burden. It discloses a key behavioral trait: it returns only the latest-value snapshot, not a time series, and explicitly routes time-series needs elsewhere. This meaningfully sets expectations about scope and freshness for a read-style analysis tool. It does not cover auth or rate limits, but the snapshot limitation is the most consequential behavior and is clearly stated.

    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 core purpose is front-loaded in the first line and the snapshot caveat follows immediately. The trailing tool-name list is useful routing info, though the density of symbols (⚠️・→) and the bilingual mix make it slightly busy. It is efficient overall with no wasted sentences.

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

    Completeness3/5

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

    Covers the what, why, and when-not well, but with 5 parameters at 0% schema coverage and no output schema, the unexplained parameters (windows, bucketMs, flowLimit) and lack of return-shape detail leave real gaps. The weighting/composition of the 5-element score is also never described, which a triage tool could usefully state.

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

    Parameters2/5

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

    Schema description coverage is 0% and the description does not explain any of the 5 parameters (pair, type, windows, bucketMs, flowLimit). Only 'type' gains some clarity from the enum, and defaults hint at intent, but windows/bucketMs/flowLimit remain opaque. The description must compensate at this coverage level and does not.

    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 precise verb and resource: it computes a single -100 to +100 composite market signal from 5 named elements (板圧力/CVD/モメンタム/ボラティリティ/SMAトレンド). It explicitly frames itself as a triage/screening entry point and clearly distinguishes itself from prepare_chart_data, so an agent can tell them apart without opening schemas.

    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 declares when to use it (分析の起点・スクリーニング – starting point for analysis/screening) and when not to (for time-series chart drawing it directs to prepare_chart_data with indicators specified). It also names concrete specialist alternatives (get_flow_metrics / get_volatility_metrics / analyze_indicators / get_orderbook / detect_patterns) for deeper analysis. 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.

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It adds useful context (internal, for UI recovery, LLM not needed) and implies a read-only snapshot, but does not explicitly state side effects, authentication, or rate limits. Adequate for a simple retrieval tool, but not rich.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the core purpose and immediately followed by the critical non-usage note. No wasted words; every sentence earns its place.

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

    Completeness4/5

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

    For a single-parameter tool with no output schema and clear purpose, the description is nearly complete. It explains why it exists, when to use it, and when not to. Minor gap: doesn't describe the snapshot structure, but it's a simple retrieval of preview responses, so this is not critical.

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

    Parameters3/5

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

    Schema coverage is 100%, and the parameter 'resource_uri' is already fully described with an enum and clear semantics. The tool description adds no extra meaning about the parameter, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description states a specific action ('returns the snapshot of recent preview tool responses') for a specific resource (confirmation UI iframe), and clearly distinguishes it from the many analysis siblings by marking it as internal and for UI recovery. The purpose is unambiguous.

    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 states when to use (UI self-recovery when host doesn't deliver tool-result notifications) and when not to use (LLM response generation), and points to the alternative (preview tool responses contain the same content). This is direct, actionable guidance.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden and discloses key behavioral traits: it forces a cache re-fetch, that the fetch covers all pairs regardless of the pair argument (pair is only for display), and the default TTL of 1h. This goes beyond simply stating 'refresh' and gives the agent an accurate model of side effects.

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

    Conciseness5/5

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

    The description is tight and front-loaded: an action and category, a why, and a clarifying note about the parameter, all in two sentences. No filler exists, and every sentence earns its place.

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

    Completeness4/5

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

    For a simple maintenance tool with one optional parameter and no output schema, the description covers its purpose, usage timing, and parameter behavior. It does not mention return values, but for a cache-refresh tool this is not critical; the missing bits (e.g., failure modes, rate limits) are minor given its simplicity.

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

    Parameters3/5

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

    The schema already documents the pair parameter with exactly the same behavior (all-pairs refresh with pair used only for display), so schema coverage is 100%. The description reiterates this but adds no new semantic value beyond what the schema provides, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description explicitly states the specific action (force re-fetch of TTL cache) and resource (/spot/pairs fee rates), clearly distinguishing it from the many market-data and analysis siblings. The category '[Maintenance / Fees]' further disambiguates its server-side maintenance role.

    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 gives a concrete use case ('when you want to immediately reflect the latest maker/taker fee rates at campaign boundaries'), which clearly conveys when the tool should be invoked. It does not explicitly state when not to use it (e.g., under normal TTL operation), but the intended context is clear enough for an agent to decide.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full responsibility. It discloses the tool's behavior: detects anomalies, auto-determines liquidity tier, applies thresholds based on crypto fat-tail and zero-volume considerations, and allows manual threshold adjustment. It does not explicitly state whether the tool modifies data (it implies read-only), nor the exact output structure beyond the score, but the threshold auto-logic is described in detail.

    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 efficient, starting with a clear purpose, then listing detection types, then explaining threshold logic. It uses a structured header '[Data Quality / Validation]' to signal the domain. Each sentence adds value, and it avoids fluff, though it is slightly longer than ideal due to the detailed threshold explanation.

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

    Completeness3/5

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

    Given the tool has 7 parameters and no output schema, the description should clarify the return format. It mentions '0-100の品質スコア(A-F)' but does not describe whether the output includes anomaly details, a breakdown, or just the score. This leaves an agent uncertain about how to consume the result. The threshold behavior is well-covered, but the missing output structure is a notable gap.

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

    Parameters4/5

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

    The schema descriptions cover most parameters, but the description adds critical context beyond the schema: it explains that price_sigma and volume_multiplier have auto-set defaults based on the pair's liquidity tier (major/mid/minor), and that the tier is automatically determined. This enriches the meaning of those parameters and compensates for the pair parameter lacking a schema description. The focus on auto-tier logic is a meaningful supplement.

    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 validates OHLCV candlestick data ('OHLCVローソク足データの品質検証') and lists specific detection targets: completeness, duplicates, OHLCV consistency, price anomalies, and volume anomalies. It also mentions computing a 0-100 quality score with grade A-F. This goes beyond a vague 'validate' and gives concrete, actionable purpose that differentiates it from sibling analyze and get tools.

    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 the use case: '分析やバックテスト前に「このデータ信用できる?」を確認するためのツール' (tool to check if data is trustworthy before analysis or backtesting). This gives a clear temporal context. However, it does not explicitly name alternative tools or conditions when NOT to use it, though the context implies it is a pre-processing step distinct from analysis tools.

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

  • Behavior5/5

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

    With zero annotations, the description bears the full burden — and it delivers. It discloses the response shape ({times, labels?, candles, series?, subPanels?}), the default (candles only), JPY integer rounding, automatic exclusion of all-null series, timezone label behavior, and the context-consumption cost of stacking indicators. This is a thorough behavioral contract that leaves little to inference.

    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?

    Well-structured and front-loaded: warnings come first with ⚠️ markers, followed by default behavior, response format, and sibling routing. The JSON response sketch earns its space, and the indicator list is reused both as reference and as a 'specify explicitly' reminder. Slightly long, and the indicator enumeration partially duplicates the input-schema enum, but every section adds operational value.

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

    Completeness4/5

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

    Complete for a 5-parameter, no-output-schema, no-annotation tool: full response format, parameter guidance, and routing all present. Remaining gaps are minor — no semantics for pair/type, no error or auth notes (likely N/A here), and the boundary against get_candles/prepare_depth_data is implied rather than stated. Strong coverage of the core calling contract.

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

    Parameters3/5

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

    Schema coverage is only 20% (only tz is described), so the description must compensate. It does add real meaning for limit (the recommended-default rationale and the 'only raise when user specifies a period' rule) and indicators (usage restraint plus enumeration), and it re-explains tz with a concrete example. But two parameters get zero added semantics: pair (bare 'btc_jpy' default, undocumented everywhere) and type (timeframe enum listed with no guidance on selection). Partial compensation for an 80% coverage gap is not full compensation.

    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 opens with a clear mission statement — 'チャート描画の第一選択ツール' (the first-choice tool for chart drawing) — and specifies the exact resource (OHLCV candlestick chart data) with optional indicator overlays. It actively differentiates itself from siblings by routing SVG/PNG saving to render_chart_svg and indicator analysis to analyze_indicators, so an agent can distinguish this tool from its neighbors without opening their schemas.

    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?

    Provides concrete usage rules: default limit=30 unless the user specifies a period, indicators only when explicitly requested, and minimize indicator count to protect context. It also routes to alternatives (render_chart_svg for file output, analyze_indicators for trend/value reads). However, it never explicitly contrasts itself with get_candles or prepare_depth_data — an agent is told 'first choice' but not told when those siblings should win instead.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the API call, the cumulative volume calculation, sorting order for bids/asks, band calculation, and JPY rounding—concrete behavioral specifics beyond a generic statement. Minor omission: no mention of rate limits or auth, but not expected for a data-prep 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?

    The description is somewhat long but well-organized: purpose, usage, and response format are clearly sectioned. Front-loads the key usage guidance. A few redundant phrases could be trimmed, but the structure aids quick comprehension.

    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?

    Given no output schema, the description compensates by fully detailing the response structure including field names, ordering, band definition, and rounding behavior. An agent has all information needed to call the tool and parse its output correctly.

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

    Parameters3/5

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

    Schema covers 67% of parameters with descriptions (levels, bandPct), and the description adds implicit context (JPY rounding, band ratio). However, it does not elaborate on 'pair' beyond the default, and the schema already documents bounds and defaults. The description contributes minimal additional parameter meaning.

    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 a specific purpose: prep depth data for visualization, naming the underlying API (getDepth) and the output format. It distinguishes itself from render_depth_svg and get_orderbook via explicit use-case statements.

    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 marks itself as the first-choice tool for depth chart drawing and directs to render_depth_svg when file saving (SVG/PNG) is needed. No ambiguity remains about when to select this tool.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure and does so thoroughly. It explains internal sorting, deduplication logic, data source behavior, view impact on content vs structuredContent, and the meaning of nonZeroOnly. It even warns about weight and deprecated views. This is far beyond typical.

    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 organized into clear sections (purpose, data source constraints, processing contract) and is front-loaded. While it is long, every section provides necessary operational detail. Some repetition between the main description and schema parameter descriptions exists, but it is not excessive.

    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?

    Given 9 parameters and no output schema, the description is remarkably complete. It covers parameter interactions, data availability limitations, merge/deduplication logic, and view behavior. An agent would have all necessary information to invoke the tool correctly and interpret the results.

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

    Parameters5/5

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

    Schema coverage is 78%, but the description adds rich semantics: hours vs limit priority, bucketMs meaning, nonZeroOnly filtering behavior, bucketsN scope, and a detailed breakdown of view options and their effects. This significantly exceeds what the schema alone provides.

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

    Purpose5/5

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

    The description opens with a specific purpose: 資金フロー分析(flow / CVD / aggressor ratio / buy-sell pressure), clearly stating it analyzes trade data to compute CVD, aggressor ratio, and buy-sell pressure. It distinguishes itself from sibling tools like get_candles or get_transactions by focusing on flow analysis rather than raw data or price metrics.

    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 explains parameter usage: hours (recommended) vs limit for range selection, with hours taking priority. It also documents data source constraints and limitations (UTC day boundaries, limited coverage for the current UTC day). It does not explicitly contrast with alternative tools, but given the tool's name and purpose, this is largely self-evident. The deprecated view alternatives are clearly flagged with better replacements.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It explains timezone interpretation (tz, fallback to Asia/Tokyo, UTC handling), the calendar-day semantics of the date parameter (end-of-day cutoff), that limit counts candles not days, compatibility edge cases (YYYYMMDD for year-tier types), the deprecated items view, and the token-cost implications of format=json. This level of detail exceeds typical MCP descriptions and leaves little room for misinterpretation.

    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 lengthy but densely packed with essential information. It is structured with a clear main purpose first, then a note pointing to the schema, and finally the critical backtest alternative. While it could be slightly trimmed (e.g., the view parameter explanation is verbose), every sentence contributes operational value. It is not terse, but for a tool with 7 parameters and multiple modes, the detail is justified.

    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?

    Given the tool's complexity (7 parameters, multiple enums, no output schema), the description covers all critical aspects: what data is returned, how date/timezone work, how limit behaves, how view and format affect output, and the deprecation warning. It even provides concrete examples to remove ambiguity. An agent reading this description can confidently call the tool with correct parameter choices without needing external documentation.

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

    Parameters5/5

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

    Although the schema already provides decent descriptions (coverage 71%), the tool description adds significant semantic value beyond the schema. It clarifies that limit is measured in candles, not days, with an explicit example ('1hour, date=20251002, limit=24 は指定 tz の 10/2 24 本'), explains how date format varies by timeframe, and describes the behavior of view=full vs view=items in terms of content volume and deprecation. These details are not derivable from the schema alone.

    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 opens with a clear translation of the tool's function: 'ローソク足(candles / OHLCV / chart data)を取得' (fetch candlesticks/OHLCV/chart data). It goes beyond a generic phrase by specifying the resource (candles/OHLCV) and the range of supported timeframes (1min〜1month). It also implicitly distinguishes itself from siblings like get_ticker (single tick) and get_transactions (raw trades) by focusing on aggregated OHLCV series.

    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?

    The description includes an explicit '重要' (important) note: 'バックテストには run_backtest を使用(データ取得〜チャート描画を一括実行)'. This directly tells the agent when NOT to use this tool and points to an alternative. It also provides guidance on selecting view/format/limit to control output size, which helps the agent choose appropriate parameter values for its use case.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

bitbank-lab-mcp MCP server

Copy to your README.md:

Score Badge

bitbank-lab-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bitbankinc/bitbank-lab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server