tickscope-mcp

tickscope-mcp

Provides real-time and historical crypto market data via WebSocket and REST for MCP clients, supporting multiple exchanges, 73 technical indicators, and advanced chart analysis tools.

Category
访问服务器

README

<!-- mcp-name: io.github.seungdori/tickscope-mcp -->

<div align="center">

Tickscope MCP

Real-time, free crypto market data for any AI agent — via MCP.

PyPI Python License: MIT CI Ruff Checked with mypy MCP

English · 한국어 · 中文 · 日本語

<!-- Live Claude Code walkthrough — see examples/RECORDING.md --> Tickscope demo

</div>

Tickscope is a self-hostable Model Context Protocol server that gives any MCP client (Claude Code, Cursor, Codex, Gemini CLI, …) real-time and historical crypto market data for free. It keeps exchange WebSocket connections warm in the background, so your agent reads prices that are fresh to the sub-second, straight from a live connection. The same server covers 73 technical indicators and chart-structure recognition, with no API keys.

⚠️ Educational/research tool. It does not provide financial, investment, or trading advice, and it does not guarantee data accuracy or timeliness.


Contents

Why

Trading agents are exploding, yet their data layer stays fragmented, REST-poll-only, and often locked behind a paywall. Tickscope gives those agents real-time, free market data from one server — many exchanges, no API keys.

See it run

uv run examples/demo.py            # live BTC/USDT walkthrough (no API keys)
uv run examples/demo.py ETH/USDT 4h

A colorized terminal walkthrough — cold→warm freshness (REST → WebSocket), indicators with signals, divergence, market structure, and support/resistance — against live Binance/Bybit/OKX. See examples/RECORDING.md to turn it into the GIF above.

30-second install

uvx tickscope-mcp

Register it with your client (Claude Code example, examples/claude_code_config.json):

{
  "mcpServers": {
    "tickscope": {
      "command": "uvx",
      "args": ["tickscope-mcp"],
      "env": {
        "TICKSCOPE_EXCHANGES": "binance,bybit,okx",
        "TICKSCOPE_DEFAULT_EXCHANGE": "binance"
      }
    }
  }
}

Cursor, Codex and Gemini CLI use the same command/args/env shape in their respective MCP config files.

Supported exchanges

Exchange REST WebSocket
Binance
Bybit
OKX

Any ccxt-supported exchange can be enabled via TICKSCOPE_EXCHANGES. Public data only — no keys required.

Tools

Tool What it does
list_exchanges Configured exchanges + default
list_symbols Tradable symbols (filter by quote/search)
get_ticker Current price snapshot (primary quote tool)
get_recent_trades Recent executed trades from the live buffer
get_ohlcv Historical candles (DuckDB-cached)
get_orderbook Order book snapshot + spread
compute_indicators 73 indicators (RSI/MACD/Supertrend/WaveTrend/Squeeze/…) with derived signals
detect_divergence Regular/hidden bullish & bearish divergence (price vs oscillator)
detect_cross Pine-style ta.crossover/ta.crossunder between any two series
detect_patterns Candlestick patterns (engulfing, hammer, stars, …) with bias
analyze_structure Market structure: swings, trend, BOS / CHoCH
find_support_resistance Clustered support/resistance zones from pivots
deep_analyze Multi-timeframe read: trend confluence + market-state context + historical signal performance, with a synthesized verdict
screen_market Scan many symbols by indicator/price filters
get_aggregated_price Volume-weighted price + cross-exchange spread (arbitrage)
get_funding_rate Perpetual funding rate
watch_symbol Pre-warm a live subscription (optional)
get_watched_symbols Active subscriptions + buffer state
server_status Health / diagnostics

Every market-data response includes source (websocket|rest), age_ms, and timestamp so the freshness is always provable.

Indicators (73)

  • MAs / overlays: sma ema wma smma dema tema hma vwma zlema alma kama trima lsma vidya t3 vwap vwapbands bbands donchian keltner supertrend ichimoku psar
  • Momentum: rsi stochrsi macd ppo stoch cci willr roc mom tsi ao cmo uo dpo trix coppock kst fisher rvi mfi wavetrend squeeze qqe crsi stc elderray zscore linregslope
  • Volatility: atr natr stdev hv chop ulcer massindex
  • Volume: obv adl cmf chaikinosc eom fi pvt vo klinger
  • Trend: adx dmi aroon vortex
  • Structure: heikinashi pivots

Specs are "name:p1,p2" and also accept Pine Script syntaxta.rsi(14), ta.ema(20), ta.wt(10,21), ta.sqz — so TradingView users can paste familiar expressions. Derived signals include overbought-oversold state, MACD/PPO/WaveTrend/QQE cross, zero-line cross for oscillators, Supertrend/PSAR direction & flip, squeeze on/off, DMI/Heikin-Ashi trend, and Ichimoku cloud position. Includes crypto/Pine favorites (WaveTrend, TTM Squeeze, QQE, Connors RSI, Schaff Trend Cycle, VIDYA, T3). Adding a new indicator is a one-line REGISTRY declaration.

Structure recognition

