66 lines
3.7 KiB
Markdown
66 lines
3.7 KiB
Markdown
# Что такое Crank
|
|
|
|
Crank - это свободная платформа для создания MCP-инструментов из REST API endpoint-ов.
|
|
|
|
Обычный REST API удобен для программ, но не всегда удобен для AI-агента. Агенту нужен понятный каталог инструментов: название, описание, входные параметры, ожидаемый результат и стабильный способ вызова. Crank берет существующий REST endpoint и описывает его как MCP-инструмент.
|
|
|
|
## Что можно сделать
|
|
|
|
- Описать REST endpoint через веб-интерфейс.
|
|
- Проверить запрос перед публикацией.
|
|
- Опубликовать инструмент в каталоге конкретного агента.
|
|
- Выдать API-ключ для MCP-клиента.
|
|
- Смотреть журнал вызовов и статистику использования.
|
|
- Хранить секреты для внешних API без отображения значения после сохранения.
|
|
|
|
## Как это работает
|
|
|
|
```text
|
|
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`](./capability-inventory.json). Только
|
|
`implemented` означает доступную возможность; `planned`, `gap` и `blocked` не
|
|
считаются готовностью. Resources, Prompts, фоновые Tasks и Load Runs пока
|
|
являются planned target, а не возможностями текущей версии.
|
|
|
|
Фактический brownfield baseline закреплён в
|
|
[`docs/capability-baseline/manifest.json`](./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`](./migrations.md).
|
|
|
|
## Демо при первом запуске
|
|
|
|
В примерах окружения включен `CRANK_DEMO_SEED=true`. После первого запуска Crank создает:
|
|
|
|
- upstream `Frankfurter`;
|
|
- операцию `frankfurter_latest_rate`;
|
|
- агента `currency-rates`;
|
|
- API-ключ агента;
|
|
- пример записи в журнале вызовов.
|
|
|
|
Демо можно отключить, указав `CRANK_DEMO_SEED=false`.
|