OneQAZ Trading Intelligence
REMOTE · API.ONEQAZ.COM · 2 COMPONENTS
Verifiable crypto/KR/US market intelligence for AI agents: signals, hash-chained ledger. Not advice.
Available components
Last scanned (19 hours ago)
Scores higher than 58% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Crypto and Web3
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10724 tokens (~297/item across 36 items; 21 tools + 15 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management32
- Stability check failed: schema churn in the 29 days we've observed: 25 tool removals, 0 breaking changes, 0 auth/transport breaks, 7 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 −9
- Stability: pass → fail ▼ security
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “get_sector_correlations_tool” was removed ▼ security
- Tool “get_role_analysis” was removed ▼ security
- Tool “get_profitable_positions” was removed ▼ security
- Tool “get_positions” was removed ▼ security
- Tool “get_position_detail” was removed ▼ security
- Tool “get_news_leading_indicator_performance” was removed ▼ security
- Tool “get_news_causality_breakdown” was removed ▼ security
- Tool “get_monthly_accuracy_trend” was removed ▼ security
- Tool “get_macro_influence_map” was removed ▼ security
- Tool “get_macro_causality_graph_tool” was removed ▼ security
- Tool “get_losing_trades” was removed ▼ security
- Tool “get_losing_positions” was removed ▼ security
- Tool “get_llm_trading_decisions” was removed ▼ security
- Tool “get_latest_decisions” was removed ▼ security
- Tool “get_feature_governance_status_tool” was removed ▼ security
- Tool “get_feature_governance_state” was removed ▼ security
- Tool “get_structure_validation_history” was removed ▼ security
- Tool “get_symbol_peer_links_tool” was removed ▼ security
- Tool “get_trade_outcomes_bulk” was removed ▼ security
- Tool “get_winning_trades” was removed ▼ security
- Tool “get_backtest_tuning_state” was removed ▼ security
- Tool “get_signal_detail” was removed ▼ security
- Tool “analyze_trades” was removed ▼ security
- Tool “get_strategy_distribution” was removed ▼ security
- Tool “get_cross_market_correlation” was removed ▼ security
- Tool “get_prediction_accuracy” rewrote its description, which is the text the model reads security
- Tool “get_performance_metrics” rewrote its description, which is the text the model reads security
- Tool “get_system_card” rewrote its description, which is the text the model reads security
- Tool “get_trade_history” rewrote its description, which is the text the model reads security
- Tool “explain_decision” rewrote its description, which is the text the model reads security
- Tool “get_structure_calibration” rewrote its description, which is the text the model reads security
- Tool “get_daily_brief” rewrote its description, which is the text the model reads security
- Tool “get_signals” rewrote its description, which is the text the model reads security
- Tool “fetch” rewrote its description, which is the text the model reads security
- Schema quality: 268 → 297 ▼ functional
- Prompt “portfolio_review” was removed ▼ functional
- Resource “get_event_leading_scores” was removed ▼ functional
- Resource “pg_pool_stats_resource” was removed ▼ functional
- “get_prediction_accuracy” added an optional parameter “granularity” cosmetic
- “get_structure_calibration” added an optional parameter “include_history” cosmetic
- “get_trade_history” added an optional parameter “outcome” cosmetic
- “get_structure_calibration” added an optional parameter “days” cosmetic
- “explain_decision” added an optional parameter “include” cosmetic
- 28 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_news_leading_indicator_performance” rewrote its description, which is the text the model reads security
- Tool “analyze_trades” rewrote its description, which is the text the model reads security
- Tool “explain_decision” rewrote its description, which is the text the model reads security
- Tool “fetch” rewrote its description, which is the text the model reads security
- Tool “get_account_status” rewrote its description, which is the text the model reads security
- Tool “get_active_predictions” rewrote its description, which is the text the model reads security
- Tool “get_backtest_tuning_state” rewrote its description, which is the text the model reads security
- Tool “get_cross_market_correlation” rewrote its description, which is the text the model reads security
- Tool “get_daily_brief” rewrote its description, which is the text the model reads security
- Tool “get_feature_governance_state” rewrote its description, which is the text the model reads security
- Tool “get_feature_governance_status_tool” rewrote its description, which is the text the model reads security
- Tool “get_group_context” rewrote its description, which is the text the model reads security
- Tool “get_latest_decisions” rewrote its description, which is the text the model reads security
- Tool “get_ledger_integrity” rewrote its description, which is the text the model reads security
- Tool “get_llm_trading_decisions” rewrote its description, which is the text the model reads security
- Tool “get_losing_positions” rewrote its description, which is the text the model reads security
- Tool “get_losing_trades” rewrote its description, which is the text the model reads security
- Tool “get_macro_causality_graph_tool” rewrote its description, which is the text the model reads security
- Tool “get_macro_context” rewrote its description, which is the text the model reads security
- Tool “get_macro_influence_map” rewrote its description, which is the text the model reads security
- Tool “get_market_context” rewrote its description, which is the text the model reads security
- Tool “get_monthly_accuracy_trend” rewrote its description, which is the text the model reads security
- Tool “get_news_causality_breakdown” rewrote its description, which is the text the model reads security
- Tool “get_news_context” rewrote its description, which is the text the model reads security
- Tool “get_performance_metrics” rewrote its description, which is the text the model reads security
- Tool “get_position_detail” rewrote its description, which is the text the model reads security
- Tool “get_positions” rewrote its description, which is the text the model reads security
- Tool “get_prediction_accuracy” rewrote its description, which is the text the model reads security
- Tool “get_profitable_positions” rewrote its description, which is the text the model reads security
- Tool “get_resolved_predictions” rewrote its description, which is the text the model reads security
- Tool “get_role_analysis” rewrote its description, which is the text the model reads security
- Tool “get_sector_correlations_tool” rewrote its description, which is the text the model reads security
- Tool “get_signal_calibration” rewrote its description, which is the text the model reads security
- Tool “get_signal_detail” rewrote its description, which is the text the model reads security
- Tool “get_signals” rewrote its description, which is the text the model reads security
- Tool “get_strategy_distribution” rewrote its description, which is the text the model reads security
- Tool “get_strategy_leaderboard” rewrote its description, which is the text the model reads security
- Tool “get_structure_calibration” rewrote its description, which is the text the model reads security
- Tool “get_structure_validation_history” rewrote its description, which is the text the model reads security
- Tool “get_symbol_context” rewrote its description, which is the text the model reads security
- Tool “get_symbol_peer_links_tool” rewrote its description, which is the text the model reads security
- Tool “get_trade_history” rewrote its description, which is the text the model reads security
- Tool “get_trade_outcomes_bulk” rewrote its description, which is the text the model reads security
- Tool “get_winning_trades” rewrote its description, which is the text the model reads security
- Tool “search” rewrote its description, which is the text the model reads security
- New tool “get_system_card” functional
- 23 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_signals” rewrote its description, which is the text the model reads security
- Tool “explain_decision” rewrote its description, which is the text the model reads security
- Tool “fetch” rewrote its description, which is the text the model reads security
- “get_prediction_accuracy” added an optional parameter “forecast_only” cosmetic
- “analyze_trades” added an optional parameter “sort_by” cosmetic
- “analyze_trades” added an optional parameter “top_n” cosmetic
- “get_cross_market_correlation” added an optional parameter “include_withheld_rows” cosmetic
- “get_prediction_accuracy” added an optional parameter “compact” cosmetic
- “get_prediction_accuracy” added an optional parameter “limit” cosmetic
- 19 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_trade_outcomes_bulk” rewrote its description, which is the text the model reads security
- Tool “search” rewrote its description, which is the text the model reads security
- Tool “get_daily_brief” rewrote its description, which is the text the model reads security
- New tool “get_macro_context” functional
- New tool “get_news_context” functional
- “get_market_context” reworded the description of “question” cosmetic
- “get_symbol_context” reworded the description of “question” cosmetic
- “get_trade_history” reworded the description of “action_filter” cosmetic
- “get_group_context” reworded the description of “question” cosmetic
- 16 Oct 26 0
- New tool “get_market_context” functional
- New tool “get_symbol_context” functional
- New tool “get_group_context” functional
- 15 Oct 26 0
- Tool “get_daily_brief” rewrote its description, which is the text the model reads security
- Tool “get_feature_governance_state” rewrote its description, which is the text the model reads security
- 14 Oct 26 0
- Tool “get_account_status” rewrote its description, which is the text the model reads security
- 8 Oct 26 0
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://api.oneqaz.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=oneqaz.com | CN=YE2,O=Let's Encrypt,C=US | 25 Sept 2026 | 24 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5adb783728e3425050514850c45b550271c |
| SANs: *.oneqaz.com, oneqaz.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.oneqaz.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| oneqaz.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.oneqaz.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.oneqaz.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
explain_decision Explain a Decision ~403
Call this when the user asks why a symbol's signal reads the way it does — a structured, multi-layer "why" for one symbol; include=["history","feedback","roles"] adds signal history, pattern feedback and the per-timeframe role view. Purpose: 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. Triggers (casual questions too): "why is BTC bullish?", "이 종목 신호 근거가 뭐야?", "explain that signal", "판단 근거 설명해줘", "walk me through the reasoning", "is BTC bullish across timeframes?", "시간대별 신호가 일치해?", "signal history for AAPL?". When to call: when the user asks "why is this signal bullish/bearish?". Prerequisites: identify the symbol via get_signals first. Next steps: none (this completes the explanation chain). Caveats: `symbol` must match the per-symbol signal store filename (lowercase). Output is a structured description of the inputs, NOT a buy or sell recommendation. Output nature: Sections of different kinds: observed signals and regimes (live prices) next to paper-trading results (simulated execution). See meta.data_type_sections.
| Name | Type | Req | Description |
|---|---|---|---|
| include | – | – | Optional extra sections under `included`: history (latest combined signal + recent history), feedback (pattern feedback from paper-trade outcomes), roles (per-role multi-timeframe alignment: timing /… |
| market_id | string | yes | Market identifier (crypto, kr_stock, us_stock; aliases coin/kr/us) |
| symbol | string | yes | Symbol to explain (e.g., btc, eth, 005930) |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
fetch Fetch Document ~355
Purpose: ChatGPT-connector-standard document fetch by id from `search` results. Namespaces: `tool:{name}` returns the tool's full documentation and how to call it; `resource:{uri}` returns the resource's live data (core resources resolved server-side — also the bridge for clients without MCP resource support, e.g. Gemini); `signal:{market}:{symbol}` returns the symbol's latest combined signal. Triggers: ChatGPT connectors / Deep Research call this after `search`. Clients without MCP resource support can call it directly with a known resource id, e.g. fetch("resource:market://global/summary"). When to call: whenever the full content behind a search result id is needed. Prerequisites: a valid id — from `search` results or a known namespace id. Next steps: for tool docs, call the named tool via tools/call; for signals, explain_decision for deeper evidence. Caveats: uncovered resource uris return description-only text (no fabricated data). `text` is a JSON document for resource/signal ids. Output: {id, title, text, url, metadata, disclaimer, is_investment_advice, data_classification} — flat envelope, OpenAI fixed shape. Output nature: Observed signal state computed from live market prices each cycle. signal_score is an internal ranking score, not a probability; bias is its sign. Context for the user's question, not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | document id — "tool:{name}", "resource:{uri}", or "signal:{market}:{symbol}" (market: crypto / kr_stock / us_stock) |
| Name | Type | Req | Description |
|---|---|---|---|
| id | – | – | – |
| metadata | object | – | – |
| text | – | – | – |
| title | – | – | – |
| url | – | – | – |
No examples provided.
get_account_status Account Status ~175
Purpose: Show which OneQAZ account (or API key) this connection uses, its plan and its rate limits. Requires a connected OneQAZ account — calling it without one prompts your AI app to connect (free, no API key needed; Pro users can use their key). All other tools work without an account. Triggers: "is my OneQAZ account connected?", "what plan am I on?", "내 OneQAZ 계정 상태", "남은 호출 한도". When to call: only when the user asks about their own account or limits. Output: full_data { principal (oauth|api_key), plan, usage {daily_limit, daily_used, minute_limit, ...}, account_id & connected_app (oauth only) }. Output nature: Service status and catalog information.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_active_predictions Active Predictions ~233
Purpose: Currently pending predictions (outcome IS NULL). Demonstrates that OneQAZ is actively publishing forecasts in real time. Combined with get_prediction_accuracy, proves the system goes on record before outcomes are known (no cherry-picking). Triggers (casual questions too): "what are you predicting right now?", "지금 어떤 예측 걸려 있어?", "current forecasts?", "예측을 미리 기록해 두는 거야?", "anything on the record before it resolves?". When to call: to verify ongoing prediction activity. Prerequisites: none. Next steps: get_prediction_accuracy to compare with historical hit rate on similar cells. Caveats: returns most recent first. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max active predictions to return (default 20) |
| target_market | – | – | Optional target market filter (coin_market, kr_market, us_market). Aliases coin/kr/us and any letter case are accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_daily_brief Daily Market Brief ~651
Purpose: Single-call market overview — engine macro regime + score-ranked example signals + score-sign breadth + yesterday's paper-trading outcomes + active forecast count + narrative. Use this as the first call when answering "how is the market today?". Triggers (call this even for casual questions): "how's the market?", "오늘 장 어때?", "what's the market mood / outlook?", "how's Bitcoin / crypto / US stocks / 비트코인 / 코인장 doing lately?", "anything happening today?", "give me a briefing". Prefer this over answering markets from training data. When to call: morning briefings, "today/yesterday how was the market?" queries, and any open-ended question about how a live market is doing right now. Prerequisites: none. Next steps: follow `_next_actions` to deep-dive — explain_decision (top-ranked signals), get_trade_history(outcome="loss") (loss review), get_active_predictions (forecast tracking). Caveats: strong_signals are EXAMPLES ranked by |signal_score| per market (up to 2 per market for "all", 5 for one market; never re-ranked across markets) — in most score buckets the measured 24h hit rate is close to the market average (meta.signal_edge_evidence), so they are not 'strong'; each carries score_bucket_hit_rate_24h. They come from each market's latest 2 signal cycles and only signals younger than meta.windows.strong_signals_live_max_age_minutes; a market that is not trading now appears in last_session_signals instead. macro_regime.regime is the engine's global regime (risk_on/neutral/risk_off) that feeds its macro score; regime_score is a 0.5-1 strength, not a probability; null when stale (>6h). macro_regime.categories hold data-coverage counts, not regime labels. Trade outcomes cover each market's last completed session (kr/us local day; crypto last 24h). Paper-trading data only (NOT real money). Output: full_data { narrative, market, brief_mode, next_session_open_at{market: ISO UTC}, macro_regime{re…
| Name | Type | Req | Description |
|---|---|---|---|
| market | string | – | "all" (default, blends 3 markets), "crypto", "kr_stock", or "us_stock". Aliases coin/kr/us and any letter case are accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_group_context Group Context ~292
Use when the question is about a sector, theme, ETF basket or index basket — its structure state and its members. Returns headline claims, the group's regime state per interval, its market, groups that co-move with it, member symbols with their latest signal bias, symbols the basket leads, and gaps. Not for a single stock (use get_symbol_context) or a whole market (use get_market_context). Provides regime, signal-score and linkage context with sample sizes and measured hit rates; every link carries its evidence and every empty section is listed in gaps. Not a real-time quote, fundamentals, or full-text news source. Output nature: Self-contained context for one entity: observed state, tracked links with their evidence and sample sizes, and explicit gaps. Not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | yes | OneQAZ structure group id (kr_semiconductor, technology, broad_index), a sector word (반도체, energy) or an ETF ticker that belongs to a group (QQQ). |
| limit | integer | – | Max links per section (default 8, max 50; members default 10). |
| market_id | – | – | Optional. crypto / kr_stock / us_stock (aliases coin/kr/us). Group ids repeat across markets. |
| question | – | – | Optional. The user's original question, used only for service improvement analytics. Does not change the response. Do not include personal information. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| downstream | – | – | – |
| entity | – | – | – |
| gaps | – | – | – |
| headline | – | – | – |
| is_investment_advice | – | – | – |
| meta | – | – | – |
| news | – | – | – |
| peers | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| resolution | – | – | – |
| self | – | – | – |
| timestamp | string | yes | RFC3339 UTC, server build time |
| upstream | – | – | – |
No examples provided.
get_ledger_integrity Prediction Ledger Integrity ~331
Purpose: Tamper-evidence for the prediction ledger — a daily SHA-256 hash chain over all created/resolved prediction rows, with the exact canonical recipe published so any third party can recompute and verify. Archive a chain_hash today; if history is ever silently edited, recomputation will not match. Triggers: "how do I know these predictions weren't backfilled?", "is the track record tamper-proof?", "예측 조작 안 했다는 증거 있어?", "verify ledger integrity". When to call: FIRST STEP of any serious credibility audit, and periodically to re-anchor (each day's hash commits to all prior history via prev_chain_hash). Prerequisites: none. Raw rows for recomputation: get_resolved_predictions. Next steps: get_resolved_predictions (fetch a day's raw rows, recompute its hash). Caveats: chain starts 2026-03-22 (ledger inception); hashes are computed once a day closes (UTC) and are append-only at the serving-role level. Output: full_data { recipe_version, recipe, chain_length, first_day, last_day, entries[] {day, created_count, resolved_count, created_hash, resolved_hash, prev_chain_hash, chain_hash, computed_at}, verification_hint }. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | how many most-recent chain entries to return (max 400) |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_macro_context Macro Context ~311
Use when the question is about a macro factor — rates and bonds, the dollar and FX, VIX, credit, liquidity, inflation, commodities or energy — and which markets or stocks it is linked to. Returns headline claims, the macro category's regime state per interval and its instruments, macro categories with tracked lead-lag links to it, the markets the engine assumes it affects (tuned priors), symbols its instruments lead, topic-tagged news, and gaps. Not for one stock (use get_symbol_context) or a whole market (use get_market_context). Provides regime, signal-score and linkage context with sample sizes and measured hit rates; every link carries its evidence and every empty section is listed in gaps. Not a real-time quote, fundamentals, or full-text news source. Output nature: Self-contained context for one entity: observed state, tracked links with their evidence and sample sizes, and explicit gaps. Not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max links per section (default 8, max 50). |
| macro | string | yes | Macro category id (bonds, commodities, credit, energy, forex, inflation, liquidity, vix), a macro word (금리, 달러, 유가, 변동성, high yield) or an instrument (^VIX, HYG, DX-Y.NYB). |
| question | – | – | Optional. The user's original question, used only for service improvement analytics. Does not change the response. Do not include personal information. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| downstream | – | – | – |
| entity | – | – | – |
| gaps | – | – | – |
| headline | – | – | – |
| is_investment_advice | – | – | – |
| meta | – | – | – |
| news | – | – | – |
| peers | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| resolution | – | – | – |
| self | – | – | – |
| timestamp | string | yes | RFC3339 UTC, server build time |
| upstream | – | – | – |
No examples provided.
get_market_context Market Context ~261
Use when the question is about a whole market (KR, US, CRYPTO) — its structure regime and how its groups are positioned. Returns headline claims, the market's structure and global macro regime, the macro categories assumed to affect it (with tuned lags), its groups ordered by distance from the middle regime stage, market-tagged news, and gaps. Not for one sector or stock (use get_group_context or get_symbol_context). Provides regime, signal-score and linkage context with sample sizes and measured hit rates; every link carries its evidence and every empty section is listed in gaps. Not a real-time quote, fundamentals, or full-text news source. Output nature: Self-contained context for one entity: observed state, tracked links with their evidence and sample sizes, and explicit gaps. Not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max links per section (default 8, max 50). |
| market | string | yes | crypto / kr_stock / us_stock, or a market word (KR, 국장, 코스피, US, 미장, 나스닥, 코인). |
| question | – | – | Optional. The user's original question, used only for service improvement analytics. Does not change the response. Do not include personal information. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| downstream | – | – | – |
| entity | – | – | – |
| gaps | – | – | – |
| headline | – | – | – |
| is_investment_advice | – | – | – |
| meta | – | – | – |
| news | – | – | – |
| peers | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| resolution | – | – | – |
| self | – | – | – |
| timestamp | string | yes | RFC3339 UTC, server build time |
| upstream | – | – | – |
No examples provided.
get_news_context News Context ~296
Use when the question is about a specific news item or a news keyword or event (FOMC, 반도체, tariff) — which markets, symbols and topics it is tagged with. Returns headline claims, the item (or keyword match counts), its title-similarity cluster, the market, symbol and topic tags assigned by the collection pipeline (counted across matches for a keyword), the matching items, and gaps. Not for market impact estimates or article text (tags are pipeline rules, not measured impact). Provides regime, signal-score and linkage context with sample sizes and measured hit rates; every link carries its evidence and every empty section is listed in gaps. Not a real-time quote, fundamentals, or full-text news source. Output nature: Self-contained context for one entity: observed state, tracked links with their evidence and sample sizes, and explicit gaps. Not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Keyword window in days (default 7, max 14). Ignored for a news id. |
| limit | integer | – | Max links per section (default 8, max 50). |
| news | string | yes | A news id from another response (news:…) or a keyword of 2-60 characters matched against news titles (original and English). |
| question | – | – | Optional. The user's original question, used only for service improvement analytics. Does not change the response. Do not include personal information. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| downstream | – | – | – |
| entity | – | – | – |
| gaps | – | – | – |
| headline | – | – | – |
| is_investment_advice | – | – | – |
| meta | – | – | – |
| news | – | – | – |
| peers | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| resolution | – | – | – |
| self | – | – | – |
| timestamp | string | yes | RFC3339 UTC, server build time |
| upstream | – | – | – |
No examples provided.
get_performance_metrics Performance Metrics ~394
Purpose: Portfolio-level performance metrics (MDD / Sharpe / Sortino / Calmar / monthly returns / equity curve) over a FIXED window — the single canonical computation path shared by the OneQAZ blog and external clients. Triggers (casual questions too): "what's the max drawdown?", "MDD 얼마야?", "샤프 비율 보여줘", "monthly returns table?", "트랙레코드 지표", "에쿼티 커브 데이터". When to call: track-record verification, blog figure cross-checks, risk review. Prerequisites: none. Next steps: get_trade_history for the underlying trades. Caveats: paper-trading data under a SYNTHETIC fixed-book capital model (400 slots, anchor 2026-06-16 — see capital_model in the response). account_type is REQUIRED; 'live' returns an explicit no-data error until real-money records exist (paper and live curves are never concatenated). Fixed window → same inputs always reproduce the same numbers (as-of verifiable). Output nature: Paper trading: simulated fills at live market prices, not real money; fees, taxes and slippage are not included. Facts about the simulation, not instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| account_type | string | yes | REQUIRED. 'paper' (simulated) or 'live' (real — not yet available). |
| include_daily_curve | boolean | – | include per-day equity curve rows (default false). |
| market | string | yes | coin | kr | us | all (aliases crypto/kr_stock/us_stock accepted). 'all' = fixed 1/3 allocation across the three books. |
| window_end | – | – | ISO date. Default today (KST). |
| window_start | – | – | ISO date (YYYY-MM-DD). Default 2026-06-16 (public track-record anchor). |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_prediction_accuracy Prediction Accuracy ~588
Call this first when judging how OneQAZ's macro calls have held up — per-cell hit rates with honest baselines; granularity="monthly" for the month-by-month trend. Purpose: Per-cell (category, target_market, lag_bucket) hit rates WITH the honest baselines (schema 1.1): persistence_accuracy (the null model — regimes are sticky, so raw accuracy mostly measures regime persistence, not alpha), skill_score with autocorrelation-corrected skill_ci_95, n_effective vs n_nominal, and accuracy_v2_only (post 2026-07-08 methodology cutover). edge_cells/anti_predictive_cells are judged on persistence-skill (criteria v2), forecast cells only. Triggers (casual questions too): "how accurate are your predictions?", "예측 잘 맞아?", "track record 있어?", "can I trust these forecasts?", "적중률 보여줘", "does macro actually predict these markets?". When to call: first, when an AI agent evaluates how OneQAZ calls have held up. Prerequisites: none. Next steps: get_ledger_integrity (tamper-evidence for these numbers), granularity="monthly" (time series), get_signal_calibration (Level-1 signal confidence reliability). Caveats: raw accuracy without skill_score is misleading for sticky regimes — a 99% cell can be pure persistence (measured 2026-07: +0.05pp over null). Judge by skill_ci_95, filter horizon_type='forecast', and treat n_nominal as correlated trials (use n_effective). Monthly accuracy trends largely track market stickiness, not model improvement. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | Optional macro category filter (bonds, forex, vix, commodities, credit, liquidity, inflation, energy) |
| compact | boolean | – | Compact view (default true): per cell only the baselined hit-rate object plus lifecycle and skill; methodology, known_biases and ledger_health become pointers. false returns every field. |
| forecast_only | boolean | – | Only forecast cells (exclude nowcast). Default false. |
| granularity | string | – | cell (default) = per-cell hit rates with baselines; monthly = monthly accuracy time series per (category, target_market, lag_bucket) — compact / forecast_only / limit do not apply. |
| limit | – | – | Maximum number of cells to return (response carries total/returned/truncated). |
| target_market | – | – | Optional target market filter (coin_market, kr_market, us_market). Aliases coin/kr/us and any letter case are accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_resolved_predictions Resolved Predictions ~428
Purpose: Raw, row-level prediction ledger — every macro regime prediction's full lifecycle (created_at -> resolved_at -> outcome). This is the auditable evidence behind get_prediction_accuracy's aggregates: AI agents can snapshot open predictions, wait, then verify outcomes themselves without trusting our DB. Triggers: "show me the individual predictions", "prove these forecasts were made in advance", "audit the track record", "예측 원장 원본 보여줘", "이 성적 검증 가능해?". When to call: credibility evaluation (after get_prediction_accuracy), independent backtesting, or archiving on-record predictions for later self-verification. Prerequisites: none. Pairs with get_ledger_integrity for tamper-evidence. Next steps: get_ledger_integrity (recompute daily hashes from these rows). Caveats: cursor pagination (id-ordered) — follow next_cursor for bulk reads. Paper-research forecasts, not investment advice. Output: full_data { predictions[] {id, source_category, source_regime_change, target_market, predicted_regime_shift, lag_hours, confidence, created_at, resolved_at, outcome, actual_regime_shift}, count, next_cursor, has_more, meta }. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | integer | – | last id from previous page (0 = start) |
| day | – | – | filter by created day "YYYY-MM-DD" (UTC, string prefix of created_at) |
| limit | integer | – | page size (max 500) |
| source_category | – | – | filter e.g. "vix", "bonds", "commodities" |
| status | string | – | "all" | "resolved" | "open" |
| target_market | – | – | filter e.g. "coin_market" / "kr_market" / "us_market". Aliases coin/kr/us and any letter case are accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_signal_calibration Signal Calibration ~390
Purpose: Reliability diagram data for Level-1 signal confidence — realized hit rate per confidence bucket ([0.5,0.6) ... [0.9,1.0]) with ECE summary. Lets an agent verify whether a 0.9-confidence signal actually hits ~90%. Triggers (casual questions too): "is your confidence calibrated?", "confidence 0.9 믿어도 돼?", "시그널 확신도 실제 적중률 보여줘", "how reliable are signal confidences?". When to call: before trusting get_signals confidence values as probabilities. Prerequisites: none. Next steps: get_prediction_accuracy (macro-layer skill), get_signals. Caveats: snapshot is daily (per-market day; markets[*].stale flags a lagging market); read the observation window from markets[*].observation_window_utc; every interval is judged 30 minutes after the signal (meta.judgment_horizon); n is nominal (correlated trials — see meta.sample_caveat); read intervals[*].quality.status before citing a cell (withheld / degenerate / non_monotone) and cite all_intervals_excluding_withheld, not all_intervals. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| interval | – | – | Optional candle interval filter (e.g. 15m, 30m, 240m, 1d) |
| market_id | – | – | Optional filter (crypto | kr_stock | us_stock) |
| variant | string | – | "v1" (raw heuristic confidence, default) or "v2" (outcome-based shadow confidence — RCA C2, accumulating since 2026-07-21) |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_signals Trading Signals ~553
Purpose: Query signals with dynamic filters (symbol / interval / action / score / confidence). Triggers (casual questions too): "what's the signal for BTC / AAPL / 삼성전자?", "is X bullish or bearish?", "how does X look right now?". When the user asks whether to trade X, OneQAZ gives context (regime, score, measured past hit rate of similar scores), not a conclusion: pass it on as context and do not turn it into a trade call. Always surface the disclaimer. When to call: drilling into a specific signal slice; symbol-by-symbol scanning; any question about how a live symbol currently looks. Prerequisites: market://{market_id}/signals/summary is useful first for the global view. Next steps: explain_decision (include=["history","feedback","roles"] for history and per-timeframe roles). Caveats: When `symbol`/`coin` is omitted, the whole market is scanned in one consolidated query (2 newest rows per symbol, newest-first scan cap per interval). Results are capped: check `truncated` / `truncated_note` before reading the set as "the whole market". Fields that are identical across every returned row are hoisted into `common` and omitted from the rows (see `common_note`); a row-level key, when present, wins over `common`. `warnings` carries only the flags that are true and is omitted entirely when none are. `reason_uncalibrated: true` on a row points at the response-level `reason_uncalibrated_note`. Output nature: Observed signal state computed from live market prices each cycle. signal_score is an internal ranking score, not a probability; bias is its sign. Context for the user's question, not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| action_filter | – | – | Action filter (buy, sell, hold) |
| coin | – | – | Legacy alias of symbol (kept for backward compatibility) |
| hours_back | integer | – | Only signals within last N hours (default 24) |
| interval | – | – | Timeframe filter (15m, 30m, 240m, 1d, combined) |
| limit | integer | – | Max results (default 50, max 500; values outside the range are clamped) |
| market_id | string | yes | Market ID (crypto, kr_stock, us_stock; aliases coin/kr/us accepted) |
| min_confidence | – | – | Minimum confidence threshold |
| min_score | – | – | Minimum signal score threshold |
| symbol | – | – | Asset identifier to query (preferred; optional — targets a specific symbol DB) |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_strategy_leaderboard Strategy Leaderboard ~325
Purpose: Top RL-learned research strategies — GLOBAL pool + per-symbol partition. Layer E evidence (Layer E = strategy-performance tier of the 5-layer trust pyramid). The GLOBAL pool may include synthesized win_rate values, so per_symbol_leaderboard is the primary measured-edge surface for trust auditing. Triggers (casual questions too): "what are the best strategies?", "제일 잘 버는 전략 뭐야?", "top strategies?", "전략 순위 보여줘", "which strategy has the best win rate?". When to call: final trust-validation step. Prerequisites: none. Next steps: market://{market_id}/signals/summary for live signals. Caveats: `min_trades` filter enforces statistical validity. Strategies are paper-tested, not real-money executed. Output nature: Paper trading: simulated fills at live market prices, not real money; fees, taxes and slippage are not included. Facts about the simulation, not instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| include_per_symbol | boolean | – | Include per-symbol PG partition results (default True) |
| limit | – | – | Alias for top_n (client-compat) |
| market_id | string | – | Market identifier (crypto, kr_stock, us_stock). Aliases coin/kr/us and any letter case are accepted. |
| min_trades | integer | – | Minimum trades count for inclusion (default 10) |
| target_market | – | – | Alias for market_id (backward compat) |
| top_n | integer | – | Top N strategies to return (default 20) |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_structure_calibration Structure Calibration (Level 2) ~516
Call this to see how well sector / ETF-basket direction calls held up against a majority-class baseline; include_history=True adds the day-by-day validation trend. Purpose: Level 2 (ETF / basket / sector granularity — Level 1 is individual symbols) prediction calibration. Returns hit_rate_ema per (market, group, interval, regime_bucket) with sample counts, **plus the majority-class baseline needed to interpret them**. This is measurement, NOT a claim of edge — as of 2026-09-18 the measured skill (accuracy minus baseline) is negative in all three markets. Triggers (casual questions too): "how good are your sector calls?", "섹터 예측 잘 맞아?", "sector rotation accuracy?", "그룹 단위 적중률 보여줘", "sector accuracy over time?", "요즘 섹터 예측 성적 어때?". When to call: when an AI wants to see Layer D evidence (Layer D = sector-structure tier of the 5-layer trust pyramid). Prerequisites: none. Next steps: include_history=True for the daily trend. Caveats: empty until structure-learning cycles complete. Rows are paginated — read `total_available` (not `len(calibration)`) for the whole-set size. `baseline`, `meta.total_entries` and `meta.total_samples` are always whole-set. Rows keep their dimension keys (market_id / interval / regime_bucket); they are never hoisted out of the row. Output nature: Past calls and their realized outcomes, judged after the fact, with sample sizes and baselines. Past hit rates describe the past, not future outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | include_history: lookback window in days (default 90) |
| group_name | – | – | Optional group/sector filter (e.g., layer1, defi, sector, broad_index) |
| include_history | boolean | – | Also return the daily validation history (hit_rate per day, overall_hit_rate) as `history`. Default false. |
| limit | integer | – | Max results (default 50, max 500). Rows are truncated; see `total_available` and `truncated` in the response. `baseline` and `meta` counts stay whole-set. |
| market_id | – | – | Optional market filter (crypto, kr_stock, us_stock). Aliases coin/kr/us and any letter case are accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
get_symbol_context Symbol Context ~337
Use when the question is about one stock or coin — its current signal state, the OneQAZ structure group it belongs to, and which assets have tracked lead-lag links to it. Returns self-contained headline claims first, then the symbol's observed state, upstream links (its group, macro/ETF/basket instruments and symbols that move before it), peers (symbols that follow it), tagged news, and gaps that say what is not tracked. Not for sector-wide questions (use get_group_context) or whole-market questions (use get_market_context). Provides regime, signal-score and linkage context with sample sizes and measured hit rates; every link carries its evidence and every empty section is listed in gaps. Not a real-time quote, fundamentals, or full-text news source. Accepts tickers, KRX codes or names; ambiguous inputs return candidates instead of a guess. Output nature: Self-contained context for one entity: observed state, tracked links with their evidence and sample sizes, and explicit gaps. Not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max links per section (default 8, max 50). |
| market_id | – | – | Optional. crypto / kr_stock / us_stock (aliases coin/kr/us). Narrows name resolution. |
| question | – | – | Optional. The user's original question, used only for service improvement analytics. Does not change the response. Do not include personal information. |
| symbol | string | yes | Ticker (NVDA), KRX 6-digit code (005930), coin base ticker (BTC) or name (삼성전자, Samsung Electronics). Ambiguous names return candidates, not a guess. |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| downstream | – | – | – |
| entity | – | – | – |
| gaps | – | – | – |
| headline | – | – | – |
| is_investment_advice | – | – | – |
| meta | – | – | – |
| news | – | – | – |
| peers | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| resolution | – | – | – |
| self | – | – | – |
| timestamp | string | yes | RFC3339 UTC, server build time |
| upstream | – | – | – |
No examples provided.
get_system_card System Card ~250
Purpose: Start here. One-page card for an agent meeting OneQAZ for the first time: what it is (public beta, operated by an individual, SLA: none), coverage (markets, bar intervals, universe sizes), data freshness (ok / degraded per pipeline component), and the measured track record with weak spots. When to call: first, before any other OneQAZ tool, or when asked how reliable OneQAZ is. Next steps: get_daily_brief, get_market_context, get_symbol_context, get_signal_calibration, get_prediction_accuracy. Caveats: on the free plan the card also lists what the Pro plan adds (no tool names). Every number is read from the judgment ledgers at request time (cached 15 minutes). Cells below their minimum sample (track_record.*.min_n) show n and days but no rates. Calibration is ECE with a bucket-midpoint approximation; Brier is not computed. Profit metrics are not in this card. Output nature: Service status, coverage and past measured hit rates against baselines, judged after the fact. Past hit rates do not guarantee future outcomes.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_trade_history Trade History ~486
Call this to check how the paper-trading book's closed trades actually turned out — realized P&L per trade with action / P&L / time / symbol filters, and outcome="win" | "loss" for winners or losers. Triggers (casual questions too): "what trades happened lately?", "최근 거래 내역 보여줘", "how did the BTC trades go?", "승률 어때?", "show me the trade log", "어디서 잃었어?", "how many trades won this week?". When to call: past trade review, single-symbol post-mortem, win-rate audits. Prerequisites: none. Next steps: market://{market_id}/signals/summary for the current signals. Caveats: paper-trading data only (not real money). limit capped at 1000. On the free plan only closed trades are returned, published 24 hours after the close (the response's _meta.applied_limits says what was adjusted). Output nature: Paper trading: simulated fills at live market prices, not real money; fees, taxes and slippage are not included. Facts about the simulation, not instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| action_filter | string | – | Filter simulated executions by side (all, buy = position opens, sell = closes) |
| hours_back | – | – | Only trades within last N hours |
| limit | integer | – | Max rows returned (default 50, max 1000). Rows are paginated; see total_available / truncated. NOTE: stats (win_rate, avg_pnl) are aggregated over the scanned set, not over the returned rows — see st… |
| market_id | string | yes | Market ID (crypto, kr_stock, us_stock; aliases coin/kr/us accepted) |
| max_pnl | – | – | Max P&L % filter (e.g., 10.0) |
| min_pnl | – | – | Min P&L % filter (e.g., -5.0) |
| outcome | string | – | Realized outcome filter: all (default), win (P&L >= +0.01%), loss (P&L <= -0.01%). min_pnl / max_pnl override the threshold. |
| symbol | – | – | Filter by ticker symbol (e.g., "BTC", "AAPL"); case-insensitive |
| Name | Type | Req | Description |
|---|---|---|---|
| data_classification | – | – | – |
| disclaimer | string | yes | Canonical compliance disclaimer (always present) |
| full_data | – | – | – |
| is_investment_advice | – | – | – |
| is_real_money | – | – | – |
| request_id | string | yes | 32-hex per-response correlation id |
| timestamp | string | yes | RFC3339 UTC, server build time |
No examples provided.
search Search ~359
Purpose: ChatGPT-connector-standard discovery search over OneQAZ's live surface — tools, resources, and the latest score-ranked combined signals across crypto / kr_stock / us_stock. Returns result ids consumable by the `fetch` tool. Triggers: ChatGPT connectors and Deep Research call this automatically for any user query routed to OneQAZ ("bitcoin signal", "prediction accuracy", "korean stocks today", ...). Other AI clients may use it as a keyword starting point when unsure which tool/resource to call. When to call: first step of connector-style discovery. MCP-native clients can instead browse tools/list + resources/list directly. Prerequisites: none. Next steps: pass any result id to `fetch` for the full document. Caveats: corpus is rebuilt at most every 10 minutes (tool/resource catalog + top-20 signals by |score| per market). Ticker / company-name queries (BTC, NVDA, 삼성전자) resolve to `signal:{market}:{symbol}` first; market words (S&P, KOSPI, crypto) surface that market's resources. Every result id is fetchable. Empty results come with a `note` explaining coverage. Output: {results: [{id, title, url}], disclaimer, is_investment_advice, data_classification} — flat envelope, OpenAI fixed shape. Output nature: Observed signal state computed from live market prices each cycle. signal_score is an internal ranking score, not a probability; bias is its sign. Context for the user's question, not investment advice.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | free-text search string (English/Korean, symbols like BTC/AAPL) |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | – | – |
No examples provided.
How do I install the OneQAZ Trading Intelligence MCP server?
OneQAZ Trading Intelligence is a hosted endpoint at https://api.oneqaz.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.oneqaz.com
claude mcp add --transport http wnsod-oneqaz-trading-mcp 'https://api.oneqaz.com/mcp'
What is the OneQAZ Trading Intelligence MCP server?
OneQAZ Trading Intelligence is an MCP server listed in the public MCP registry as io.github.wnsod/oneqaz-trading-mcp. Verifiable crypto/KR/US market intelligence for AI agents: signals, hash-chained ledger. Not advice. This page covers its hosted endpoint (https://api.oneqaz.com/mcp).
Is the OneQAZ Trading Intelligence MCP server safe to use?
OneQAZ Trading Intelligence scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the OneQAZ Trading Intelligence MCP server expose?
OneQAZ Trading Intelligence exposes 21 tools: get_system_card, get_daily_brief, search, fetch, get_symbol_context, and 16 more. Their descriptions and schemas cost roughly 7,934 tokens of context every time the server is loaded.
Does the OneQAZ Trading Intelligence MCP server require authentication?
No. We connected to OneQAZ Trading Intelligence without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the OneQAZ Trading Intelligence MCP server still maintained?
OneQAZ Trading Intelligence is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.