Name:  CryptoScholar

Name: CryptoScholar

Crypto technical analysis inside Claude. Get live TA from Binance (EMA, RSI, MACD, ADX, TSS score), macro market context (ARS/MRS scores), coin ranking, and a grounded bull/bear debate — no chart-switching needed.

Category
访问服务器

README

CryptoScholar

Crypto technical analysis, directly inside Claude. CryptoScholar is a Model Context Protocol (MCP) server that gives Claude real-time TA capabilities — no chart-switching, no copy-pasting data, no context loss.

Ask Claude "Is SOL set up for a swing trade?" and it fetches live data from Binance, runs a full indicator suite, scores it, and delivers a grounded bull/bear debate — all in one response.


What it does

CryptoScholar exposes 4 MCP tools that Claude can call natively:

analyze_coin

Full technical analysis snapshot for any coin. Fetches 300 days of real OHLCV candles from Binance (with CoinGecko fallback) and computes:

Indicator Details
Trend EMA-20, EMA-50, EMA-200 alignment + weekly EMA slope
Momentum RSI-14, MACD (line / signal / histogram), ADX-14
Volatility ATR-14, Bollinger Band width, Historical Volatility (20-day annualised)
Relative Strength Coin vs BTC (20-day ratio change)
Regime Low / mid / high volatility classification
TSS Trend Strength Score — 0–100 composite (40% trend + 30% momentum + 30% RS)

rank_coins

Pass a list of symbols and get them back ranked by TSS. Useful for quickly identifying the strongest setups across your watchlist.

market_context

Macro market signals to frame individual coin analysis. Uses CoinGecko global data and DefiLlama stablecoin supply. Returns:

Signal Description
BTC dominance Current % and 30-day change — falling = capital rotating to alts
ETH/BTC ratio 20-day trend — rising = broadening rally
TOTAL3 Altcoin market cap (ex-BTC, ex-ETH) 30-day change
Stablecoin supply Total stablecoin market cap and 30-day trend (rising = more buying powder)
ARS Altcoin Rotation Score 0–100 — how favourable macro is for alts
MRS Market Readiness Score 0–100 — overall market readiness for upside moves

debate

Claude reads the live TA data and generates a structured bull/bear debate grounded in actual indicator values — not hallucinated opinion. Returns:

  • Bull case — what the technicals say in favour
  • Bear case — what could go wrong
  • Bottom line — one-sentence synthesis

No API key required for market data. Only ANTHROPIC_API_KEY is needed for the debate tool.


What's new in v0.2.0

  • Real OHLCV candles — price data now comes from Binance's public API (300 days, no API key required). CoinGecko is kept as automatic fallback for any symbol not on Binance. The analyze_coin output includes a data_source field so you can see which was used.
  • market_context tool — a new fourth tool that gives Claude a macro picture before diving into individual coins. Returns BTC dominance trend, ETH/BTC ratio, TOTAL3 altcoin market cap, and stablecoin supply from DefiLlama.
  • ARS (Altcoin Rotation Score) — 0–100 composite scoring whether the macro environment favours alts. Factors in BTC dominance direction, ETH/BTC trend, and TOTAL3 momentum.
  • MRS (Market Readiness Score) — 0–100 overall market readiness for upside. Weighted: 40% BTC trend + 30% ARS + 30% stablecoin supply trend.

Quick start

Requirements: Python 3.11+

git clone https://github.com/cryptographer11/cryptoscholar.git
cd cryptoscholar
make install
cp .env.example .env
# Add your ANTHROPIC_API_KEY to .env (only needed for debate tool)
cryptoscholar

Add to Claude Code

In ~/.claude/.mcp.json:

{
  "mcpServers": {
    "cryptoscholar": {
      "command": "python",
      "args": ["-m", "cryptoscholar"],
      "env": {
        "ANTHROPIC_API_KEY": "your_key_here"
      }
    }
  }
}

Restart Claude Code. You can now ask:

  • "Analyze BTC for me"
  • "Rank ETH, SOL, AVAX, and LINK by trend strength"
  • "What does the macro market look like right now?"
  • "Give me the bull and bear case for DOGE based on current TA"

Screenshots

<p align="center"> <a href="docs/rank_coins_xrp_bear.png"> <img src="docs/rank_coins_xrp_bear.png" width="800" style="max-width: 100%"> </a> <br> <em>Ranking BTC, ETH, and XRP by Trend Strength Score — then drilling into the bear case for XRP</em> </p>

rank_coins scores each coin across trend, momentum, and relative strength vs BTC and returns them sorted by TSS. Here BTC leads at 63.7, ETH at 53.0, and XRP trails at 47.8 — all in low_vol regime. Asking for the XRP bear case immediately after surfaces the specific technical reasons: a steepest weekly EMA slope, faltering MACD, and ETH underperformance vs BTC flagged as early institutional exit pressure.


<p align="center"> <a href="docs/sol_analysis.png"> <img src="docs/sol_analysis.png" width="800" style="max-width: 100%"> </a> <br> <em>Full technical analysis snapshot for SOL — indicators, scoring, and bear case in one response</em> </p>

analyze_coin returns a structured breakdown covering EMA stack alignment, RSI, MACD, ADX, ATR, Bollinger Band width, and relative strength vs BTC — all computed from 300 days of live Binance candles. Claude then reads the raw indicator values to generate a grounded bear case: EMA-200 resistance, weekly slope steepening, and MACD crossdown risk. No chart-switching, no copy-pasting — the full TA context is already in Claude's window.


