CryptoScholar

Servidor MCP de análisis técnico de criptomonedas en vivo — EMA, RSI, MACD, ATR, Bandas de Bollinger, puntuación TSS y debate alcista/bajista con Claude AI a través de la API gratuita de CoinGecko

Documentación

CryptoScholar

Análisis técnico de criptomonedas, directamente dentro de Claude. CryptoScholar es un servidor de Model Context Protocol (MCP) que le brinda a Claude capacidades de análisis técnico en tiempo real — sin cambiar de gráficos, sin copiar y pegar datos, sin pérdida de contexto.

Pregúntale a Claude "¿Está SOL listo para un trade de swing?" y obtendrá datos en vivo de Binance, ejecutará un conjunto completo de indicadores, los puntuará y ofrecerá un debate alcista/ bajista fundamentado — todo en una sola respuesta.


Qué hace

CryptoScholar expone 15 herramientas MCP que Claude puede invocar de forma nativa:

analyze_coin

Instantánea completa de análisis técnico para cualquier moneda. Obtiene 300 días de velas OHLCV reales de Binance (con respaldo de CoinGecko) y calcula:

IndicadorDetalles
TendenciaAlineación EMA-20, EMA-50, EMA-200 + pendiente semanal de EMA
MomentumRSI-14, MACD (línea / señal / histograma), ADX-14
VolatilidadATR-14, ancho de Bandas de Bollinger, Volatilidad Histórica (anualizada a 20 días)
Fuerza RelativaMoneda vs BTC (cambio del ratio a 20 días)
Múltiples marcos temporalesAlineación EMA en 4H — ±3 puntos de bonificación/penalización TSS según EMA-20 vs EMA-50 en 4H
Divergencia RSIAlcista / bajista / ninguna — precio vs extremos de RSI en los últimos 30 barras
Tendencia OBVDirección del Volumen en Balance (creciente / decreciente / plano) — ±2 puntos de confirmación TSS
Tasa de financiaciónTasa de financiación actual del perpetuo USDT-M — extremos positivos = largos sobreapalancados
RégimenVolatilidad baja / media / alta — clasificada por GaussianHMM de 3 estados (con respaldo basado en reglas)
TSSPuntaje de Fuerza de Tendencia — compuesto de 0–100 (40% tendencia + 30% momentum + 30% RS ± MTF ± OBV)

rank_coins

Pasa una lista de símbolos y recíbelos clasificados por TSS. Se ejecuta en paralelo (hasta 8 workers) para obtener resultados rápidos en listas grandes. Cada resultado incluye TSS, régimen, alineación EMA, alineación MTF en 4H, divergencia RSI, tendencia OBV, tasa de financiación, RSI-14, ADX-14 y RS vs BTC.

top_coins

No se necesita lista de símbolos. Obtiene las 50 monedas principales por capitalización de mercado de CoinGecko y las devuelve clasificadas por TSS. El filtrado inteligente elimina automáticamente:

  • Stablecoins (USDT, USDC, DAI, etc.)
  • Tokens envueltos / sintéticos (WBTC, WETH, stETH, cbBTC, etc.)
  • Monedas de baja liquidez con < $10M de volumen diario

correlate_coins

Calcula la correlación de Pearson por pares de los retornos diarios a 30 días entre 2 y 20 monedas. Devuelve la matriz de correlación completa, clústeres de alta correlación (>0.85) y pares no correlacionados (<0.30) — útil para análisis de diversificación de cartera.

market_context

Señales macro de mercado para enmarcar el análisis de monedas individuales. Utiliza datos globales de CoinGecko, oferta de stablecoins de DefiLlama y el Índice de Miedo y Codicia de Alternative.me. Devuelve:

SeñalDescripción
Dominancia de BTC% actual y cambio a 30 días — cayendo = capital rotando hacia alts
Ratio ETH/BTCTendencia a 20 días — subiendo = rally en ampliación
TOTAL3Capitalización de mercado de altcoins (ex-BTC, ex-ETH) cambio a 30 días
Oferta de stablecoinsCapitalización total de stablecoins y tendencia a 30 días (subiendo = más poder de compra)
Miedo y CodiciaÍndice de Alternative.me (0–100) — miedo/codicia extrema aplica modificador ±5 al MRS
ARSPuntaje de Rotación de Altcoins 0–100 — qué tan favorable es el macro para las alts
MRSPuntaje de Preparación del Mercado 0–100 — preparación general del mercado para movimientos alcistas

debate

