buda-mcp
buda-mcp
MCP-сервер для Buda.com — ведущей криптовалютной биржи в Чили, Колумбии и Перу. Предоставляет любому MCP-совместимому ИИ-ассистенту доступ в реальном времени к рыночным данным, биржевым стаканам, истории торгов, спредам, техническим индикаторам и симуляции цен — учетная запись или API-ключ не требуются.
Быстрый старт
npx @guiie/buda-mcpИли установите постоянно:
npm install -g @guiie/buda-mcp
buda-mcpУстановка в ваш MCP-клиент
Claude Code
claude mcp add buda-mcp -- npx -y @guiie/buda-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"buda-mcp": {
"command": "npx",
"args": ["-y", "@guiie/buda-mcp"]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"buda-mcp": {
"command": "npx",
"args": ["-y", "@guiie/buda-mcp"]
}
}
}Инструменты
Все инструменты общедоступны — API-ключ или учетная запись не требуются.
get_market_summary ⭐ Начните отсюда
Сводка по одному запросу: последняя цена, bid/ask, спред в %, объем за 24 часа, изменение цены и liquidity_rating (high / medium / low). Лучший инструмент для начала, когда пользователь спрашивает о конкретном рынке.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка (например, |
get_markets
Список всех торговых пар на Buda.com или получение подробной информации по конкретному рынку (комиссии, минимальный размер ордера, уровни скидок).
Параметр | Тип | Обязателен | Описание |
| string | Нет | ID рынка (например, |
get_ticker
Текущий снимок: последняя цена, лучший bid/ask, объем за 24 часа и изменение цены за 24 часа и 7 дней.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка (например, |
get_orderbook
Текущий биржевой стакан: отсортированные заявки на покупку и продажу в виде объектов {price, amount}.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
| number | Нет | Макс. количество уровней цен на сторону (по умолчанию: все). |
get_trades
История недавних сделок в виде типизированных объектов: {timestamp_ms, amount, price, direction}.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
| number | Нет | Количество сделок (по умолчанию 50, макс. 100). |
| number | Нет | Unix-время в секундах — возвращает сделки старше этого значения (пагинация). |
get_market_volume
Объем торгов за 24 часа и 7 дней по сторонам (bid = покупки, ask = продажи).
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
get_spread
Спред bid/ask: абсолютное значение и процент от цены ask.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
compare_markets
Сравнение данных тикера для всех пар с заданной базовой валютой по всем котируемым валютам.
Параметр | Тип | Обязателен | Описание |
| string | Да | Базовая валюта (например, |
get_price_history
Свечи OHLCV, агрегированные из истории сделок (у Buda нет встроенного эндпоинта для свечей). Поддерживаются периоды 5m, 15m, 30m, 1h, 4h, 1d.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
| string | Нет |
|
| number | Нет | Количество сделок для выборки перед агрегацией (по умолчанию 100, макс. 1000). |
get_arbitrage_opportunities
Обнаруживает расхождения цен между странами для актива на рынках CLP, COP и PEN, нормализованных к USDC.
Параметр | Тип | Обязателен | Описание |
| string | Да | например, |
| number | Нет | Минимальное расхождение для отчета (по умолчанию 0.5). |
simulate_order
Симулирует ордер на покупку или продажу, используя актуальные данные тикера — ордер не размещается. Возвращает estimated_fill_price, fee_amount, total_cost, slippage_vs_mid_pct. Все ответы включают simulation: true.
Параметр | Тип | Обязателен | Описание | |
| string | Да | ID рынка. | |
|
|
| Да | Сторона ордера. |
| number | Да | Размер ордера в базовой валюте. | |
| number | Нет | Пропустите для симуляции рыночного ордера. |
calculate_position_size
Расчет размера позиции по методу Келли на основе капитала, % риска, цены входа и стоп-лосса. Полностью на стороне клиента — без вызова API.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка (для контекста). |
| number | Да | Общий капитал для расчета. |
| number | Да | % капитала для риска (0.1–10). |
| number | Да | Цена входа. |
| number | Да | Цена стоп-лосса. |
get_market_sentiment
Составной показатель настроений (от -100 до +100) из трех компонентов: изменение цены за 24 часа (40%), объем относительно среднего за 7 дней (35%), спред относительно базового уровня рынка (25%). Возвращает score, label, component_breakdown и disclaimer.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
get_technical_indicators
RSI (14), MACD (12/26/9), Полосы Боллинджера (20, 2σ), SMA 20, SMA 50 — вычисляются на стороне сервера из истории сделок Buda (без внешних библиотек). Возвращает интерпретацию сигналов и структурированное предупреждение, если доступно менее 20 свечей. Включает disclaimer.
Параметр | Тип | Обязателен | Описание |
| string | Да | ID рынка. |
| string | Нет |
|
| number | Нет | Количество сделок для выборки (500–1000). |
get_real_quotation
Возвращает котировку в реальном времени для заданного размера ордера и направления, показывая точную цену исполнения, комиссию и изменения баланса без размещения ордера.
Параметр | Тип | Обязателен | Описание | |
| string | Да | ID рынка. | |
|
|
| Да | Сторона ордера. |
| number | Да | Размер ордера в базовой валюте. | |
| number | Нет | Лимитная цена для лимитных котировок. |
get_available_banks
Список доступных банков для фиатных депозитов/выводов в стране соответствующей валюты.
Параметр | Тип | Обязателен | Описание |
| string | Да | Код фиатной валюты (например, |
MCP-ресурсы
Помимо инструментов, сервер предоставляет MCP-ресурсы, которые клиенты могут читать напрямую:
URI | Описание |
| JSON-список всех рынков Buda.com |
| JSON-тикер для конкретного рынка (например, |
| Полная сводка рынка с рейтингом ликвидности (например, |
Охваченные рынки
Котировка | Страна | Примеры пар |
CLP | Чили | BTC-CLP, ETH-CLP, SOL-CLP |
COP | Колумбия | BTC-COP, ETH-COP, SOL-COP |
PEN | Перу | BTC-PEN, ETH-PEN |
USDC | Привязка к USD | BTC-USDC, USDT-USDC |
BTC | Кросс | ETH-BTC, LTC-BTC, BCH-BTC |
Сборка из исходного кода
git clone https://github.com/gtorreal/buda-mcp.git
cd buda-mcp
npm install
npm run build
node dist/index.js # stdio (for MCP clients)
node dist/http.js # HTTP on port 3000 (for Railway / hosted)Запуск тестов:
npm run test:unit # 100 unit tests, no network required
npm run test:integration # live API tests (skips if unreachable)
npm test # bothHTTP / Развертывание в Railway
Точка входа dist/http.js запускает Express-сервер с:
POST /mcp— потоковый HTTP-транспорт MCPGET /mcp— потоковый транспорт SSEGET /health— проверка работоспособности ({ status })GET /.well-known/mcp/server-card.json— статический манифест инструментов, совместимый со Smithery
Переменные окружения
Переменная | Обязательна | Описание |
| Нет | Порт HTTP (по умолчанию: |
| Нет | Макс. запросов с IP в минуту на |
| Нет | Количество прокси-хопов для доверия |
Безопасность
Сервер предоставляет доступ только к публичным API-эндпоинтам Buda.com. Учетные данные не принимаются и не сохраняются. Валидация входных данных применяется ко всем параметрам инструментов для предотвращения инъекций промптов. Сообщения об ошибках очищены — внутренние детали (пути, ошибки вышестоящих систем) записываются только в stderr и никогда не возвращаются вызывающим сторонам.
Сообщение об уязвимостях
Пожалуйста, сообщайте о проблемах безопасности в частном порядке через GitHub Security Advisories — не как публичные issues. См. SECURITY.md для полной политики раскрытия информации.
Структура проекта
src/
client.ts BudaClient (HTTP + 429 retry)
cache.ts In-memory TTL cache with in-flight deduplication
types.ts TypeScript types for Buda API responses
validation.ts validateMarketId(), validateCurrency()
utils.ts flattenAmount(), aggregateTradesToCandles(), getLiquidityRating()
version.ts Single source of truth for version string
index.ts stdio MCP server entrypoint
http.ts HTTP/SSE MCP server entrypoint
tools/
markets.ts get_markets
ticker.ts get_ticker
orderbook.ts get_orderbook
trades.ts get_trades
volume.ts get_market_volume
spread.ts get_spread
compare_markets.ts compare_markets
price_history.ts get_price_history
arbitrage.ts get_arbitrage_opportunities
market_summary.ts get_market_summary
simulate_order.ts simulate_order
calculate_position_size.ts calculate_position_size
market_sentiment.ts get_market_sentiment
technical_indicators.ts get_technical_indicators
banks.ts get_available_banks
quotation.ts get_real_quotation
marketplace/
cursor-mcp.json Cursor MCP config example
claude-listing.md Claude registry listing
openapi.yaml OpenAPI spec (GPT Actions / HTTP wrapper)
gemini-tools.json Gemini function declarationsЛицензия
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gtorreal/buda-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server