Example output

market_context()

{
  "btc_price_30d_change_pct": -8.4,
  "btc_dominance_current": 54.2,
  "btc_dominance_30d_change_pct": 2.1,
  "eth_btc_20d_change_pct": -5.3,
  "total3_30d_change_pct": -14.6,
  "stablecoin_supply_usd": 196500000000,
  "stablecoin_30d_change_pct": 2.8,
  "btc_trend_score": 35.0,
  "ars": 28.5,
  "stablecoin_score": 60.0,
  "mrs": 42.3
}

analyze_coin("SOL")

{
  "symbol": "SOL",
  "data_source": "binance",
  "price": 142.30,
  "tss": 74.2,
  "regime": "mid_vol",
  "vrs": 55,
  "ema_alignment": "full_bull",
  "indicators": {
    "rsi_14": 61.4,
    "macd_hist": 0.42,
    "adx_14": 28.1,
    "atr_14": 6.82,
    "hv_20": 68.4,
    "rs_btc": 4.2,
    "bb_width": 0.18
  }
}

debate("SOL")

{
  "bull_case": "SOL is in a full bullish EMA stack with RSI at 61 — healthy momentum without overbought conditions. ADX at 28 confirms trending structure, and relative strength vs BTC is positive at +4.2%, signalling capital rotation into SOL.",
  "bear_case": "Historical volatility at 68% is elevated, and Bollinger Band width is widening — conditions that often precede sharp reversals. A break below EMA-20 would invalidate the current trend structure.",
  "bottom_line": "Technicals are constructive for continuation but volatility is high; position sizing should reflect the risk."
}

Configuration

Variable Default Description
ANTHROPIC_API_KEY Required for the debate tool
CRYPTOSCHOLAR_MODEL claude-haiku-4-5-20251001 Claude model used for debates (swap for Sonnet/Opus for deeper analysis)
CRYPTOSCHOLAR_LOG_DIR /tmp Directory for rotating log files

Supported coins

CryptoScholar works with any coin listed on CoinGecko or Binance — just pass the ticker symbol. No configuration needed.

A built-in symbol map covers 20 major coins for instant resolution (BTC, ETH, SOL, BNB, XRP, ADA, AVAX, LINK, DOGE, DOT, MATIC, UNI, ATOM, LTC, BCH, NEAR, APT, ARB, OP, INJ). For anything outside that list, CryptoScholar automatically queries CoinGecko's search API to resolve the symbol and falls back to CoinGecko OHLCV if the coin isn't available on Binance.

In practice: if it trades somewhere and has a CoinGecko listing, it will work.


Architecture

Stateless by design — no database, no scheduler. Every tool call fetches fresh data.

Claude (MCP call)
    └── server.py              FastMCP entry point
         ├── tools/
         │    ├── analyze.py        Orchestrates fetch → indicators → regime → score
         │    ├── rank.py           Runs analyze_coin per symbol, sorts by TSS
         │    ├── debate.py         Builds prompt from TA data, calls Claude API
         │    └── market_context.py ARS + MRS + macro signals
         ├── ta/
         │    ├── indicators.py     pandas-ta + custom HV / RS functions
         │    ├── scoring.py        TSS: trend + momentum + relative strength
         │    └── regime.py         Rule-based vol regime (ATR + BBW percentile)
         ├── market/
         │    └── context.py        BTC dominance, ETH/BTC, TOTAL3, ARS, MRS
         └── data/
              ├── binance.py        Binance klines client (1,200 req/min, no auth)
              ├── coingecko.py      CoinGecko client, 5-min TTL cache, OHLCV builder
              └── defillama.py      DefiLlama stablecoin supply history

Data flow for analyze_coin("SOL"):

  1. Map symbol → CoinGecko ID (SOLsolana)
  2. Fetch 300-day OHLCV from Binance (SOLUSDT klines); fall back to CoinGecko if unavailable
  3. Compute all indicators via pandas-ta and custom functions
  4. Classify regime (ATR + BB width percentile position vs historical range)
  5. Compute TSS (weighted composite of trend, momentum, RS vs BTC)
  6. Fetch current market data (price, market cap, 24h change) from CoinGecko
  7. Return structured dict to Claude

Data flow for market_context():

  1. Fetch total market cap history (30d) from CoinGecko /global/market_cap_chart
  2. Fetch BTC and ETH market chart history (30d) from CoinGecko
  3. Fetch stablecoin supply history from DefiLlama
  4. Compute BTC dominance trend, ETH/BTC ratio trend, TOTAL3 change
  5. Score into ARS (altcoin rotation) and MRS (market readiness)

Development

make test            # run test suite
make test-parallel   # run tests in parallel (pytest-xdist)
make coverage        # coverage report
make lint-security   # bandit security scan

71 tests, 0 failures.


Roadmap

See ROADMAP.md for planned versions. Highlights:

  • v0.3 — Multi-timeframe (4H + weekly), RSI divergence, top_coins tool, 50+ coin batch ranking
  • v0.4 — Persistent watchlist + Claude-triggered regime-change and TSS threshold alerts
  • v0.5 — HMM volatility regime (3-state GaussianHMM replacing rule-based classifier)
  • v0.6generate_report tool: cluster → write → assemble pipeline for formatted markdown reports
  • v0.7research_coin tool: web search + Jina reader for news and narrative context

License

MIT

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选