Registro de cambios
Todos los cambios del servidor MCP en /mcp - herramientas, entradas, resultados, claves y límites - primero los más recientes. Qué cuenta como cambio incompatible se explica en sus políticas.
Un 401 de /mcp ahora lleva WWW-Authenticate: ApiKey realm="mcp" en lugar de Bearer realm="mcp", error="invalid_token", que hacía que algunos clientes buscaran un servidor OAuth. Las claves se siguen aceptando como Authorization: Bearer o X-API-Key.
Las llamadas a herramientas correctas devuelven structuredContent junto al texto JSON, que no cambia, y tools/list publica un outputSchema para cada herramienta cuya respuesta está documentada en el contrato OpenAPI. Los errores siguen siendo texto isError simple.
tools/list devolvía 15 herramientas por página con un nextCursor, así que los clientes que ignoran el cursor nunca veían get_coin_markets, get_coin_technicals, get_liquidations_summary ni calculate_dca. Ahora las 19 herramientas llegan en una sola página.
get_exchange y get_exchange_trust_score devolvían un error interno para cada exchange desde el lanzamiento. Ahora ambas responden; las entradas y los campos del resultado no cambian.
Desde el 6 de septiembre, una herramienta desactivada respondía server_error (HTTP 500). Ahora vuelve a devolver endpoint_unavailable (HTTP 503): This endpoint is temporarily unavailable.
days se anunciaba con un valor predeterminado y un mínimo de 0, pero el 0 siempre se rechazaba. Ahora va de 1 a 365 sin valor predeterminado; omítelo para obtener la lectura actual. La descripción de get_global_history indica ahora la forma de los puntos ({time, marketcap} o {time, volume}).
Nuevo /.well-known/mcp/server-card.json sin autenticación, con serverInfo y las definiciones completas de las herramientas, en caché durante una hora, para los directorios que no pueden escanear un servidor protegido con clave. Tanto este archivo como /.well-known/mcp.json ahora pueden leerse desde otros orígenes.
/mcp ahora también acepta la clave MCP como X-API-Key: YOUR_API_KEY, para clientes y pasarelas que reservan Authorization para su propio inicio de sesión. Cuando se envía esa cabecera, es la única clave que se comprueba, y se tolera un prefijo Bearer pegado por error.
Los intentos de autenticación fallidos estaban limitados a 30 por minuto por IP, y a partir de ahí se rechazaban todas las claves detrás de esa IP. Ahora una clave puede fallar 30 veces por minuto desde una IP y una IP 300 veces, y las claves que se autenticaron aproximadamente en los últimos 15 minutos no quedan bloqueadas por el límite por IP.
get_fear_greed (la lectura principal y cada intervalo) y get_global_market (fear_greed) incluyen ahora index - el índice de 0 a 100 que se muestra en Bitculator - junto al score bruto, y las descripciones de las herramientas indican al modelo que cite index.
get_coin devolvía una valoración totalmente diluida de 0 para las monedas sin un suministro máximo limitado. Ahora recurre al suministro total y es null cuando no se conoce ninguno de los dos.
get_top_movers ahora ordena por la propia variación (antes, en la práctica, por capitalización de mercado) y sus losers excluyen las monedas planas en 0,00. get_prices con symbols devuelve una moneda por símbolo, la activa mejor clasificada, y get_global_market informa la dominancia de BTC y ETH como null en lugar de 0 cuando no hay capitalización de mercado.
Las instrucciones de initialize ahora dicen que las capitalizaciones y los volúmenes son números JSON (antes decían cadenas decimales), la descripción de sort de list_exchanges da el valor predeterminado real -volume, y get_exchange_trust_score indica que un exchange sin ranking tiene un score y un desglose null.
El servidor aparece en /apis.json y /.well-known/api-catalog, /.well-known/mcp.json incorporó los enlaces status y changelog, y /status.json informa de un componente mcp.
Cambio incompatible: /mcp solo acepta claves creadas en la consola MCP; las claves de la Data API y de widget reciben 401. MCP tiene sus propios planes Free (2.500 llamadas a herramientas al mes), Starter (50.000) y Pro (250.000) con 2, 5 y 10 plazas de claves, su propia facturación y sus propias restricciones de plan por herramienta, y todas las cuentas empiezan en Free. Los errores de cuota y de plan ahora nombran el plan MCP.
Cada petición JSON-RPC a /mcp - initialize, tools/list, ping y las llamadas a herramientas - cuenta ahora para el límite de ráfaga del plan, de 30, 60 o 120 por minuto, y superarlo devuelve HTTP 429. Solo las llamadas a herramientas cuentan para la cuota mensual.
Los errores del servidor de las herramientas incluían el mensaje de error interno. Ahora dicen server_error (HTTP 500): Internal server error.
Desde el lanzamiento hasta esta corrección, cada llamada a herramienta en producción devolvía server_error, porque el servidor rechazaba su propia petición interna de datos como si viniera de un host no fiable.
/mcp entró en producción sobre Streamable HTTP (solo POST) con 19 herramientas de solo lectura para Claude, Cursor, VS Code y cualquier cliente MCP, desde search_coins y get_coin hasta calculate_dca, que devolvían los mismos datos que la API REST. Usaba las claves, los planes y la cuota de la Data API, con cada llamada a herramienta contando como una petición, y /.well-known/mcp.json lo describía.
La eliminación o el cambio de nombre de una herramienta o de una entrada se anuncia aquí con al menos seis meses de antelación - consulta la política de obsolescencia. La tarjeta de servidor en /.well-known/mcp.json enlaza a este registro de cambios.