Claude lee los datos de TA en vivo y genera un debate alcista/bajista estructurado fundamentado en valores reales de indicadores — no en opiniones alucinadas. Devuelve:

  • Caso alcista — lo que dicen los técnicos a favor
  • Caso bajista — lo que podría salir mal
  • Conclusión — síntesis en una frase

Herramientas de lista de seguimiento

Listas de monedas persistentes almacenadas en SQLite (~/.cryptoscholar/watchlist.db).

HerramientaQué hace
watchlist_addAgrega símbolos a una lista con nombre (crea la lista si es necesario)
watchlist_removeElimina símbolos; también borra sus alertas
watchlist_showMuestra todos los símbolos + alertas configuradas para una lista
watchlist_listsLista todas las listas de seguimiento con nombre y conteo de símbolos
watchlist_scanEjecuta un análisis TSS completo en cada moneda de la lista — vista de resumen paralela
alert_setConfigura una alerta de tss_above, tss_below o regime_change en cualquier símbolo
alert_checkObtiene TA en vivo para todos los símbolos con alertas, informa cuáles alertas se activaron, actualiza la línea base

train_regime_model

Activa manualmente un reentrenamiento del modelo HMM de régimen de volatilidad con historial de precios de BTC reciente. El modelo se reentrena automáticamente cada 7 días — usa esto después de un cambio importante en la estructura del mercado para forzar una actualización inmediata. Acepta un flag opcional force=True para omitir el período de espera de 7 días.

generate_report

Genera un informe de análisis estructurado para una o más monedas. Utiliza un pipeline de 3 etapas:

  1. Agrupar — agrupa señales de TA en secciones temáticas (tendencia, momentum, volumen/on-chain, volatilidad, fuerza relativa)
  2. Redactar — Claude escribe un párrafo narrativo para cada sección basado en las señales agrupadas
  3. Ensamblar — combina las secciones en un informe markdown formateado con una tabla de estadísticas clave al inicio

Soporta análisis profundos de una sola moneda e informes comparativos de múltiples monedas (p. ej. ["BTC", "ETH", "SOL"]). Pasa output_format="json" para salida estructurada en lugar de markdown. Hasta 10 símbolos por llamada.

No se requiere clave API para datos de mercado. ANTHROPIC_API_KEY es necesaria para las herramientas debate y generate_report.


Novedades en v0.7.0

  • Herramienta generate_report (herramienta #15) — pipeline de 3 etapas Agrupar → Redactar → Ensamblar que produce un informe markdown formateado para cualquier moneda o lista de monedas. La Etapa 1 agrupa señales de TA en clústeres temáticos; la Etapa 2 usa Claude para escribir secciones narrativas; la Etapa 3 ensambla un informe con una tabla de estadísticas clave.
  • Comparación de múltiples monedas — pasa hasta 10 símbolos y obtén un informe comparativo con resúmenes por moneda, una llamada de configuración más fuerte/débil y un resumen comparativo general.
  • Opción de salida JSON — pasa output_format="json" para obtener el dict completo del informe estructurado en lugar de markdown, útil para procesamiento posterior.
  • Análisis en paralelo — los datos de monedas para informes de múltiples símbolos se obtienen en paralelo (hasta 8 workers) antes de la etapa de redacción de Claude.

Inicio rápido

Requisitos: 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

Agregar a Claude Code

En ~/.claude/.mcp.json:

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

Reinicia Claude Code. Ahora puedes preguntar:

  • "Analiza BTC para mí"
  • "Clasifica ETH, SOL, AVAX y LINK por fuerza de tendencia"
  • "Muéstrame las 50 monedas principales clasificadas por fuerza de tendencia"
  • "¿Cómo se ve el mercado macro en este momento?"
  • "Dame el caso alcista y bajista para DOGE basado en el TA actual"
  • "¿Qué tan correlacionados están BTC, ETH, SOL y AVAX en el último mes?"
  • "Agrega BTC, ETH y SOL a mi lista de seguimiento principal"
  • "Configura una alerta en BTC si TSS cae por debajo de 35"
  • "Revisa mis alertas"
  • "Dame el resumen de mi lista de seguimiento principal"

Capturas de pantalla


Clasificación de BTC, ETH y XRP por Puntaje de Fuerza de Tendencia — luego profundizando en el caso bajista para XRP

rank_coins puntúa cada moneda en tendencia, momentum y fuerza relativa vs BTC y las devuelve ordenadas por TSS. Aquí BTC lidera con 63.7, ETH con 53.0 y XRP queda atrás con 47.8 — todas en régimen low_vol. Preguntar por el caso bajista de XRP inmediatamente después revela las razones técnicas específicas: una pendiente semanal de EMA más pronunciada, MACD debilitándose y un rendimiento inferior de ETH vs BTC señalado como presión temprana de salida institucional.



Instantánea completa de análisis técnico para SOL — indicadores, puntuación y caso bajista en una sola respuesta

analyze_coin devuelve un desglose estructurado que cubre la alineación del stack EMA, RSI, MACD, ADX, ATR, ancho de Bandas de Bollinger, tendencia OBV, tasa de financiación y fuerza relativa vs BTC — todo calculado a partir de 300 días de velas en vivo de Binance. Claude luego lee los valores brutos de los indicadores para generar un caso bajista fundamentado: resistencia EMA-200, pendiente semanal pronunciándose y riesgo de cruce a la baja del MACD. Sin cambiar de gráficos, sin copiar y pegar — el contexto completo de TA ya está en la ventana de Claude.


Ejemplo de salida

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,
  "fear_greed_value": 22,
  "fear_greed_label": "Fear",
  "btc_trend_score": 35.0,
  "ars": 28.5,
  "stablecoin_score": 60.0,
  "fear_greed_modifier": 0.0,
  "mrs": 42.3
}

