CoinStats
Accede a datos del mercado de criptomonedas, seguimiento de carteras y noticias desde la API de CoinStats.
Documentación
Servidor MCP de CoinStats
Servidor Model Context Protocol alojado para la API de CoinStats. Permite que agentes de IA (Claude, Cursor, Codex, ChatGPT — cualquier cosa que hable MCP) lean y actúen sobre los mismos datos cripto que usan las aplicaciones de CoinStats, a través de una única URL HTTPS protegida por OAuth.
No hay clave API que copiar ni variable de entorno que gestionar: cada usuario autoriza al agente contra su propia cuenta de CoinStats en el navegador, y el agente obtiene un token por usuario a partir de entonces.
URL del servidor
https://mcp.coinstats.app/mcp
Instalación
Claude.ai / Claude Desktop
Configuración → Conectores → Añadir conector personalizado. Pega la URL del servidor y haz clic en Añadir:
https://mcp.coinstats.app/mcp
Se abre una ventana del navegador en coinstats.app/openapi/consent. Inicia sesión (o reconoce tu sesión existente), revisa el acceso solicitado y haz clic en Aprobar.
Cursor
O añádelo a ~/.cursor/mcp.json manualmente:
{
"mcpServers": {
"coinstats": {
"url": "https://mcp.coinstats.app/mcp"
}
}
}
Reinicia Cursor; en la primera llamada abrirá una ventana del navegador para el flujo OAuth.
Claude Code
claude mcp add coinstats --transport http https://mcp.coinstats.app/mcp
Claude Code abre un navegador para autorizar. Verifica con:
claude mcp list
Codex
codex mcp add solo registra la URL; no abre un navegador. Ejecuta codex mcp login por separado:
codex mcp add coinstats --url https://mcp.coinstats.app/mcp
codex mcp login coinstats
Después del paso de inicio de sesión, codex mcp list debería mostrar Auth: OAuth para coinstats.
Otros clientes MCP
Cualquier cliente que hable el transporte Streamable HTTP con autorización OAuth 2.1 funcionará. Apúntalo a https://mcp.coinstats.app/mcp — se admite el Registro Dinámico de Clientes (RFC 7591), por lo que no se necesita ningún client_id precompartido.
Lo que puedes hacer
Después de autorizar, tu agente puede:
- Consultar precios en tiempo real, gráficos y datos de mercado de más de 100 000 monedas
- Leer las monedas de tu cartera de CoinStats, P/L y rendimiento a lo largo del tiempo
- Consultar saldos de carteras y transacciones en más de 120 blockchains
- Recuperar P/L histórico ajustado por flujo de caja para carteras, exchanges y portafolios en rangos de calendario predefinidos o personalizados
- Comparar precios de tickers en más de 200 exchanges
- Obtener noticias cripto (últimas, tendencias, filtradas por fuente o tema)
Catálogo completo de herramientas: https://coinstats.app/api-docs/mcp/tools.
Autenticación
El flujo de descubrimiento + OAuth sigue el patrón estándar de MCP / RFC:
| Endpoint | Especificación | Propósito |
|---|---|---|
GET /.well-known/oauth-protected-resource | RFC 9728 | Apunta al servidor de autorización (https://api.coin-stats.com) |
GET /.well-known/oauth-authorization-server | RFC 8414 | Metadatos del AS (también reflejados en el host MCP para que clientes antiguos puedan encontrarlos sin la indirección) |
POST /v1/oauth/register (en AS) | RFC 7591 | Registro Dinámico de Clientes |
GET /v1/oauth/authorize → interfaz de consentimiento | OAuth 2.1 §4.1 | El usuario aprueba el acceso |
POST /v1/oauth/token (en AS) | OAuth 2.1 §4.1 | Intercambio de código PKCE |
POST /v1/oauth/revoke (en AS) | RFC 7009 | Desconexión por cliente |
Transporte de tokens: Authorization: Bearer <token>. Un único alcance coinstats hoy; los alcances granulares están en la hoja de ruta.
Autoalojamiento / alternativa stdio (modo desarrollador)
Si quieres ejecutar el servidor MCP tú mismo (sin OAuth por usuario, solo con una clave API de desarrollador), el punto de entrada stdio heredado está publicado en npm:
npx @coinstats/coinstats-mcp
con COINSTATS_API_KEY configurado en el entorno. Conéctalo a un cliente así:
{
"mcpServers": {
"coinstats": {
"command": "npx",
"args": ["-y", "@coinstats/coinstats-mcp"],
"env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
}
}
}
O mediante Docker:
{
"mcpServers": {
"coinstats": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "COINSTATS_API_KEY", "coinstats/coinstats-mcp"],
"env": { "COINSTATS_API_KEY": "<YOUR_API_KEY>" }
}
}
}
Esta vía es la opción correcta para integraciones headless / desatendidas donde no hay un humano que haga clic en "Aprobar". Obtén una clave desde el Panel de la API de CoinStats.
Arquitectura
El servidor alojado es un Cloudflare Worker sin estado (~225 KiB / ~41 KiB comprimido) que:
- Expone los endpoints de descubrimiento RFC 9728 + RFC 8414.
- Protege
POST /mcpcon un tokenAuthorization: Bearer …. - Despacha JSON-RPC de MCP (
initialize/tools/list/tools/call/ping) sin estado de sesión. - Reenvía cada llamada de herramienta a
https://openapiv1.coinstats.appllevando el mismo bearer.
Código fuente: src/worker.ts. Configuración: wrangler.jsonc.
Desarrollo local
El repositorio incluye dos puntos de entrada:
src/worker.ts— Cloudflare Worker. Ejecuta conwrangler dev(puerto 8787 por defecto).src/index.ts— servidor stdio. Ejecuta connode dist/index.jsdespués de compilar, o mediante el paquete npm publicado.
# Build the stdio CLI
npm run build
# Run the Worker locally (requires `wrangler login` first)
npm run dev
# Deploy the Worker — needs CLOUDFLARE_ACCOUNT_ID exported in the env
# (the account ID isn't committed to wrangler.jsonc; pull it from the
# Cloudflare dashboard sidebar or the CI deploy job's secrets).
export CLOUDFLARE_ACCOUNT_ID=<your-cf-account-id>
npm run deploy
# Tail production logs
npm run tail
Para el desarrollo local del Worker puedes sobrescribir variables de entorno:
wrangler dev --var OAUTH_ISSUER:http://localhost:1337 \
--var COINSTATS_API_BASE_URL:http://localhost:9999
Relacionados
- Documentación de la API de CoinStats — superficie REST completa, guía de configuración de MCP, catálogo de herramientas
- Panel de la API — para usuarios del modo stdio que gestionan su clave API de desarrollador
Licencia
MIT — consulta LICENSE.