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 分