Tickscope

io.github.seungdori由 GitHub 账号 seungdori 发布v0.1.1更新于 Oct 24, 2026

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

已验证STDIO仅桌面金融数据与分析

概览

AI 生成的概览

一个本地 MCP 服务器,从 Binance、Bybit 和 OKX 获取免费的实时与历史加密货币行情,并计算技术指标和图表结构。

可以做什么
列出已配置的交易所和可交易交易对,预热或查看实时订阅状态及服务器健康情况。读取实时价格、近期成交、订单簿、历史K线、资金费率以及跨交易所聚合价格。计算73种技术指标及派生信号,识别背离、交叉和K线形态。分析市场结构、支撑阻力区域,并执行多周期深度分析或交易对筛选。
适用场景
适合助手在无需 API 密钥的情况下获取实时或历史加密货币价格与图表分析,用于研究、筛选或技术学习,可跨多个交易所使用。不适用于真实交易决策。
运行要求
以 Python 包(uvx tickscope-mcp)通过 stdio 在本地运行。需要访问所配置交易所的网络;无需 API 密钥或账户。可选环境变量用于设置交易所、默认交易所、缓存路径和传输方式。
安装前请注意
会在后台保持 WebSocket 连接并写入本地 DuckDB 缓存文件。仅读取交易所公开数据,但仍需遵守各交易所的服务条款和速率限制。README 声明其仅供教育研究用途,不构成财务建议,也不保证数据的准确性或及时性。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Tickscope,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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 · 한국어 · 中文 · 日本語

[Tickscope demo]

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

bash
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

bash
uvx tickscope-mcp

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

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

ExchangeRESTWebSocket
Binance✅✅
Bybit✅✅
OKX✅✅

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

Tools

ToolWhat it does
list_exchangesConfigured exchanges + default
list_symbolsTradable symbols (filter by quote/search)
get_tickerCurrent price snapshot (primary quote tool)
get_recent_tradesRecent executed trades from the live buffer
get_ohlcvHistorical candles (DuckDB-cached)
get_orderbookOrder book snapshot + spread
compute_indicators73 indicators (RSI/MACD/Supertrend/WaveTrend/Squeeze/…) with derived signals
detect_divergenceRegular/hidden bullish & bearish divergence (price vs oscillator)
detect_crossPine-style ta.crossover/ta.crossunder between any two series
detect_patternsCandlestick patterns (engulfing, hammer, stars, …) with bias
analyze_structureMarket structure: swings, trend, BOS / CHoCH
find_support_resistanceClustered support/resistance zones from pivots
deep_analyzeMulti-timeframe read: trend confluence + market-state context + historical signal performance, with a synthesized verdict
screen_marketScan many symbols by indicator/price filters
get_aggregated_priceVolume-weighted price + cross-exchange spread (arbitrage)
get_funding_ratePerpetual funding rate
watch_symbolPre-warm a live subscription (optional)
get_watched_symbolsActive subscriptions + buffer state
server_statusHealth / 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 syntax — ta.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):

VariableDefaultDescription
TICKSCOPE_EXCHANGESbinance,bybit,okxEnabled exchanges (comma-separated)
TICKSCOPE_DEFAULT_EXCHANGEbinanceDefault when exchange is omitted
TICKSCOPE_MAX_WATCHED_SYMBOLS25Max concurrent WS subscriptions (LRU evicted)
TICKSCOPE_RING_BUFFER_SIZE1000Per-symbol trade buffer size
TICKSCOPE_OHLCV_CACHE_PATH~/.tickscope/ohlcv.duckdbDuckDB cache file
TICKSCOPE_OHLCV_CACHE_TTL_S60Freshness window for the newest candle
TICKSCOPE_REST_RETRIES3Retry attempts for transient REST errors (rate limit / network)
TICKSCOPE_SCREEN_CONCURRENCY5Max concurrent symbols during screening/aggregation
TICKSCOPE_TRANSPORTstdiostdio or http
TICKSCOPE_LOG_LEVELINFOLog level

Development

bash
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

  • Pine Script-style indicator mapping (ta.rsi, ta.crossover, …)
  • 73 indicators + candlestick patterns + market structure (BOS/CHoCH)
  • Multi-exchange aggregation (weighted price / spread)
  • 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.

来源:README.md,提交 1e6a485

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分