Skip to main content
Glama

SMC-MCP — Smart-Money-Concepts for AI agents

Give Claude, Cursor, or any MCP client the ability to read price action like a smart-money trader — market structure (BOS / CHoCH), order blocks, fair value gaps, and liquidity sweeps — for stocks, forex, gold, indices, and crypto.

No API key. No paid data feed. Ask in plain English:

"Run a full SMC read on XAUUSD on the 1h." "Are there any unmitigated bullish order blocks on EURUSD?" "Did BTCUSD sweep liquidity above the recent high?"

Every other finance MCP server fetches stock prices and standard indicators. This one speaks the language traders actually use: order blocks, FVGs, BOS, CHoCH, liquidity grabs.


30-second setup (Claude Desktop)

git clone https://github.com/AkhileshSelvan/smc-mcp.git
cd smc-mcp
pip install -e .

Add this to your claude_desktop_config.json (Claude → Settings → Developer → Edit Config):

{
  "mcpServers": {
    "smc": {
      "command": "python",
      "args": ["-m", "smc_mcp"]
    }
  }
}

Restart Claude Desktop. You'll see the smc tools appear. Done.

Works the same in any MCP client (Cursor, Claude Code, etc.) — point it at python -m smc_mcp over stdio.


Related MCP server: microstructure-mcp

Tools

Tool

What it does

smc_get_market_structure

Swing points, BOS / CHoCH events, current trend bias

smc_find_order_blocks

Order blocks tied to structure breaks, with mitigation state

smc_find_fair_value_gaps

Three-candle imbalances and whether they're filled

smc_find_liquidity_sweeps

Swing highs/lows wicked through and rejected (stop hunts)

smc_full_analysis

All of the above in one combined, plain-English read

Every tool accepts:

  • symbol — AAPL, XAUUSD, EURUSD, BTCUSD, SPX … (trader shorthand is auto-translated)

  • interval — 5m, 15m, 30m, 1h, 1d, 1wk

  • limit — number of recent candles (20–1000)

  • lookback — swing sensitivity (higher = only major swings)

  • response_format — markdown (human read) or json (machine-readable zones)


What the concepts mean

  • BOS (Break of Structure) — price closes through a swing with the trend: a continuation signal.

  • CHoCH (Change of Character) — price closes through a swing against the trend: the first hint of a reversal.

  • Order block — the last opposite-colour candle before an impulsive move; an institutional footprint and a common entry zone.

  • Fair value gap — a three-candle imbalance price often returns to rebalance.

  • Liquidity sweep — a wick beyond an obvious swing that takes stops, then closes back (distinct from a BOS, which closes through).


Run the tests

pip install -e ".[dev]"
python tests/test_smc.py     # or: python -m pytest tests/ -q

The core logic is pure Python over OHLC arrays (in src/smc_mcp/smc/), unit- tested with hand-built series, and free of look-ahead bias — swings are only used once their fractal has fully formed.


Roadmap

  • Multi-timeframe confluence (HTF bias + LTF entry)

  • Premium/discount (equilibrium) zones

  • ccxt data source for exchange-native crypto candles

  • Optional MT5 data bridge for broker-accurate forex

  • Prop-firm risk-gate tool (position size vs. drawdown rules)

Contributions and issues welcome.


Disclaimer

This software provides data analysis, not financial advice. Markets carry risk; validate every signal on your own charts and never trade on a tool's output alone.

License

MIT — see LICENSE.

Available Tools

5 tools
smc_find_fair_value_gapsA
Read-onlyIdempotent

Find fair value gaps — three-candle imbalances price tends to rebalance.

Reports each gap's zone, direction, and whether it has been filled. Unfilled gaps act as magnets and make natural entry or target zones.

Returns (JSON mode): {"symbol","interval", "fair_value_gaps": [{"index","top","bottom","kind","filled", "filled_index","time"}]}.

Inputs: params (required). Returns: result

smc_find_liquidity_sweepsA
Read-onlyIdempotent

Find liquidity sweeps — swing highs/lows wicked through and rejected.

A sweep takes stops resting beyond an obvious swing, then price closes back on the original side. Often precedes a reversal, and distinct from a BOS (which closes through the level).

Returns (JSON mode): {"symbol","interval", "liquidity_sweeps": [{"index","swept_level","swept_swing_index", "kind","time"}]}.

Inputs: params (required). Returns: result

smc_find_order_blocksA
Read-onlyIdempotent

Find order blocks — the last opposite candle before a structure break.

Each block is the institutional footprint before an impulsive move, reported with its zone (top/bottom), direction, and whether price has since mitigated (revisited) it. Unmitigated blocks are the ones traders usually watch.

Returns (JSON mode): {"symbol","interval", "order_blocks": [{"index","top","bottom","kind","break_index", "mitigated","mitigated_index","time"}]}.

Inputs: params (required). Returns: result

smc_full_analysisA
Read-onlyIdempotent

Run every SMC tool and return one combined, plain-English read.

Combines market structure, order blocks, fair value gaps, and liquidity sweeps into a single narrative plus the current price and bias — the fastest way to get a complete picture in one call.

Returns (JSON mode): {"symbol","interval","last_price","bias", "events","order_blocks","fair_value_gaps","liquidity_sweeps"} where each list matches the per-tool JSON schema.

Inputs: params (required). Returns: result

smc_get_market_structureA
Read-onlyIdempotent

Read market structure: swing points, BOS/CHoCH events, and trend bias.

Returns the chronological sequence of structure breaks and the current directional bias (bullish / bearish / neutral) for the requested instrument and timeframe.

Returns (JSON mode): {"symbol", "interval", "bias", "events": [{"index","price","event","direction","time"}], "swing_count"}.

Inputs: params (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a distinct SMC concept: fair value gaps, liquidity sweeps, order blocks, market structure, and a combined analysis. No overlap in purpose.

    Naming Consistency5/5

    All tools use a consistent 'smc_' prefix followed by 'find_' or 'get_' verbs, with 'smc_full_analysis' as a slight exception but still follows the same pattern. Naming is predictable and uniform.

    Tool Count5/5

    Five tools is an appropriate size for a focused SMC analysis server. Each tool covers a core concept without being too few or too many.

    Completeness4/5

    The tool set covers the main SMC components: market structure, order blocks, fair value gaps, and liquidity sweeps. A combined analysis tool ties them together. Minor gap: no explicit 'change in character' detection, but it's included in market structure events.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Computes structured market-structure features (liquidity zones, fair value gaps, order blocks, break of structure) from live Bybit data and exposes them as typed MCP tools for AI agents.
      5
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to analyze smart-money market structure—trend, character shifts (ChoCh/BOS), liquidity sweeps, fair value gaps, order blocks, and pullback zones—from Hyperliquid or user-supplied candles.
      3
      Apache 2.0
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables automated SMC/ICT trading analysis and management for XAUUSD via TradingView, including market scanning, risk calculation, and position monitoring.
      -