kurslog.com →

Справочник инструментов

Эта страница документирует пять MCP-инструментов коннектора Kurslog. Все инструменты только для чтения (readOnlyHint: true). Ответы — JSON, хорошо укладываются в лимит MCP 25 000 токенов.

Общие аргументы

АргументТипОписание
locale"uk" | "ru" | "en"Язык ответа. По умолчанию uk.
from_currencyстрока ≤ 40 симв.Slug исходной валюты (напр. usdt-trc20).
to_currencyстрока ≤ 40 симв.Slug целевой валюты (напр. monobank-uah, cash-uah).
cityстрока ≤ 50 симв.Опциональный slug города (напр. kyiv) для наличных направлений.

list_currencies

Назначение: получить валютные коды для других инструментов.

Cache TTL: 3600 с.

Аргументы:

{
  "locale": "ru",
  "only_with_rates": true,    // по умолч. true
  "limit": 200                // 1..300, по умолч. 200
}

Пример ответа (сокращено):

{
  "count": 200,
  "locale": "ru",
  "currencies": [
    {"code": "usdt-trc20", "name": "USDT TRC20", "asset": "USDT",
     "popularity": 1, "tags": ["USDT"], "has_rates": true},
    {"code": "bitcoin", "name": "Bitcoin", "asset": "BTC",
     "popularity": 2, "tags": ["Crypto"], "has_rates": true}
  ]
}

find_best_rate

Назначение: топ-3 лучших предложений для пары, опционально с городом.

Cache TTL: 60 с.

Аргументы:

{
  "from_currency": "usdt-trc20",
  "to_currency": "cash-uah",
  "city": "kyiv",          // опц.
  "locale": "ru"
}

Пример ответа:

{
  "direction": {"from": "usdt-trc20", "to": "cash-uah", "city": "kyiv"},
  "best_offers": [
    {
      "exchanger_name": "Dvizh",
      "exchanger_slug": "dvizh",
      "exchanger_rating": 5.0,
      "trust_status": "Diamond",
      "rate_in": 1,
      "rate_out": 44.13,
      "reserves": 170916400.39,
      "min_amount": 566.45,
      "max_amount": 2000000,
      "kurslog_link": "https://kurslog.com/usdt-trc20-to-cash-uah-in-kyiv"
    }
    // ... до 3 элементов
  ],
  "disclaimer": "Rates may be stale up to 5 minutes..."
}

Пустой результат: если нет обменников (неверная пара, несуществующий город) — возвращается структурированный success с results: [] и поясняющим message, а не исключение.

compare_exchangers

Назначение: расширенный список (до 20) с trust score, резервами, ссылками на профиль.

Cache TTL: 60 с.

Аргументы:

{
  "from_currency": "bitcoin",
  "to_currency": "monobank-uah",
  "limit": 10,             // 1..20, по умолч. 10
  "city": null,            // опц.
  "locale": "ru"
}

Тот же формат ответа, что и у find_best_rate, но массив exchangers до limit элементов, каждый обогащён trust_score (число) и profile_link.

get_exchanger_profile

Назначение: профиль одного обменника — trust, контакты, дата основания.

Cache TTL: 600 с.

Аргументы:

{
  "exchanger_slug": "digichanger",
  "locale": "ru"
}

Пример ответа:

{
  "name": "Digichanger",
  "slug": "digichanger",
  "status": "active",
  "founding_date": "2023-05-19",
  "website": "https://www.digichanger.pro",
  "trust": {
    "label": "Diamond",
    "name": "diamond",
    "explanation": "Отзывы: 3338 в 4 мониторингах. На рынке: 3 года.",
    "domain_age_years": 3.01
  },
  "kurslog_profile": "https://kurslog.com/exchanger/digichanger"
}

find_cities_for_direction

Назначение: украинские (и соседние) города, где наличное направление сейчас активно.

Cache TTL: 3600 с.

Аргументы:

{
  "from_currency": "usdt-trc20",
  "to_currency": "cash-eur",
  "limit": 15,             // 1..30, по умолч. 15
  "locale": "ru"
}

Пример ответа (сокращено):

{
  "direction": {"from": "usdt-trc20", "to": "cash-eur"},
  "count": 15,
  "cities": [
    {"city": "Киев", "slug": "kyiv", "exchanger_count": 16,
     "best_rate": 0.0234, "kurslog_link": "https://kurslog.com/usdt-trc20-to-cash-eur-in-kyiv"}
    // ...
  ]
}

Обработка ошибок

Каждый инструмент следует конвенции MCP. Неудачные запросы или неизвестные slug-и не поднимают MCP isError: true. Вместо этого возвращается структурированный пустой результат с полем message на человеческом языке. Это позволяет Claude дать полезный ответ вместо stack trace.

Rate limits

На уровне nginx действует лимит 60 req/min/IP. Вместе с per-tool кешированием при обычном использовании Claude вы никогда в него не упрётесь. Если всё же упрётесь — получите 429 от HTTP-слоя.