Shumi AI

Investigación de mercado cripto para agentes de IA: tendencia, financiamiento, sentimiento y régimen mediante CLI.

Documentación

@shumi-ai/mcp

Shumi inteligencia de trading cripto como un servidor MCP — la misma inteligencia de mercado que el CLI de shumi proporciona, para cualquier cliente MCP (Claude Desktop, Claude Code, Cursor, agentes).

Es un envoltorio ligero sobre la API de datos de Shumi: precios, tendencias, tasas de financiación, sentimiento, narrativas, régimen de mercado, señales sintetizadas, ideas de pares / delta-neutral, activos del mundo real, seguimiento de tenedores y carteras, y aspectos destacados de transcripciones. Todas las herramientas son de solo lectura.

Inicio rápido

Necesitas una clave de API de Shumi (shumi_sk_…). Crea una en https://shumi.ai.

Claude Desktop / Claude Code

Añade a tu configuración de MCP (claude_desktop_config.json, o claude mcp add para Claude Code):

{
  "mcpServers": {
    "shumi": {
      "command": "npx",
      "args": ["-y", "@shumi-ai/mcp"],
      "env": {
        "SHUMI_TOKEN": "shumi_sk_your_key_here"
      }
    }
  }
}

Reinicia el cliente. Las herramientas shumi (por ejemplo, get_coin_risk, get_market_health, ask_shumi) aparecen automáticamente.

Cursor

~/.cursor/mcp.json usa la misma forma command / args / env que arriba.

Directorios de plugins

Este repositorio también incluye plugin.json y mcp.json en su raíz, por lo que se instala como un Agent Plugin desde el directorio de Cursor y cualquier otro cliente en ese estándar.

Establece SHUMI_TOKEN en tu entorno antes de iniciar el cliente cuando instales de esta manera. El esquema de Agent Plugins solo acepta valores de entorno literales — no tiene marcador de posición para un secreto — por lo que el manifiesto omite deliberadamente env en lugar de incluir una cadena ${SHUMI_TOKEN} que se pasaría textualmente y fallaría como clave inválida.

Herramientas

Tipadas (deterministas): get_coin_risk, lookup_coin, resolve_coin, get_coin_sentiment, get_coin_historical, get_market_health, get_market_crossing, get_global_market, get_prices, scan_trends, scan_coins, get_market_sentiment, list_narratives, get_narrative, list_categories, get_category, get_funding_momentum, get_funding_alerts, get_regime, get_signal, get_signal_quality, get_pair_suggestions, list_rwa_assets, get_rwa_asset, get_holders, get_wallets, get_futures_signals, get_basket, get_transcripts.

Activos del mundo real (list_rwa_assets, get_rwa_asset) cubren acciones, ETFs, materias primas, índices y trading de FX como perpetuos en los DEX de constructores de Hyperliquid. No son tokens cripto — las herramientas de monedas no los encontrarán.

De forma libre: ask_shumi (preguntas en lenguaje natural — Shumi clasifica, obtiene y sintetiza) y search_web.

Las herramientas que devuelven listas aceptan top (conservar los primeros N elementos) y fields (claves separadas por comas a conservar) para ahorrar tokens.

Recursos: shumi://capabilities (la superficie de datos) y shumi://billing/tier (tu derecho actual).

Configuración

Variable de entornoPredeterminadoPropósito
SHUMI_TOKENClave de API (shumi_sk_*). Requerida.
SHUMI_API_URLendpoint de producción coinrotator-aiAnula la URL base de la API.
SHUMI_WALLETDirección de cartera para incluir en el contexto de consultas NLP.

El control de acceso (niveles gratuito / acceso / pro y pago por llamada) se aplica en el servidor, exactamente como para el CLI — las respuestas fuera de cuota vuelven como un error estructurado con una pista accionable.

Remoto (HTTP Streamable)

Para una implementación alojada y multiusuario, ejecuta el transporte HTTP Streamable (MCP 2025-11-25):

PORT=8787 SHUMI_MCP_ALLOWED_ORIGINS=https://yourapp.com npm run start:http

Cada solicitud se autentica con su propio encabezado Authorization: Bearer shumi_sk_*; ese token se reenvía a la API ascendente por solicitud. Endpoint: POST/GET/DELETE /mcp, salud: GET /health (informa sessions, el recuento de sesiones activas).

El servidor tiene estado — un transporte + servidor por sesión. Las sesiones inactivas se eliminan con un temporizador para que los clientes que initialize pero nunca DELETE (sondas de actividad, comprobaciones de salud de registros) no puedan hacer crecer el heap sin límite. Ajustes (todos opcionales):

VariablePredeterminadoDescripción
SHUMI_MCP_SESSION_TTL_MS600000 (10 min)Tiempo de inactividad antes de cerrar una sesión.
SHUMI_MCP_MAX_SESSIONS500Límite máximo; la sesión menos activa recientemente se expulsa al alcanzar la capacidad.
SHUMI_MCP_SESSION_SWEEP_MS60000 (1 min)Con qué frecuencia se ejecuta el recolector.

Desarrollo

npm install
npm test                # unit tests (no network)
npm run inspect         # open the MCP Inspector against the stdio server
SHUMI_TOKEN=… npm start # run the stdio server

Deliberadamente no expuesto

Dos rutas del CLI no tienen herramienta MCP, ambas a propósito:

  • walkforward — la ruta existe, pero dos de sus tres acciones no tienen nada detrás mientras el Motor B está en pausa: posiciones está vacío y resultados contiene una sola fila del 2026-05-28. Publicarla entregaría a un llamador un array vacío sin razón adjunta. Se incluirá cuando el motor se reanude.
  • watch — eventos enviados por el servidor, que no encajan en la semántica de herramientas MCP.

Todo lo demás en la superficie tipada del CLI tiene una herramienta.