Changelog
Ogni modifica al server MCP su /mcp - strumenti, input, risultati, chiavi e limiti - dalla più recente. Cosa conta come breaking change è descritto nelle sue politiche.
Un 401 da /mcp ora riporta WWW-Authenticate: ApiKey realm="mcp" invece di Bearer realm="mcp", error="invalid_token", che induceva alcuni client a cercare un server OAuth. Le chiavi sono ancora accettate come Authorization: Bearer o X-API-Key.
Le chiamate agli strumenti riuscite restituiscono structuredContent accanto al testo JSON invariato, e tools/list pubblica un outputSchema per ogni strumento la cui risposta è documentata nel contratto OpenAPI. Gli errori restano semplice testo isError.
tools/list restituiva 15 strumenti per pagina con un nextCursor, quindi i client che ignorano il cursore non vedevano mai get_coin_markets, get_coin_technicals, get_liquidations_summary né calculate_dca. Ora tutti i 19 strumenti arrivano in un'unica pagina.
get_exchange e get_exchange_trust_score restituivano un errore interno per ogni exchange fin dal lancio. Ora entrambi rispondono; input e campi del risultato restano invariati.
Dal 6 settembre uno strumento disattivato rispondeva server_error (HTTP 500). Ora restituisce di nuovo endpoint_unavailable (HTTP 503): This endpoint is temporarily unavailable.
days veniva indicato con un valore predefinito e un minimo di 0, ma lo 0 è sempre stato rifiutato. Ora va da 1 a 365 senza valore predefinito; omettilo per ottenere la lettura attuale. La descrizione di get_global_history ora indica la forma dei punti ({time, marketcap} o {time, volume}).
Nuovo /.well-known/mcp/server-card.json non autenticato, con serverInfo e le definizioni complete degli strumenti, in cache per un'ora, per i registri che non possono scansionare un server protetto da chiave. Sia questo file sia /.well-known/mcp.json ora possono essere letti cross-origin.
/mcp ora accetta la chiave MCP anche come X-API-Key: YOUR_API_KEY, per i client e i gateway che riservano Authorization al proprio accesso. Quando viene inviato quell'header, è l'unica chiave verificata, e un prefisso Bearer incollato per errore viene tollerato.
Le autenticazioni fallite erano limitate a 30 tentativi al minuto per IP, dopodiché ogni chiave dietro quell'IP veniva rifiutata. Ora una chiave può fallire 30 volte al minuto da un IP e un IP 300 volte, e le chiavi che si sono autenticate all'incirca negli ultimi 15 minuti non vengono bloccate dal limite per IP.
get_fear_greed (la lettura principale e ogni intervallo) e get_global_market (fear_greed) ora includono index - l'indice da 0 a 100 mostrato su Bitculator - accanto allo score grezzo, e le descrizioni degli strumenti dicono al modello di citare index.
get_coin restituiva una valutazione completamente diluita pari a 0 per le coin senza un'offerta massima limitata. Ora ripiega sull'offerta totale ed è null quando nessuna delle due è nota.
get_top_movers ora ordina in base alla variazione stessa (in precedenza, di fatto, per market cap) e i suoi losers escludono le coin ferme a 0,00. get_prices con symbols restituisce una coin per simbolo, quella attiva con il rank più alto, e get_global_market riporta la dominance di BTC ed ETH come null anziché 0 quando non c'è market cap.
Le istruzioni di initialize ora dicono che market cap e volumi sono numeri JSON (prima parlavano di stringhe decimali), la descrizione di sort di list_exchanges indica il valore predefinito reale -volume, e get_exchange_trust_score segnala che un exchange non classificato ha score e breakdown null.
Il server è elencato in /apis.json e /.well-known/api-catalog, /.well-known/mcp.json ha acquisito i link status e changelog, e /status.json riporta un componente mcp.
Breaking change: /mcp accetta solo chiavi create nella console MCP; le chiavi Data API e widget ricevono 401. MCP ha piani propri Free (2.500 chiamate agli strumenti al mese), Starter (50.000) e Pro (250.000) con 2, 5 e 10 slot per le chiavi, una fatturazione propria e vincoli di piano propri per ciascuno strumento, e ogni account parte da Free. Gli errori di quota e di piano ora nominano il piano MCP.
Ogni richiesta JSON-RPC a /mcp - initialize, tools/list, ping e le chiamate agli strumenti - ora conta sul limite di burst del piano, di 30, 60 o 120 al minuto, e superarlo restituisce HTTP 429. Solo le chiamate agli strumenti contano sulla quota mensile.
Gli errori del server degli strumenti includevano il messaggio di errore interno. Ora riportano server_error (HTTP 500): Internal server error.
Dal lancio fino a questa correzione, ogni chiamata a uno strumento in produzione restituiva server_error, perché il server rifiutava la propria richiesta interna di dati come proveniente da un host non attendibile.
/mcp è andato online su Streamable HTTP (solo POST) con 19 strumenti in sola lettura per Claude, Cursor, VS Code e qualsiasi client MCP, da search_coins e get_coin fino a calculate_dca, che restituivano gli stessi dati della REST API. Usava chiavi, piani e quota della Data API, con ogni chiamata a uno strumento conteggiata come una richiesta, e /.well-known/mcp.json lo descriveva.
La rimozione o la ridenominazione di uno strumento o di un input viene annunciata qui con almeno sei mesi di anticipo - vedi la politica di deprecazione. La server card su /.well-known/mcp.json rimanda a questo changelog.