Skip to main content
Glama

OneQAZ Trading Intelligence

explain_decision

Read-onlyIdempotent

Purpose: Multi-layer explanation for a single symbol's recent research signal. Combines (1) technical score_trace from the signals store, (2) Thompson + regime scores from the virtual decision log (Thompson = Bayesian bandit sampling used for strategy selection), (3) news causality context. Use this when an AI must present a structured "why" rather than a raw verdict. Triggers (casual questions too): "why is BTC bullish?", "왜 이 종목이 매수야?", "explain that signal", "판단 근거 설명해줘", "walk me through the reasoning". When to call: when the user asks "why is this signal bullish/bearish?". Prerequisites: identify the symbol via get_signals or get_latest_decisions first. Next steps: none (this completes the explanation chain). Caveats: symbol must match the per-symbol signal store filename (lowercase). Output is research evidence, NOT a buy or sell recommendation.

Args: market_id: Market identifier (crypto, kr_stock, us_stock; aliases coin/kr/us) symbol: Symbol to explain (e.g., btc, eth, 005930)

Disclaimer: Information only, not investment advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYes
market_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoSet true on error responses
actionNoRecommended client action (error path)
reasonNoHuman-readable cause (error path)
full_dataNo
retryableNoWhether the client should retry (error path)
timestampYesRFC3339 UTC, server build time
ai_summaryNoOne-line AI-oriented summary (success path)
disclaimerYesCanonical compliance disclaimer (always present)
error_codeNoStable error identifier; see mcp_error_policy.md
request_idYes32-hex per-response correlation id
_llm_summaryNo
action_valueNo
_next_actionsNo
fallback_noteNo
fallback_toolNoSuggested fallback (error path)
is_real_moneyNo
_value_signalsNo
summary_for_userNoOne-line jargon-free Korean summary (success path)
data_classificationNo
is_investment_adviceNo
ai_summary_ttl_secondsNo
_market_state_narrativeNo
ai_summary_generated_atNoRFC3339 UTC
_followup_questions_for_userNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description does not contradict these. It adds meaningful context: the output is 'research evidence, NOT a buy or sell recommendation' and includes a caveat about symbol matching the lowercase filename. This goes beyond the structured annotations by explaining the nature and limitations of the return data.

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

Conciseness4/5

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

The description is well-structured with clear headings (Purpose, Triggers, When to call, Prerequisites, Next steps, Caveats, Args, Disclaimer) and front-loaded with the core purpose. While the trigger examples are helpful, they are somewhat redundant given the explicit 'When to call' section, making the text slightly longer than strictly necessary.

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

Completeness5/5

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

For a tool that aggregates multiple data sources, the description is remarkably complete. It explains the composition of the return (three components), provides prerequisites, notes that it ends the explanation chain, and includes a disclaimer. Even without seeing the output schema, the agent understands what to expect and how to prepare inputs.

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 description coverage is 0%, so the description carries full responsibility. It provides substantial semantics: market_id lists allowed values and aliases ('crypto, kr_stock, us_stock; aliases coin/kr/us'), and symbol gives concrete examples ('btc, eth, 005930') plus the lowercase rule. This fully compensates for the schema's missing 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 begins with a specific verb-resource combination: 'Multi-layer explanation for a single symbol's recent research signal.' It enumerates the three combined components (technical score_trace, Thompson + regime scores, news causality) which clearly distinguishes it from sibling getter tools. The statement 'present a structured "why" rather than a raw verdict' further differentiates it from tools that return raw data or verdicts.

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?

Explicit 'Use this when' and 'When to call' instructions are provided, including example triggers in both English and Korean. Prerequisites identify prior steps ('identify the symbol via get_signals or get_latest_decisions first') and 'Next steps: none' clarifies workflow completeness. However, it does not explicitly name alternative tools to avoid, so it lacks direct exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but there are overlapping areas such as get_feature_governance_state vs get_feature_governance_status_tool and the convenience wrappers for losing/winning positions/trades. Descriptions clarify relationships well, so confusion is limited.

Naming Consistency4/5

The vast majority follow a consistent 'get_' prefix with descriptive nouns, but inconsistencies exist: some tools have '_tool' suffix (e.g., get_macro_causality_graph_tool) while similar ones do not, and governance tools use 'state' vs 'status_tool'. Overall, the pattern is predictable.

Tool Count2/5

39 tools is excessive for the apparent scope. Many are redundant convenience wrappers (get_losing_positions, get_winning_trades, etc.) that duplicate filters on other tools, and there are near-duplicate governance tools. The count could be significantly consolidated.

Completeness5/5

The tool surface is remarkably comprehensive, covering signals, trades, predictions, positions, macro relationships, news causality, strategies, structure, governance, and ledger integrity. There are no obvious functional gaps, and the tools form a well-integrated evidence chain.