Bitculator

Журнал изменений

Журнал изменений MCP-сервера

Каждое изменение MCP-сервера на /mcp - инструменты, входные параметры, результаты, ключи и лимиты, сначала новые. Что считается несовместимым изменением, изложено в его политиках.

  1. Изменено

    401 больше не предлагает OAuth

    Ответ 401 от /mcp теперь содержит WWW-Authenticate: ApiKey realm="mcp" вместо Bearer realm="mcp", error="invalid_token", из-за которого некоторые клиенты начинали искать OAuth-сервер. Ключи по-прежнему принимаются как Authorization: Bearer или X-API-Key.

  2. Добавлено

    Структурированные результаты и схемы вывода

    Успешные вызовы инструментов возвращают structuredContent рядом с неизменённым JSON-текстом, а tools/list публикует outputSchema для каждого инструмента, ответ которого описан в контракте OpenAPI. Ошибки остаются простым текстом isError.

  3. Исправлено

    Все 19 инструментов на одной странице tools/list

    tools/list возвращал по 15 инструментов на страницу с nextCursor, поэтому клиенты, игнорирующие курсор, никогда не видели get_coin_markets, get_coin_technicals, get_liquidations_summary и calculate_dca. Теперь все 19 инструментов приходят на одной странице.

  4. Исправлено

    Инструменты бирж снова отвечают

    get_exchange и get_exchange_trust_score с момента запуска возвращали внутреннюю ошибку для каждой биржи. Теперь оба отвечают; входные параметры и поля результата не изменились.

  5. Исправлено

    Отключённые инструменты снова сообщают об этом

    С 6 сентября отключённый инструмент отвечал server_error (HTTP 500). Теперь он снова возвращает endpoint_unavailable (HTTP 503): This endpoint is temporarily unavailable.

  6. Исправлено

    Исправлен days в get_altseason_index

    Для days были объявлены значение по умолчанию и минимум 0, но 0 всегда отклонялся. Теперь допустимы значения 1-365 без значения по умолчанию; чтобы получить текущее значение, не передавайте параметр. Описание get_global_history теперь указывает форму точки ({time, marketcap} или {time, volume}).

  7. Добавлено

    Статическая карточка сервера

    Новый /.well-known/mcp/server-card.json без аутентификации, с serverInfo и полными определениями инструментов, кешируемый на час, - для реестров, которые не могут сканировать сервер, требующий ключа. Его и /.well-known/mcp.json теперь можно читать с других источников (cross-origin).

  8. Добавлено

    Ключи принимаются в заголовке X-API-Key

    /mcp теперь также принимает MCP-ключ как X-API-Key: YOUR_API_KEY - для клиентов и шлюзов, которые резервируют Authorization для собственного входа. Если этот заголовок отправлен, проверяется только ключ из него, а вставленный префикс Bearer допускается.

  9. Изменено

    Неудачная аутентификация ограничивается по ключу

    Раньше неудачная аутентификация ограничивалась 30 попытками в минуту на IP, после чего каждый ключ за этим IP отклонялся. Теперь один ключ может ошибиться 30 раз в минуту с одного IP, а один IP - 300 раз, и ключи, успешно прошедшие аутентификацию примерно за последние 15 минут, не блокируются лимитом по IP.

  10. Изменено

    Индекс Fear & Greed (0-100) в результатах

    get_fear_greed (основное значение и каждый интервал) и get_global_market (fear_greed) теперь включают index - индекс 0-100, который показывается на Bitculator, - рядом с исходным score, а описания инструментов указывают модели приводить именно index.

  11. Исправлено

    Полностью разводнённая оценка в get_coin

    get_coin возвращал полностью разводнённую оценку 0 для монет без ограниченного максимального предложения. Теперь используется общее предложение, а если неизвестно ни то, ни другое, значение равно null.

  12. Исправлено

    Порядок movers, поиск по символу и доминирование

    get_top_movers теперь ранжирует по самому изменению (раньше фактически по рыночной капитализации), а его losers исключают монеты без движения на уровне 0,00. get_prices с symbols возвращает одну монету на символ - активную с самым высоким рейтингом, а get_global_market сообщает доминирование BTC и ETH как null, а не 0, когда рыночной капитализации нет.

  13. Исправлено

    Инструкции и описания исправлены

    Инструкции initialize теперь говорят, что рыночная капитализация и объёмы - JSON-числа (раньше говорилось, что это десятичные строки), описание sort в list_exchanges указывает реальное значение по умолчанию -volume, а get_exchange_trust_score отмечает, что у биржи без ранга оценка и разбивка равны null.

  14. Добавлено

    Сервер указан в документах обнаружения

    Сервер указан в /apis.json и /.well-known/api-catalog, в /.well-known/mcp.json появились ссылки status и changelog, а /status.json сообщает о компоненте mcp.

  15. Изменено

    Собственные ключи, тарифы и квота

    Несовместимое изменение: /mcp принимает только ключи, созданные в MCP-консоли; ключи Data API и виджетов получают 401. У MCP собственные тарифы Free (2 500 вызовов инструментов в месяц), Starter (50 000) и Pro (250 000) с 2, 5 и 10 слотами для ключей, собственная оплата и собственные ограничения инструментов по тарифам, а каждый аккаунт начинает с Free. Ошибки квоты и тарифа теперь называют MCP-тариф.

  16. Изменено

    Минутный лимит охватывает каждый запрос

    Каждый JSON-RPC-запрос к /mcp - initialize, tools/list, ping и вызовы инструментов - теперь учитывается в минутном лимите тарифа (30, 60 или 120 в минуту), а его превышение возвращает HTTP 429. В месячную квоту засчитываются только вызовы инструментов.

  17. Исправлено

    Ошибки сервера больше не раскрывают внутренние детали

    Серверные ошибки инструментов включали внутреннее сообщение об ошибке. Теперь они выглядят как server_error (HTTP 500): Internal server error.

  18. Исправлено

    Вызовы инструментов не работали в продакшене

    С запуска и до этого исправления каждый вызов инструмента в продакшене возвращал server_error, потому что сервер отклонял собственный внутренний запрос данных как пришедший с недоверенного хоста.

  19. Добавлено

    Запуск MCP-сервера

    /mcp заработал по Streamable HTTP (только POST) с 19 инструментами «только для чтения» для Claude, Cursor, VS Code и любого MCP-клиента - от search_coins и get_coin до calculate_dca, - возвращающими те же данные, что и REST API. Он использовал ключи, тарифы и квоту Data API, где один вызов инструмента считался одним запросом, а описывал его /.well-known/mcp.json.

Будьте в курсе

Об удалении или переименовании инструмента или входного параметра объявляется здесь не менее чем за шесть месяцев - см. политику устаревания. Карточка сервера по адресу /.well-known/mcp.json ссылается на этот журнал изменений.