analyze_coin("SOL")

{
  "symbol": "SOL",
  "data_source": "binance",
  "price": 142.30,
  "tss": 79.2,
  "regime": "mid_vol",
  "regime_source": "hmm",
  "vrs": 55,
  "ema_alignment": "full_bull",
  "mtf_alignment_4h": "bullish",
  "rsi_divergence": "none",
  "obv_trend": "rising",
  "funding_rate": 0.00012,
  "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,
    "rsi_divergence": "none",
    "obv_trend": "rising"
  }
}

correlate_coins(["BTC", "ETH", "SOL", "BNB"])

{
  "symbols": ["BTC", "ETH", "SOL", "BNB"],
  "lookback_days": 30,
  "matrix": {
    "BTC": {"BTC": 1.0, "ETH": 0.91, "SOL": 0.78, "BNB": 0.83},
    "ETH": {"BTC": 0.91, "ETH": 1.0, "SOL": 0.82, "BNB": 0.79},
    "SOL": {"BTC": 0.78, "ETH": 0.82, "SOL": 1.0, "BNB": 0.71},
    "BNB": {"BTC": 0.83, "ETH": 0.79, "SOL": 0.71, "BNB": 1.0}
  },
  "high_correlation_pairs": [
    {"symbol_a": "BTC", "symbol_b": "ETH", "correlation": 0.91}
  ],
  "uncorrelated_pairs": []
}

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. Rising OBV confirms volume is flowing in on up-days.",
  "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. Funding rate at 0.012% hints at building long leverage.",
  "bottom_line": "Technicals are constructive for continuation but volatility is high; position sizing should reflect the risk."
}

Configuración

VariablePredeterminadoDescripción
ANTHROPIC_API_KEY—Requerida para la herramienta debate
CRYPTOSCHOLAR_MODELclaude-haiku-4-5-20251001Modelo Claude usado para debates (cámbialo por Sonnet/Opus para análisis más profundo)
CRYPTOSCHOLAR_LOG_DIR/tmpDirectorio para archivos de registro rotativos
CRYPTOSCHOLAR_DATA_DIR~/.cryptoscholarDirectorio para la base de datos SQLite de listas de seguimiento

Monedas compatibles

CryptoScholar funciona con cualquier moneda listada en CoinGecko o Binance — solo pasa el símbolo del ticker. No se necesita configuración.

Un mapa de símbolos integrado cubre 65 monedas principales para resolución instantánea — el universo completo de las 50 principales por capitalización de mercado, incluyendo BTC, ETH, SOL, BNB, XRP, ADA, AVAX, DOGE, LINK, DOT, SUI, TIA, WIF, BONK y más. Para cualquier cosa fuera de esa lista, CryptoScholar consulta automáticamente la API de búsqueda de CoinGecko para resolver el símbolo y recurre a OHLCV de CoinGecko si la moneda no está disponible en Binance.

En la práctica: si se negocia en algún lugar y tiene un listado en CoinGecko, funcionará.


Arquitectura

Sin estado por diseño — sin base de datos, sin programador. Cada llamada de herramienta obtiene datos frescos.

