MCPサーバー

midasflow-mcp-quickstart

io.github.midasflowai-lab/midasflow-mcp-quickstart
暗号資産・Web3 金融・投資 公開・接続可能 MCP 2025-11-25

このMCPでできること

Provides cryptocurrency market data and analytics covering order flow, derivatives, liquidations, whales, signals, scoring, and backtesting.

account
Account (tier / quota / balance / usage / tiers) [grouped]
Your mf_ key's account view, grouped by `kind`. kind='account' (default)=tier/product, weighted daily quota, used/remaining today, billing, prepaid balance (/v1/account); kind='usage'=today's count + cap AND the endpoint_weights map (exact per-call cost units, /v1/usage); kind='tiers'=the Flow data-product tier ladder, delivered-now vs roadmap (/v1/tiers). Read account/usage to self-throttle by your remaining quota. Empty/unknown kind → a menu of kinds.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'accountArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': 'account', 'description': "'account' (default, /v1/account) | 'usage' (/v1/usage â\x80\x94 incl endpoint_weights) | 'tiers' (/v1/tiers). Empty/unknown â\x86\x92 menu."}}}
出力スキーマ
{'type': 'object', 'title': 'accountDictOutput', 'additionalProperties': True}
analyze
[LAB] Analyze symbol (AI-Analyst report — heaviest)
LAB / RESEARCH tool — the full MidasFlow AI-Analyst report for a symbol: a synthesized narrative fusing flow, derivatives, levels, regime and signal context into a human-readable read RIGHT NOW. This is the HEAVIEST call (composes many sub-feeds) so it costs MORE units and requires a TOP tier; call it sparingly, AFTER cheaper context tools. Market DATA / AI-generated analytics, NOT financial advice. Routes: /v1/analyze/{symbol}.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'analyzeArguments', 'required': ['symbol'], 'properties': {'lang': {'type': 'string', 'title': 'Lang', 'default': 'en', 'description': "Report language, e.g. 'en' | 'ru' | 'uk' | 'es' (BCP-47-ish). Default 'en'."}, 'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive)."}}}
出力スキーマ
{'type': 'object', 'title': 'analyzeDictOutput', 'additionalProperties': True}
backtest
[LAB] Backtest a setup (historical P(TP1 before SL) + EV)
LAB / RESEARCH tool — replay an arbitrary {symbol, entry, tp, sl} setup over MidasFlow's 1m candle history and get its historical P(TP1-before-SL) + EV, in the canonical first-touch TP1 frame (same frame as get_accuracy). Historical market DATA, NOT a prediction or advice. Low-sample setups return a directional band (normal, not an error). NOTE: live results are gated behind ff:backtest_live — until that flips, EVERY tier gets a coming-soon envelope (no live numbers). Routes: POST /v1/backtest.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'backtestArguments', 'required': ['symbol', 'entry', 'tp', 'sl'], 'properties': {'sl': {'type': 'number', 'title': 'Sl', 'description': 'Stop-loss price. Direction (long/short) is inferred from tp/sl vs entry.'}, 'tp': {'title': 'Tp', 'description': 'Take-profit price, or an ordered list of prices (nearest = TP1 banked first).'}, 'entry': {'type': 'number', 'title': 'Entry', 'description': 'Entry price; defines the TP/SL offsets replayed over historical anchors.'}, 'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive)."}, 'max_hold_min': {'type': 'integer', 'title': 'Max Hold Min', 'default': 240, 'description': 'Forward first-touch window per anchor in minutes (clamped 15-1440). Default 240. Timeout anchors are excluded from p, not losses.'}, 'lookback_days': {'type': 'integer', 'title': 'Lookback Days', 'default': 30, 'description': 'Historical window to sample anchors from, in days (clamped 7-90). Default 30.'}}}
出力スキーマ
{'type': 'object', 'title': 'backtestDictOutput', 'additionalProperties': True}
calc_ev
[LAB] Calculate expected value (local analytics, no network)
LAB tool — pure local expected-value calculator over a win-rate and average win/loss percentages. No network, no advice, 0 units. Feed a get_accuracy bucket win-rate (or a score_symbol band) to reason about expectation per trade.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'title': 'calc_evArguments', 'required': ['win_rate_pct', 'avg_win_pct', 'avg_loss_pct'], 'properties': {'stake_usd': {'type': 'number', 'title': 'Stake Usd', 'default': 100, 'description': 'Notional stake to scale EV into dollars. Default 100.'}, 'avg_win_pct': {'type': 'number', 'title': 'Avg Win Pct', 'description': 'Average gain on a win, in percent (e.g. 2.0 = +2%).'}, 'avg_loss_pct': {'type': 'number', 'title': 'Avg Loss Pct', 'description': 'Average loss on a loss, in percent magnitude (e.g. 1.5 = -1.5%). Sign is ignored.'}, 'win_rate_pct': {'type': 'number', 'title': 'Win Rate Pct', 'description': 'Probability of a winning trade, in percent (0â\x80\x93100). Feed from a get_accuracy bucket win-rate.'}}}
出力スキーマ
{'type': 'object', 'title': 'calc_evDictOutput', 'additionalProperties': True}
get_accuracy
Get accuracy / outcomes (proof of edge) [grouped]
Realized track-record (proof of edge, forward-only, Wilson-bounded), grouped by `kind`. kind='accuracy' (default)=source×boost first-TP win-rate + boost lift in the canonical TP1 frame (/v1/accuracy); kind='outcomes'=realized aggregate track-record over a window from resolved signal_outcomes, model-free (/v1/outcomes). Win-rate frame = P(price hit TP1 before SL), NOT realized PnL. Model internals never exposed. Empty/unknown kind → a menu of kinds.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_accuracyArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': 'accuracy', 'description': "'accuracy' (default, /v1/accuracy) | 'outcomes' (/v1/outcomes). Empty/unknown â\x86\x92 menu."}, 'source': {'type': 'string', 'title': 'Source', 'default': '', 'description': "Source-family filter (kind='accuracy', client-side): '' = all | 'pump' | 'flow' | 'breakout' | 'unified' | 'other'."}, 'window': {'type': 'integer', 'title': 'Window', 'default': 0, 'description': "Track-record window in days (kind='outcomes'; passed through to /v1/outcomes). 0 = endpoint default."}}}
出力スキーマ
{'type': 'object', 'title': 'get_accuracyDictOutput', 'additionalProperties': True}
get_candles
Get OHLCV candles (price history)
Recent OHLCV candle bars for a symbol at a chosen timeframe — the raw price/volume history other tools are derived from. Inspect trend, range, volatility, volume profile, or feed your own indicators. Market DATA, not advice. A symbol outside the candle store returns an empty bars list (normal, not an error). Routes: /v1/candles/{symbol}.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_candlesArguments', 'required': ['symbol'], 'properties': {'tf': {'type': 'string', 'title': 'Tf', 'default': '1h', 'description': "Timeframe / bar size, e.g. '1m' | '5m' | '15m' | '1h' | '4h' | '1d'. Default '1h'."}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 200, 'description': 'Max bars, newest last (1-1000; clamped server-side). Default 200.'}, 'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive)."}}}
出力スキーマ
{'type': 'object', 'title': 'get_candlesDictOutput', 'additionalProperties': True}
get_context
Get context (regime / phase / derivatives / funding / squeeze / intel) [grouped]
Contextual market reads, grouped by `kind`. kind='regime'=market-regime labels (/v1/regime, market-wide, no symbol needed); 'phase'=move-lifecycle / entry-timing for a symbol (/v1/phase, premium+); 'derivatives'=normalized cross-exchange funding/OI/basis summary (/v1/derivatives); 'funding'=PER-VENUE funding+OI (/v1/funding); 'squeeze'=liquidation-cascade proximity (/v1/squeeze); 'intel'=per-symbol aggregated signal-quality roll-up (/v1/intel). Market DATA / context, NOT advice and NOT a win-rate. Empty/unknown kind → a menu of kinds.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_contextArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': '', 'description': "'regime' (market-wide, /v1/regime) | 'phase' (/v1/phase) | 'derivatives' (/v1/derivatives) | 'funding' (/v1/funding) | 'squeeze' (/v1/squeeze) | 'intel' (/v1/intel). Empty/unknown â\x86\x92 menu."}, 'symbol': {'type': 'string', 'title': 'Symbol', 'default': '', 'description': "Perp symbol, e.g. 'BTCUSDT' (required for every kind EXCEPT 'regime', which is market-wide). Case/space-insensitive."}}}
出力スキーマ
{'type': 'object', 'title': 'get_contextDictOutput', 'additionalProperties': True}
get_flow
Get order-flow (cvd / sweeps / cross / vpin) [grouped]
Per-symbol order-flow microstructure, grouped by `kind`. kind='vpin'/'all' (default)=full snapshot (CVD trend+divergence, VPIN toxicity, sweep state, buy/whale aggression, /v1/flow); 'cvd'=CVD series (/v1/cvd); 'sweeps'=stop-sweep events (/v1/sweeps); 'cross'=cross-exchange flow origin (/v1/cross_flow). Realtime market CONTEXT, NOT advice / a win-rate. Empty/unknown kind → a menu of kinds. VPIN is ONE contested signal — pair with get_accuracy before treating it as edge.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_flowArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': 'all', 'description': "'vpin'/'all' (full /v1/flow snapshot, default) | 'cvd' (/v1/cvd series) | 'sweeps' (/v1/sweeps) | 'cross' (/v1/cross_flow origin). Empty/unknown â\x86\x92 menu."}, 'symbol': {'type': 'string', 'title': 'Symbol', 'default': '', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate."}}}
出力スキーマ
{'type': 'object', 'title': 'get_flowDictOutput', 'additionalProperties': True}
get_heatmap
Get liquidation heatmap (price-magnet zones)
Liquidation-heatmap matrix for a symbol — price levels where leveraged positions cluster and are likely force-liquidated (price-magnet zones / liquidity pools). Anticipate where a move may accelerate or stall. Market DATA, not advice; a symbol with no clustering returns an empty matrix (normal, not an error). Routes: /v1/heatmap/{symbol}.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_heatmapArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive)."}}}
出力スキーマ
{'type': 'object', 'title': 'get_heatmapDictOutput', 'additionalProperties': True}
get_market
Get market board (movers / overview / anomalies) [grouped]
Whole-market reads, grouped by `kind`. kind='movers' (default)=top movers ranked (/v1/movers); 'overview'=whole-market roll-up — breadth / direction / activity (/v1/market); 'anomalies'=per-symbol or cross-market anomaly board (volume_spike/abnormal_spread/phantom_tick) with severity bands (/v1/anomalies). Cheap top-level CONTEXT to find what's MOVING before drilling into one symbol. Market DATA, NOT advice. Empty/unknown kind → a menu of kinds.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_marketArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': 'movers', 'description': "'movers' (default, /v1/movers) | 'overview' (/v1/market) | 'anomalies' (/v1/anomalies). Empty/unknown â\x86\x92 menu."}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 0, 'description': 'Max rows for movers (1-100, default 24) / anomalies (1-200, default 20); clamped server-side.'}, 'symbol': {'type': 'string', 'title': 'Symbol', 'default': '', 'description': "Anomalies single-symbol filter (kind='anomalies' only; empty = cross-market board). Case/space-insensitive."}}}
出力スキーマ
{'type': 'object', 'title': 'get_marketDictOutput', 'additionalProperties': True}
get_orderbook
Get order-book snapshot (walls / imbalance + S/R)
Live order-book snapshot for a symbol — bid/ask walls, book imbalance, spread — FOLDED with support/resistance levels (classic TA fused with cross-exchange book walls + Fibonacci) so you see resting liquidity AND the level map in one call. Cross-exchange aggregate, derived levels only. Market DATA, not advice; thin/uncovered symbols return null fields (normal). Routes: /v1/orderbook/{symbol} + folds /v1/sr as `sr`.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_orderbookArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate."}, 'include_sr': {'type': 'boolean', 'title': 'Include Sr', 'default': True, 'description': 'If true (default), fold support/resistance + Fibonacci levels (/v1/sr) into the response under `sr`. Set false to skip.'}, 'sr_timeframe': {'type': 'string', 'title': 'Sr Timeframe', 'default': '1h', 'description': "Timeframe for the folded S/R computation. Default '1h'."}}}
出力スキーマ
{'type': 'object', 'title': 'get_orderbookDictOutput', 'additionalProperties': True}
get_signals
Get Flow signals (live feed / elite crown)
Pull recent MidasFlow SignalEvent records (newest first). quality='normal' (default) = the bucketed signal log across source families; quality='elite' = the rare highest-conviction multi-model-consensus crown feed (premium+, lagged anti-front-run). Tier-gated + moat-scrubbed server-side. Market DATA, not advice. Routes: normal→/v1/signals/pull, elite→/v1/signals/elite.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_signalsArguments', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'description': 'Max events to return (normal 1-200, elite 1-50; clamped server-side). Default 20.'}, 'cursor': {'type': 'number', 'title': 'Cursor', 'default': 0, 'description': "Pagination cursor (normal feed only) â\x80\x94 pass 'next_cursor' from the previous page for older events (0 = newest)."}, 'source': {'type': 'string', 'title': 'Source', 'default': '', 'description': "Source-family filter: '' / 'all' | 'pump' | 'flow' | 'mfb' (case/space-insensitive). Ignored when quality='elite'."}, 'symbol': {'type': 'string', 'title': 'Symbol', 'default': '', 'description': "Single symbol filter, e.g. 'BTCUSDT' (empty = all symbols)."}, 'quality': {'type': 'string', 'title': 'Quality', 'default': 'normal', 'description': "'normal' (default, /v1/signals/pull) | 'elite' (crown consensus feed, /v1/signals/elite, premium+)."}}}
出力スキーマ
{'type': 'object', 'title': 'get_signalsDictOutput', 'additionalProperties': True}
get_whales
Get whales / liquidations (large-print intel) [grouped]
Large-player / forced-flow intel, grouped by `kind`. kind='whales' (default)=recent large ('whale') prints for a symbol, banded size+side (/v1/whales); kind='liquidations'=multi-exchange liquidation prints over a rolling window, long-liq vs short-liq notional bands per venue (/v1/liquidations; empty symbol = market-wide top movers by liq notional). Raw notional is banded. Market DATA, NOT a signal/advice. Empty/unknown kind → a menu of kinds.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'get_whalesArguments', 'properties': {'kind': {'type': 'string', 'title': 'Kind', 'default': 'whales', 'description': "'whales' (default, /v1/whales) | 'liquidations' (/v1/liquidations). Empty/unknown â\x86\x92 menu."}, 'symbol': {'type': 'string', 'title': 'Symbol', 'default': '', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Required for kind='whales'; empty for kind='liquidations' = market-wide top movers."}, 'window': {'type': 'integer', 'title': 'Window', 'default': 60, 'description': "Liquidations lookback seconds, 1-300 (kind='liquidations' only; clamped). Default 60."}, 'exchange': {'type': 'string', 'title': 'Exchange', 'default': '', 'description': "Liquidations venue filter (kind='liquidations' only): '' / 'all' for the full market, or a single major CEX. Unknown venue = error."}}}
出力スキーマ
{'type': 'object', 'title': 'get_whalesDictOutput', 'additionalProperties': True}
score_symbol
Score symbol (calibrated P(TP1) + plan + safety)
CROWN data product: calibrated P(first TP1 before SL) band + coarse trade plan (TP ladder %, SL %, weights) for ONE symbol, FOLDED with a pre-trade feed-safety check (is the feed live/real-volume/fresh, no phantom ticks). Coverage is present-or-null — most symbols return p_tp1_band=null (valid, NOT an error). Feed the band into calc_ev; never read it as buy/sell. Routes: /v1/score/{symbol} + folds /v1/symbol/check as `safety`.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'type': 'object', 'title': 'score_symbolArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol', 'description': "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). A calibrated score exists only for recently-evaluated symbols; most return p_tp1_band=null (valid)."}, 'direction': {'type': 'string', 'title': 'Direction', 'default': 'long', 'description': "'long' | 'short' â\x80\x94 steers the plan ladder only; the P(TP1) score itself is direction-agnostic."}, 'include_safety': {'type': 'boolean', 'title': 'Include Safety', 'default': True, 'description': 'If true (default), also fold a /v1/symbol/check feed-safety read into the response under `safety`. Set false to skip that extra call.'}}}
出力スキーマ
{'type': 'object', 'title': 'score_symbolDictOutput', 'additionalProperties': True}
追加
calc_ev
2026年9月17日12:45
追加
analyze
2026年9月17日12:45
追加
backtest
2026年9月17日12:45
追加
account
2026年9月17日12:45
追加
get_accuracy
2026年9月17日12:45
追加
get_market
2026年9月17日12:45
追加
get_whales
2026年9月17日12:45
追加
get_context
2026年9月17日12:45
追加
get_heatmap
2026年9月17日12:45
追加
get_flow
2026年9月17日12:45
追加
get_orderbook
2026年9月17日12:45
追加
get_candles
2026年9月17日12:45
追加
score_symbol
2026年9月17日12:45
追加
get_signals
2026年9月17日12:45