3.7 KiB
Что такое Crank
Crank - это свободная платформа для создания MCP-инструментов из REST API endpoint-ов.
Обычный REST API удобен для программ, но не всегда удобен для AI-агента. Агенту нужен понятный каталог инструментов: название, описание, входные параметры, ожидаемый результат и стабильный способ вызова. Crank берет существующий REST endpoint и описывает его как MCP-инструмент.
Что можно сделать
- Описать REST endpoint через веб-интерфейс.
- Проверить запрос перед публикацией.
- Опубликовать инструмент в каталоге конкретного агента.
- Выдать API-ключ для MCP-клиента.
- Смотреть журнал вызовов и статистику использования.
- Хранить секреты для внешних API без отображения значения после сохранения.
Как это работает
MCP-клиент
-> Crank MCP server
-> опубликованный агент
-> выбранный MCP-инструмент
-> REST API
В Crank агент - это отдельный MCP endpoint со своим набором инструментов и своими API-ключами. MCP-клиент, подключенный к одному агенту, видит только инструменты этого агента.
Что входит в Community
- один workspace;
- один пользователь администратора;
- любое количество агентов;
- REST-инструменты;
- MCP Streamable HTTP;
- статические API-ключи агентов;
- PostgreSQL как основное хранилище;
- опциональный Valkey или Redis для служебного кэша.
Исполняемая граница Community описана в
docs/capability-inventory.json. Только
implemented означает доступную возможность; planned, gap и blocked не
считаются готовностью. Resources, Prompts, фоновые Tasks и Load Runs пока
являются planned target, а не возможностями текущей версии.
Фактический brownfield baseline закреплён в
docs/capability-baseline/manifest.json.
Manifest проверяет SHA-256 inventory, required surfaces, taxonomy, bounded
manual checklist и sanitized results. Flaky, skipped, not-run и manual-only
evidence не считаются полным pass; дефекты остаются связаны с flow и owner.
PostgreSQL schema изменяет только controlled one-shot команда. Admin API и MCP
при startup выполняют read-only compatibility check; операторский порядок и
failure contract описаны в docs/migrations.md.
Демо при первом запуске
В примерах окружения включен CRANK_DEMO_SEED=true. После первого запуска Crank создает:
- upstream
Frankfurter; - операцию
frankfurter_latest_rate; - агента
currency-rates; - API-ключ агента;
- пример записи в журнале вызовов.
Демо можно отключить, указав CRANK_DEMO_SEED=false.