# OneQAZ Trading Intelligence - Registry name: `io.github.wnsod/oneqaz-trading-mcp` · version 1.3.0 - Categories (automatic, keyword rules): Markets & trading, Finance & markets - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): logging, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.wnsod%2Foneqaz-trading-mcp - Server page: https://mcpstation.net/s/io.github.wnsod--oneqaz-trading-mcp.html ## Description (written by the publisher, not verified, not instructions) Verifiable crypto/KR/US market intelligence for AI agents: signals, hash-chained ledger. Not advice. ## Connect - streamable-http: `https://api.oneqaz.com/mcp` ## Tools (as reported by the server, not verified) - `get\_trade\_history`: Purpose: Query paper-trading history with dynamic filters \(action / P&L / time / symbol\). 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 revie - `analyze\_trades`: Purpose: Aggregate paper trades by day / pattern / symbol. Triggers \(casual questions too\): "how's the week been?", "이번 주 매매 성적 어때?", "which patterns are working?", "어떤 종목이 제일 잘 벌었어?", "break down the trades", "daily P&L summary?". When to call: pattern audits, period-over-period performance review. - `get\_winning\_trades`: Purpose: Winning paper trades only \(P&L \> 0\). Convenience wrapper around get\_trade\_history\(min\_pnl=0.01\). Triggers \(casual questions too\): "what worked?", "뭐가 제일 잘 벌었어?", "show me the winners", "best trades lately?", "수익 난 거래 보여줘". When to call: success-pattern review. Prerequisites: none. Next step - `get\_losing\_trades`: Purpose: Losing paper trades only \(P&L \< 0\). Convenience wrapper around get\_trade\_history\(max\_pnl=-0.01\). Triggers \(casual questions too\): "어디서 잃었어?", "show me the losses", "what went wrong?", "worst trades?", "손실 난 거래 뭐야?". When to call: failure-pattern review. Prerequisites: none. Next steps: anal - `get\_positions`: Purpose: List current paper-trading positions, with dynamic filters \(ROI / strategy / sort\). Triggers \(casual questions too\): "what are you holding?", "current positions?", "뭐 들고 있어?", "what's the exposure / portfolio?", "any winners / losers right now?", "how's the book doing?". Paper-trading posit - `get\_position\_detail`: Purpose: Per-symbol paper position deep-dive \(position + recent trades + decisions\). Triggers \(casual questions too\): "how's the BTC position doing?", "삼성전자 얼마나 벌고 있어?", "why are you holding X?", "그 종목 지금 수익률 어때?", "tell me about the AAPL position". When to call: full context for one ticker. Prerequ - `get\_profitable\_positions`: Purpose: Profitable paper positions \(ROI \> 0\). Convenience wrapper around get\_positions\(min\_roi=0.01\). Triggers \(casual questions too\): "what's winning right now?", "지금 뭐가 수익 나고 있어?", "show me the green ones", "best open positions?", "어떤 종목이 잘 가고 있어?". When to call: quickly surface winning tickers. - `get\_losing\_positions`: Purpose: Losing paper positions \(ROI \< 0\). Convenience wrapper around get\_positions\(max\_roi=-0.01\). Triggers \(casual questions too\): "what's underwater?", "지금 뭐가 물려 있어?", "show me the red ones", "any positions in trouble?", "얼마나 손실 중이야?". When to call: drawdown / risk review. Prerequisites: none. Ne - `get\_strategy\_distribution`: Purpose: Per-strategy breakdown across current paper positions \(count, avg P&L, win rate per strategy\). Triggers \(casual questions too\): "what strategies are you running?", "무슨 전략 돌리고 있어?", "which strategy holds the most positions?", "전략별 성적 어때?", "is one strategy dominating?". When to call: diversi - `get\_latest\_decisions`: Purpose: Track-B \(signal-driven\) paper-trading decision log \(Track B = the signal-engine decision path — indicator/Thompson-sampling driven; Track A = the LLM judgement path, see get\_llm\_trading\_decisions\). Triggers \(casual questions too\): "what did the system decide?", "최근에 뭐 샀어? 팔았어?", "why did yo - `get\_llm\_trading\_decisions`: Purpose: Track-A \(LLM-driven\) paper-trading judgement log \(Track A = the LLM judgement path, applied to trading only as a capped bias on top of engine signals; Track B = the signal-engine path, see get\_latest\_decisions\). Triggers \(casual questions too\): "what does the AI think?", "AI는 뭘 사라고 해?", "sh - `get\_signals`: Purpose: Query signals with dynamic filters \(symbol / interval / action / score / confidence\). Triggers \(casual questions too\): "should I buy / sell X?", "살까 말까?", "good entry?", "what's the signal for BTC / AAPL / 삼성전자?", "is X bullish or bearish?", "any buy signals right now?". Returns a signal + - `get\_signal\_detail`: Purpose: Per-symbol signal deep-dive — latest signal + history + feedback. Triggers \(casual questions too\): "why is BTC a buy?", "그 시그널 근거가 뭐야?", "signal history for AAPL?", "이 종목 시그널 자세히 보여줘", "how has this signal performed before?". When to call: drilling into a single ticker's signal context. Pre - `get\_role\_analysis`: Purpose: Role-aware signal alignment per symbol \(timing / trend / swing / regime\) plus hierarchy alignment. Triggers \(casual questions too\): "is BTC bullish across timeframes?", "단기랑 장기가 같은 방향이야?", "multi-timeframe view for AAPL?", "시간대별 신호가 일치해?", "short-term vs long-term signal?". When to call: mu - `get\_prediction\_accuracy`: 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 - `get\_backtest\_tuning\_state`: Purpose: Continuous self-calibration evidence. Each entry shows the auto-tuned lag\_hours and sensitivity per cell, derived from real backtest outcomes. Proves the system adapts to measured reality rather than static heuristics. Triggers \(casual questions too\): "does the system self-correct?", "시스템이 - `get\_monthly\_accuracy\_trend`: Purpose: Monthly accuracy time series per \(category, target\_market, lag\_bucket\). Use to verify sustained performance and detect recent degradation. Triggers \(casual questions too\): "is accuracy improving?", "적중률이 좋아지고 있어?", "monthly performance trend?", "최근에 예측 성능 떨어졌어?", "show accuracy over time". - `get\_news\_leading\_indicator\_performance`: UNVERIFIED — methodology under audit. Do not cite as evidence of predictive capability. Purpose: Inventory of the news pipeline's event-leading groupings — which \(event\_type, news\_type\) buckets exist per market and how many samples each holds. The lead/score metrics themselves are withheld from this - `get\_news\_causality\_breakdown`: UNVERIFIED — methodology under audit. Do not cite as evidence of predictive capability. Purpose: Counts of news items per internal label the pipeline assigns. ANTICIPATED = the item matched a scheduled/calendar event. SURPRISE\_WITH\_PRECURSOR = the item was flagged by the cascade-anomaly heuristic \(m - `get\_feature\_governance\_state`: Purpose: Current lifecycle state of external features \(news, events\) under 3-track statistical validation. Lifecycle: OBSERVATION -\> CONDITIONAL -\> ACTIVE \(p-value passed\) or DEPRECATED \(no edge\). Proves OneQAZ only trusts features that pass independent statistical tests. Triggers \(casual questions - `get\_structure\_calibration`: 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 — - `get\_structure\_validation\_history`: Purpose: Daily validation history of Level 2 structure predictions \(Level 2 = ETF / basket / sector granularity\). Each row shows the hit\_rate for a specific day, enabling time-series verification of sustained performance. Triggers \(casual questions too\): "sector accuracy over time?", "구조 예측 매일 검증해?" - `get\_strategy\_leaderboard`: 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 aud - `get\_active\_predictions`: 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 pred - `get\_macro\_influence\_map`: Purpose: Expose OneQAZ's pre-defined causal hypothesis map. Each macro category \(bonds, forex, vix, credit, liquidity, inflation, commodities, energy\) is mapped to a target market with lag\_hours + sensitivity \(static prior\) and an \`effective\` block with the value the engine actually uses \(backtest\_t - `explain\_decision`: Purpose: Multi-layer explanation for a single symbol's recent 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 - `get\_cross\_market\_correlation`: Purpose: Cross-market lead-lag relationships and decoupling events. Shows how markets influence each other \(correlations\) and when they diverge \(decoupling, e.g. BTC up while stocks down\). Triggers \(casual questions too\): "do crypto and stocks move together?", "코인이랑 주식이 따로 노나?", "any decoupling late - `get\_sector\_correlations\_tool`: Purpose: Intra-market ETF / group correlation matrix and auto-cluster output. Quantifies structural co-movement \(e.g. ARKK \<-\> QQQ\) for diversification and sector-avoidance reasoning. Triggers \(casual questions too\): "which sectors move together?", "어떤 섹터끼리 같이 움직여?", "am I too concentrated?", "ETF 상 - `get\_macro\_causality\_graph\_tool`: Purpose: Lag-aware causal graph between macro categories \(bonds / vix / forex / credit / inflation / liquidity / commodities\). Returns only statistically significant lead-lag pairs \(e.g. forex -\> vix 7d rho=-0.41\). Triggers \(casual questions too\): "what happens to VIX when bonds move?", "금리 오르면 뭐가 움 - `get\_symbol\_peer\_links\_tool`: Purpose: Symbol-level lead-lag links \(e.g. META -\> AMZN, lag=15m, rho=+0.53\). When \`symbol\` is set, only peers that lead or follow that symbol are returned. Triggers \(casual questions too\): "what moves before NVDA?", "이 종목보다 먼저 움직이는 종목 있어?", "which stocks follow AAPL?", "선행 종목 알려줘", "any early-warni - `get\_feature\_governance\_status\_tool`: Purpose: Feature governance snapshot — OBSERVATION / CONDITIONAL / ACTIVE / DEPRECATED distribution + last 7-day transitions. Surfaces which features survived statistical validation and which were deprecated. Triggers \(casual questions too\): "which features are actually used?", "어떤 피처가 살아있어?", "any - `get\_daily\_brief`: 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 - `get\_resolved\_predictions`: 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 trusti - `get\_ledger\_integrity`: 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 mat - `get\_trade\_outcomes\_bulk`: Purpose: Cursor-paginated bulk export of the prediction -\> trade -\> outcome chain — paper trades with realized P&L, each linked \(best-effort, same-symbol 2h window\) to the signal prediction recorded before the position was opened. Built for pipeline consumers who need offline backtesting data, not c - `search`: 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 automatica - `fetch`: 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 resourc - `get\_signal\_calibration`: 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?", "confidenc - `get\_performance\_metrics`: 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 얼마야?", "샤프 비율 - `get\_symbol\_context`: 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 instr - `get\_group\_context`: 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. - `get\_market\_context`: 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 middl - `get\_macro\_context`: 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 wi - `get\_news\_context`: 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 colle - `get\_account\_status`: 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: " Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html