Claude (MCP call)
    └── server.py              FastMCP entry point
         ├── tools/
         │    ├── analyze.py        Orchestrates fetch → indicators → regime → score
         │    ├── rank.py           Runs analyze_coin in parallel, sorts by TSS
         │    ├── top_coins.py      Fetches top N by market cap, delegates to rank_coins
         │    ├── correlate.py      Pairwise Pearson correlation of 30-day returns
         │    ├── watchlist.py      Watchlist + alert tools (7 tools)
         │    ├── 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 / OBV functions
         │    ├── scoring.py        TSS: trend + momentum + RS ± MTF ± OBV bonuses
         │    ├── regime.py         HMM-first regime classifier with rule-based fallback
         │    └── hmm_regime.py     GaussianHMM train / persist / classify / auto-retrain
         ├── market/
         │    └── context.py        BTC dominance, ETH/BTC, TOTAL3, F&G, ARS, MRS
         └── data/
              ├── binance.py        Binance klines + funding rate (1,200 req/min, no auth)
              ├── coingecko.py      CoinGecko client, 5-min TTL cache, OHLCV builder
              ├── alternative_me.py Fear & Greed Index (Alternative.me, 1-hr cache)
              ├── defillama.py      DefiLlama stablecoin supply history
              └── watchlist_db.py   SQLite watchlist + alert persistence (~/.cryptoscholar/)

Flujo de datos para analyze_coin("SOL"):

  1. Mapear símbolo → ID de CoinGecko (SOL → solana)
  2. Obtener OHLCV diario de 300 días de Binance (velas SOLUSDT); recurrir a CoinGecko si no está disponible
  3. Obtener OHLCV de 200 barras en 4H de Binance para análisis de múltiples marcos temporales
  4. Obtener tasa de financiación del perpetuo USDT-M de Binance Futures (null si no hay perpetuo)
  5. Calcular todos los indicadores diarios vía pandas-ta (EMA, RSI, MACD, ADX, ATR, BB, HV, OBV, RS vs BTC)
  6. Calcular tendencia OBV (EMA-10 de la pendiente OBV en los últimos 5 barras)
  7. Calcular indicadores en 4H (EMA-20/50) y derivar bonificación de alineación MTF (±3 pts TSS)
  8. Detectar divergencia RSI en los últimos 30 barras (alcista/bajista/ninguna)
  9. Clasificar régimen vía GaussianHMM (hv_20 + ATR normalizado + BBW); recurrir a reglas si no hay modelo
  10. Calcular TSS (compuesto ponderado de tendencia, momentum, RS vs BTC ± bonificación MTF ± bonificación OBV)
  11. Obtener datos de mercado actuales (precio, capitalización de mercado, cambio 24h) de CoinGecko
  12. Devolver dict estructurado a Claude

Flujo de datos para market_context():

  1. Obtener historial de capitalización total de mercado (30d) de CoinGecko /global/market_cap_chart
  2. Obtener historial de gráficos de mercado de BTC y ETH (30d) de CoinGecko
  3. Obtener historial de oferta de stablecoins de DefiLlama
  4. Obtener Índice de Miedo y Codicia de Alternative.me (caché de 1 hora)
  5. Calcular tendencia de dominancia de BTC, tendencia del ratio ETH/BTC, cambio de TOTAL3
  6. Puntuar en ARS (rotación de altcoins) y MRS (preparación del mercado + modificador F&G)

Desarrollo

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

222 pruebas, 0 fallos.


Hoja de ruta

Consulta ROADMAP.md para las versiones planificadas. Destacados:

  • v0.8 — research_coin herramienta: búsqueda web + lector Jina para noticias y contexto narrativo
  • v0.9 — Clasificación de estructura de mercado (HH/HL/LH/LL) mediante detección de puntos de giro; nuevo campo market_structure en analyze_coin
  • v1.0 — Zonas de soporte y resistencia agrupadas a partir de pivotes de giro; support_zones + resistance_zones en analyze_coin
  • v1.1 — Puntuación de confluencia de configuración (1–5) que mide la alineación de señales; aparece en analyze_coin, rank_coins, watchlist_scan
  • v1.2 — Bloque de plan de trading: entry_zone, take_profit, stop_loss, risk_reward_ratio calculados a partir de zonas S/R + ATR
  • v1.3 — Indicador Pi Cycle en market_context; herramienta brief: resumen de configuración de un párrafo de Claude Haiku
  • v1.4 — Filtro EV: ev_score + ev_signal marcan configuraciones de EV negativo antes de actuar sobre un plan de trading
  • v1.5 — Herramienta backtest_strategy: simulación walk-forward, R ajustado por comisiones, tasa de aciertos, drawdown máximo

Licencia

MIT