# Первый инструмент После установки в Crank уже есть демо-пример Frankfurter. Он показывает полный путь от REST endpoint-а до MCP-инструмента. ## 1. Откройте операции Перейдите в раздел **Операции**. В списке должна быть операция: ```text frankfurter_latest_rate ``` Она вызывает публичный API: ```text GET https://api.frankfurter.dev/v1/latest ``` Входные параметры: ```json { "base": "USD", "quote": "EUR" } ``` Crank преобразует их в query-параметры: ```text base=USD&symbols=EUR ``` ## 2. Проверьте операцию Откройте операцию и перейдите к тестированию. Используйте пример: ```json { "base": "USD", "quote": "EUR" } ``` Успешный ответ Frankfurter выглядит так: ```json { "amount": 1.0, "base": "USD", "date": "2026-06-19", "rates": { "EUR": 0.87207 } } ``` ## 3. Откройте агента Перейдите в раздел **Агенты**. Демо создает агента: ```text currency-rates ``` Этот агент публикует только инструмент `frankfurter_latest_rate`. ## 4. Создайте API-ключ Перейдите в раздел **API ключи**, выберите агента `currency-rates` и создайте ключ. Полное значение ключа показывается только один раз. ## 5. Подключите MCP-клиент MCP endpoint агента имеет вид: ```text https://your-crank-host/mcp/v1/default/currency-rates ``` Клиент должен передавать API-ключ агента в заголовке авторизации. Подробные HTTP-примеры для `initialize`, `tools/list` и `tools/call` находятся в [MCP-интерфейсе](./mcp-interface.md) и [практических API-примерах](./api-examples.md).