# Что такое 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 для служебного кэша.

## Демо при первом запуске

В примерах окружения включен `CRANK_DEMO_SEED=true`. После первого запуска Crank создает:

- upstream `Frankfurter`;
- операцию `frankfurter_latest_rate`;
- агента `currency-rates`;
- API-ключ агента;
- пример записи в журнале вызовов.

Демо можно отключить, указав `CRANK_DEMO_SEED=false`.

