Jurnal de modificări
Fiecare modificare a serverului MCP de la /mcp - instrumente, parametri de intrare, rezultate, chei și limite - cele mai noi primele. Ce înseamnă o modificare incompatibilă este descris în politicile sale.
Un 401 de la /mcp conține acum WWW-Authenticate: ApiKey realm="mcp" în loc de Bearer realm="mcp", error="invalid_token", care trimitea unii clienți în căutarea unui server OAuth. Cheile sunt acceptate în continuare ca Authorization: Bearer sau X-API-Key.
Apelurile de instrumente reușite returnează structuredContent alături de textul JSON neschimbat, iar tools/list publică un outputSchema pentru fiecare instrument al cărui răspuns este documentat în contractul OpenAPI. Erorile rămân text simplu isError.
tools/list returna 15 instrumente pe pagină, cu un nextCursor, așa că clienții care ignoră cursorul nu vedeau niciodată get_coin_markets, get_coin_technicals, get_liquidations_summary sau calculate_dca. Acum toate cele 19 instrumente vin pe o singură pagină.
get_exchange și get_exchange_trust_score returnau o eroare internă pentru fiecare bursă de la lansare. Acum ambele răspund; parametrii de intrare și câmpurile rezultatelor rămân neschimbate.
Din 6 septembrie, un instrument dezactivat răspundea cu server_error (HTTP 500). Acum returnează din nou endpoint_unavailable (HTTP 503): This endpoint is temporarily unavailable.
days era anunțat cu o valoare implicită și o valoare minimă de 0, dar 0 a fost întotdeauna respins. Acum este 1-365, fără valoare implicită; omiteți-l pentru citirea actuală. Descrierea get_global_history indică acum forma punctelor ({time, marketcap} sau {time, volume}).
Nou: /.well-known/mcp/server-card.json, fără autentificare, cu serverInfo și definițiile complete ale instrumentelor, păstrat în cache timp de o oră, pentru registrele care nu pot scana un server protejat prin cheie. Acesta și /.well-known/mcp.json pot fi acum citite cross-origin.
/mcp acceptă acum cheia MCP și ca X-API-Key: YOUR_API_KEY, pentru clienții și gateway-urile care rezervă Authorization pentru propria autentificare. Când acest antet este trimis, cheia din el este singura verificată, iar un prefix Bearer lipit odată cu ea este tolerat.
Autentificările eșuate erau plafonate la 30 de încercări pe minut per IP, după care fiecare cheie din spatele acelui IP era refuzată. Acum o cheie poate eșua de 30 de ori pe minut de pe un IP, iar un IP de 300 de ori, iar cheile care s-au autentificat în aproximativ ultimele 15 minute nu sunt blocate de plafonul per IP.
get_fear_greed (citirea principală și fiecare interval) și get_global_market (fear_greed) includ acum index - indicele 0-100 afișat pe Bitculator - lângă valoarea brută score, iar descrierile instrumentelor îi cer modelului să citeze index.
get_coin returna o evaluare complet diluată de 0 pentru monedele fără o ofertă maximă plafonată. Acum folosește ca rezervă oferta totală și este null când niciuna nu este cunoscută.
get_top_movers clasează acum după variația în sine (anterior, în fapt, după capitalizarea de piață), iar lista scăderilor exclude monedele stagnante la 0,00. get_prices cu symbols returnează o singură monedă per simbol, cea mai bine clasată monedă activă, iar get_global_market raportează dominanța BTC și ETH ca null, nu 0, când nu există capitalizare de piață.
Instrucțiunile initialize spun acum că valorile capitalizării de piață și volumele sunt numere JSON (spuneau șiruri zecimale), descrierea sort pentru list_exchanges indică valoarea implicită reală -volume, iar get_exchange_trust_score menționează că o bursă neclasificată are scorul și defalcarea null.
Serverul este listat în /apis.json și /.well-known/api-catalog, /.well-known/mcp.json a primit linkurile status și changelog, iar /status.json raportează o componentă mcp.
Modificare incompatibilă: /mcp acceptă doar cheile create în consola MCP; cheile pentru API-ul de date și cele pentru widget-uri primesc 401. MCP are propriile abonamente Gratuit (2.500 de apeluri de instrumente pe lună), Starter (50.000) și Pro (250.000), cu 2, 5 și 10 sloturi de chei, propria facturare și propriile restricții de abonament per instrument, iar fiecare cont începe pe Gratuit. Erorile de cotă și de abonament numesc acum abonamentul MCP.
Fiecare cerere JSON-RPC către /mcp - initialize, tools/list, ping și apelurile de instrumente - se numără acum în limita de vârf a abonamentului, de 30, 60 sau 120 pe minut, iar depășirea ei returnează HTTP 429. Doar apelurile de instrumente se numără în cota lunară.
Erorile de server ale instrumentelor includeau mesajul de eroare intern. Acum sunt de forma server_error (HTTP 500): Internal server error.
De la lansare și până la această corectură, fiecare apel de instrument din producție returna server_error, deoarece serverul respingea propria cerere internă de date, considerând-o venită de la o gazdă nesigură.
/mcp a intrat în funcțiune peste Streamable HTTP (doar POST), cu 19 instrumente doar pentru citire pentru Claude, Cursor, VS Code și orice client MCP, de la search_coins și get_coin până la calculate_dca, care returnează aceleași date ca API-ul REST. Folosea cheile, abonamentele și cota API-ului de date, fiecare apel de instrument contând ca o cerere, iar /.well-known/mcp.json îl descria.
Eliminarea sau redenumirea unui instrument ori a unui parametru de intrare este anunțată aici cu cel puțin șase luni înainte - vedeți politica de retragere din uz. Cardul serverului de la /.well-known/mcp.json trimite către acest jurnal de modificări.