Koskamo

MidasFlow MCP

An AI-powered crypto market microstructure analytics platform providing agent-native market data over MCP and REST. It delivers structured reads including direction, confidence, market phase, risk levels, order flow, derivatives data, liquidations, and squeeze risk across 8 leading exchanges.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MidasFlow MCP logo, by MidasFlowCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by MidasFlow
MCP endpoint (Streamable HTTP)
https://mcp.midasflow.ai/mcp
Vendor documentation

What its tools do

14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

14 of 14 have a description · 14 of 14 declare behavior hints · 14 of 14 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Scan every coin and confirm events across 8 leading exchanges
  • Produce structured reads for direction, confidence, and market phase
  • Detect liquidation clusters and cascade risk
  • Identify large-order and whale-flow activity

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
MidasFlow Flow API 1.28.0
MCP protocol negotiated in check
2025-11-25
Tools
14 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

MidasFlow Flow API — crypto market DATA / analytics, NOT financial advice. Recommended workflow: (1) get_accuracy → realized first-TP win-rate per source family; (2) feed a bucket's win-rate + average win/loss into calc_ev → expected value; (3) get_signals for the live feed. account shows your tier and remaining daily quota — self-throttle by it. Win-rate frame = P(price hit TP1 before SL), NOT realized PnL after fees. The confidence field is `model_confidence` (raw model score, NOT P(win); `prob` is a deprecated alias).

Tools

14 advertised

get_signals — Get Flow signals (live feed / elite crown)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_signals input schema
{
  "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) — 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+)."
    }
  }
}
get_signals output schema
{
  "type": "object",
  "title": "get_signalsDictOutput",
  "additionalProperties": true
}
get_signals annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
score_symbol — Score symbol (calibrated P(TP1) + plan + safety)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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`.

score_symbol input schema
{
  "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' — 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."
    }
  }
}
score_symbol output schema
{
  "type": "object",
  "title": "score_symbolDictOutput",
  "additionalProperties": true
}
score_symbol annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_candles — Get OHLCV candles (price history)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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}.

get_candles input schema
{
  "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)."
    }
  }
}
get_candles output schema
{
  "type": "object",
  "title": "get_candlesDictOutput",
  "additionalProperties": true
}
get_candles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_orderbook — Get order-book snapshot (walls / imbalance + S/R)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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`.

get_orderbook input schema
{
  "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'."
    }
  }
}
get_orderbook output schema
{
  "type": "object",
  "title": "get_orderbookDictOutput",
  "additionalProperties": true
}
get_orderbook annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_flow — Get order-flow (cvd / sweeps / cross / vpin) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_flow input schema
{
  "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 → menu."
    },
    "symbol": {
      "type": "string",
      "title": "Symbol",
      "default": "",
      "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate."
    }
  }
}
get_flow output schema
{
  "type": "object",
  "title": "get_flowDictOutput",
  "additionalProperties": true
}
get_flow annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_heatmap — Get liquidation heatmap (price-magnet zones)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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}.

get_heatmap input schema
{
  "type": "object",
  "title": "get_heatmapArguments",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "title": "Symbol",
      "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive)."
    }
  }
}
get_heatmap output schema
{
  "type": "object",
  "title": "get_heatmapDictOutput",
  "additionalProperties": true
}
get_heatmap annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_context — Get context (regime / phase / derivatives / funding / squeeze / intel) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_context input schema
{
  "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 → 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."
    }
  }
}
get_context output schema
{
  "type": "object",
  "title": "get_contextDictOutput",
  "additionalProperties": true
}
get_context annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_whales — Get whales / liquidations (large-print intel) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_whales input schema
{
  "type": "object",
  "title": "get_whalesArguments",
  "properties": {
    "kind": {
      "type": "string",
      "title": "Kind",
      "default": "whales",
      "description": "'whales' (default, /v1/whales) | 'liquidations' (/v1/liquidations). Empty/unknown → 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."
    }
  }
}
get_whales output schema
{
  "type": "object",
  "title": "get_whalesDictOutput",
  "additionalProperties": true
}
get_whales annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market — Get market board (movers / overview / anomalies) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_market input schema
{
  "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 → 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."
    }
  }
}
get_market output schema
{
  "type": "object",
  "title": "get_marketDictOutput",
  "additionalProperties": true
}
get_market annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_accuracy — Get accuracy / outcomes (proof of edge) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_accuracy input schema
{
  "type": "object",
  "title": "get_accuracyArguments",
  "properties": {
    "kind": {
      "type": "string",
      "title": "Kind",
      "default": "accuracy",
      "description": "'accuracy' (default, /v1/accuracy) | 'outcomes' (/v1/outcomes). Empty/unknown → 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."
    }
  }
}
get_accuracy output schema
{
  "type": "object",
  "title": "get_accuracyDictOutput",
  "additionalProperties": true
}
get_accuracy annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
account — Account (tier / quota / balance / usage / tiers) [grouped]
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

account input schema
{
  "type": "object",
  "title": "accountArguments",
  "properties": {
    "kind": {
      "type": "string",
      "title": "Kind",
      "default": "account",
      "description": "'account' (default, /v1/account) | 'usage' (/v1/usage — incl endpoint_weights) | 'tiers' (/v1/tiers). Empty/unknown → menu."
    }
  }
}
account output schema
{
  "type": "object",
  "title": "accountDictOutput",
  "additionalProperties": true
}
account annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
backtest — [LAB] Backtest a setup (historical P(TP1 before SL) + EV)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

backtest input schema
{
  "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."
    }
  }
}
backtest output schema
{
  "type": "object",
  "title": "backtestDictOutput",
  "additionalProperties": true
}
backtest annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
analyze — [LAB] Analyze symbol (AI-Analyst report — heaviest)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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}.

analyze input schema
{
  "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)."
    }
  }
}
analyze output schema
{
  "type": "object",
  "title": "analyzeDictOutput",
  "additionalProperties": true
}
analyze annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
calc_ev — [LAB] Calculate expected value (local analytics, no network)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

calc_ev input schema
{
  "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–100). Feed from a get_accuracy bucket win-rate."
    }
  }
}
calc_ev output schema
{
  "type": "object",
  "title": "calc_evDictOutput",
  "additionalProperties": true
}
calc_ev annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

2 advertised

catalog — MidasFlow tool catalog (что для чего)

Advertised by the server during the last successful anonymous check.

Structured index of every MidasFlow MCP tool: what it's for, when to use it, its kinds, cost weight, min tier, and the TRADING (core 11) vs LAB (3) split. Read this first to pick the right tool.

catalog URI
midasflow://catalog

MIME type: application/json

guide — MidasFlow getting-started guide

Advertised by the server during the last successful anonymous check.

Short connect→discover→detect→confirm→score→size getting-started guide for an agent new to the MidasFlow Flow MCP.

guide URI
midasflow://guide

MIME type: text/markdown

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2068 ms
95th percentile latency
2068 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2068 ms · metadata changed · 14 tool(s), 2 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http midasflow-mcp https://mcp.midasflow.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add midasflow-mcp --url https://mcp.midasflow.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable midasflow-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "midasflow-mcp": {
      "url": "https://mcp.midasflow.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "midasflow-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.midasflow.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start midasflow-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "midasflow-mcp": {
      "type": "http",
      "url": "https://mcp.midasflow.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http midasflow-mcp https://mcp.midasflow.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.midasflow.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "midasflow-mcp": {
      "serverUrl": "https://mcp.midasflow.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MidasFlow MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.