On top of numeric indicators, Tickscope describes what the chart is doing: detect_patterns names candlestick patterns (engulfing, hammer/hanging man, doji family, morning/evening star, three soldiers/crows, …) with their bias; analyze_structure returns swing highs/lows labeled HH/HL/LH/LL, the inferred trend, and Break-of-Structure / Change-of-Character events (SMC-style); find_support_resistance clusters swing pivots into support/resistance zones with touch counts. These give an agent the vocabulary to describe a chart the way a trader would.

Deep analysis

deep_analyze answers a question about a symbol in one call, instead of making the agent chain a dozen tools. It returns:

  • Multi-timeframe trend confluence — the same symbol read across a 1d/4h/1h ladder, with whether the timeframes agree or conflict.
  • Market-state context — where price sits in its recent range (percentile), the trend state (trending_up / trending_down / ranging, from ADX + Kaufman efficiency ratio), and the volatility state (from ATR percentile), so a bare "RSI 30" reads against the conditions it showed up in.
  • Historical signal performance — for the current divergence, the forward-return distribution of every past confirmed occurrence on this symbol/timeframe (count, win rate, median). A strictly causal event study — no look-ahead, no repaint.
  • A synthesized verdict — bias, confidence, timeframe agreement, the execution-timeframe market state, and explicit caveats, all computed deterministically in Python so the call never hinges on the model eyeballing raw numbers.

compute_indicators now carries the same market-state context inline (it's ~free), and signal history is memoized per closed bar, so warm reads stay fast. Clients that support MCP prompts expose this as a slash command — /mcp__tickscope__deep_analyze (symbol + timeframe) — to trigger a full read on demand.

Resources

Supporting clients can also read live state as MCP resources: tickscope://status, tickscope://watched, and the template tickscope://ticker/{exchange}/{symbol}.

Example prompts

  • "What's BTC/USDT trading at on Binance right now, and the 24h change?"
  • "Should I care about this SOL/USDT setup? Do a deep, multi-timeframe read."
  • "Is there an RSI divergence on BTC/USDT 4h — and how has that signal performed on this pair before?"
  • "Screen the top 50 USDT pairs by volume for ones with RSI below 30."
  • "Map the key support/resistance on ETH/USDT 4h and tell me if the structure just broke (BOS/CHoCH)."
  • "What's the perpetual funding rate for BTC on Bybit right now — is it overheated?"
  • "Compare BTC/USDT across Binance, Bybit and OKX and show the arbitrage spread."

See examples/demo_prompts.md for a fuller recipe book (deep analysis, signal backtests, screening, monitoring, strategy checks).

Configuration

All settings are environment variables (see .env.example):

Variable Default Description
TICKSCOPE_EXCHANGES binance,bybit,okx Enabled exchanges (comma-separated)
TICKSCOPE_DEFAULT_EXCHANGE binance Default when exchange is omitted
TICKSCOPE_MAX_WATCHED_SYMBOLS 25 Max concurrent WS subscriptions (LRU evicted)
TICKSCOPE_RING_BUFFER_SIZE 1000 Per-symbol trade buffer size
TICKSCOPE_OHLCV_CACHE_PATH ~/.tickscope/ohlcv.duckdb DuckDB cache file
TICKSCOPE_OHLCV_CACHE_TTL_S 60 Freshness window for the newest candle
TICKSCOPE_REST_RETRIES 3 Retry attempts for transient REST errors (rate limit / network)
TICKSCOPE_SCREEN_CONCURRENCY 5 Max concurrent symbols during screening/aggregation
TICKSCOPE_TRANSPORT stdio stdio or http
TICKSCOPE_LOG_LEVEL INFO Log level

Development

uv venv && uv pip install -e ".[dev]"
pytest                # ~100 unit + MCP-integration tests (live excluded)
pytest -m live        # live exchange tests (Binance/Bybit/OKX, run locally)
ruff check . && mypy  # lint + type gates

Tests cover indicator math against reference values, service cache/auto-watch logic, the full MCP tool path (tests/test_mcp_integration.py calls tools through mcp.call_tool), price-structure recognition, and a live suite that exercises the whole stack against real exchanges. See CONTRIBUTING.md for the project layout and contribution flow.

Roadmap

  • [x] Pine Script-style indicator mapping (ta.rsi, ta.crossover, …)
  • [x] 73 indicators + candlestick patterns + market structure (BOS/CHoCH)
  • [x] Multi-exchange aggregation (weighted price / spread)
  • [x] MCP resource push for watched symbols
  • [ ] Anchored / session VWAP
  • [ ] More exchanges (Kraken, Bitget, Gate, …)
  • [ ] Agent Skill (SKILL.md) wrapper

Contributing

Issues and PRs welcome — see CONTRIBUTING.md and our Code of Conduct. Keep dependencies minimal and the v1 scope read-only (public data, no order execution, no API secrets).

License

MIT © Tickscope contributors.

Disclaimer

This tool is for educational and research purposes only. It is not financial, investment, or trading advice. Market data may be delayed, incomplete, or inaccurate; do not rely on it for real trading decisions. Respect each exchange's terms of service and rate limits. See SECURITY.md.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选