Haiku-Trading/haiku-mcp-server

Haiku-Trading/haiku-mcp-server

от haiku-trading
MCP-сервер для AI-агентов, выполняющий блокчейн-транзакции через Haiku API: токены, балансы, свопы, поиск доходности и анализ портфеля в 21 сети. Полезен разработчикам DeFi-ботов и автономных агентов.

Haiku MCP Server

An MCP (Model Context Protocol) server that enables AI agents to execute blockchain transactions via the Haiku API.

npm version GitHub

Features

  • Token Discovery: List supported tokens and DeFi assets across 21 blockchain networks
  • Balance Checking: Get wallet balances across all supported chains
  • Trading Quotes: Get quotes for swaps and portfolio rebalancing
  • Transaction Building: Convert quotes to unsigned EVM transactions
  • Wallet Integration: Extract EIP-712 payloads for external wallet signing (Coinbase, AgentKit, Safe, etc.)
  • Self-Contained Execution: Optional end-to-end execution with WALLET_PRIVATE_KEY env var
  • Yield Discovery: Find the highest-yielding DeFi opportunities across protocols and chains, filtered by APY, TVL, and category
  • Portfolio Analysis: Analyze a wallet's holdings and surface context-specific yield opportunities based on what it actually holds

Installation

npm install haiku-mcp-server

Or run directly with npx:

npx haiku-mcp-server

Configuration

Environment Variables

Variable Required Description
HAIKU_API_KEY No Your Haiku API key for higher rate limits. Contact contact@haiku.trade to request one.
HAIKU_BASE_URL No API base URL. Defaults to https://api.haiku.trade/v1
WALLET_PRIVATE_KEY No Private key (0x hex) for self-contained execution via haiku_execute.
RPC_URL_{chainId} No Override RPC URL for a specific chain (e.g., RPC_URL_42161 for Arbitrum).
haiku_analyze_portfolio

Анализирует DeFi-портфель кошелька и выявляет релевантные доходные возможности. Возвращает текущие позиции, обогащённые доступными вариантами APY, показателями здоровья залога и контекстно-зависимыми возможностями на основе того, что реально хранится в кошельке. Используйте этот инструмент, когда пользователь спрашивает, что делать с портфелем, или хочет получить совет по оптимизации доходности. Объедините вывод с haiku_discover_yields для получения более широкого рыночного контекста, затем используйте haiku_get_quote для выполнения.

Анализирует DeFi-портфель кошелька и выявляет релевантные доходные возможности. Возвращает текущие позиции, обогащённые доступными вариантами APY, показателями здоровья залога и контекстно-зависимыми возможностями на основе того, что реально хранится в кошельке. Используйте этот инструмент, когда пользователь спрашивает, что делать с портфелем, или хочет получить совет по оптимизации доходности. Объедините вывод с haiku_discover_yields для получения более широкого рыночного контекста, затем используйте haiku_get_quote для выполнения.

Параметры

  • walletAddressstringобязательный

    Wallet address (0x...) to analyze

haiku_discover_yields

Находит доходные возможности в протоколах DeFi. Возвращает APY, TVL, параметры риска и идентификаторы токенов IID, готовые для haiku_get_quote. Используйте это для ответа на вопросы, например: «лучшие доходы по кредитованию на Arbitrum», «хранилища с самым высоким APY и TVL не менее 1M» или «что я могу сделать с USDC на BNB Chain». Поле iid в результатах можно использовать напрямую в качестве ключа targetWeight в haiku_get_quote.

Находит доходные возможности в протоколах DeFi. Возвращает APY, TVL, параметры риска и идентификаторы токенов IID, готовые для haiku_get_quote. Используйте это для ответа на вопросы, например: «лучшие доходы по кредитованию на Arbitrum», «хранилища с самым высоким APY и TVL не менее 1M» или «что я могу сделать с USDC на BNB Chain». Поле iid в результатах можно использовать напрямую в качестве ключа targetWeight в haiku_get_quote.

Параметры

  • networknumber

    Filter by network. Common networks: 42161 (Arbitrum), 8453 (Base), 1 (Ethereum), 137 (Polygon), 10 (Optimism), 56 (BNB Chain)

  • categoryenum

    lending=Aave collateral tokens, vault=Yearn/Morpho vaults, lp=Balancer/Uniswap LP, all=every yield-bearing category (default: all)

    lendingvaultlpall
  • minApynumber

    Minimum APY filter as a percentage, e.g. 5 means ≥5% APY

  • minTvlnumber

    Minimum TVL filter in USD, e.g. 1000000 means ≥$1M TVL. Use this to filter to established mainstream vaults and exclude low-liquidity pools.

  • sortByenum

    Sort by APY (default) or TVL, descending

    apytvl
  • limitnumber

    Maximum number of results (default 20)

haiku_execute

Выполните quote. Сначала вызовите haiku_get_quote, затем выберите путь: • Путь A — Автономный (WALLET_PRIVATE_KEY задан): передайте quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (если присутствует в quote) и approvals. Haiku подписывает Permit2/bridge внутри, отправляет все approvals в сеть и транслирует. Возвращает tx hash. • Путь B — Внешний кошелек (нет WALLET_PRIVATE_KEY): требуется broadcast: false. Сначала транслируйте все approvals из quote через ваш MCP-кошелек (каждый — это транзакция {to, data}). Затем, если нужны подписи, вызовите haiku_prepare_signatures → подпишите через MCP-кошелек → вызовите haiku_execute с quoteId, sourceChainId, подписями и broadcast: false. Возвращает { transaction: { to, data, value, chainId } } — транслируйте транзакцию через ваш MCP-кошелек. Всегда передавайте sourceChainId из ответа quote.

Выполните quote. Сначала вызовите haiku_get_quote, затем выберите путь: • Путь A — Автономный (WALLET_PRIVATE_KEY задан): передайте quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (если присутствует в quote) и approvals. Haiku подписывает Permit2/bridge внутри, отправляет все approvals в сеть и транслирует. Возвращает tx hash. • Путь B — Внешний кошелек (нет WALLET_PRIVATE_KEY): требуется broadcast: false. Сначала транслируйте все approvals из quote через ваш MCP-кошелек (каждый — это транзакция {to, data}). Затем, если нужны подписи, вызовите haiku_prepare_signatures → подпишите через MCP-кошелек → вызовите haiku_execute с quoteId, sourceChainId, подписями и broadcast: false. Возвращает { transaction: { to, data, value, chainId } } — транслируйте транзакцию через ваш MCP-кошелек. Всегда передавайте sourceChainId из ответа quote.

Параметры

  • quoteIdstringобязательный

    Quote ID from haiku_get_quote

  • permit2SigningPayloadobject

    permit2SigningPayload from haiku_get_quote (for self-contained signing)

  • bridgeSigningPayloadobject

    bridgeSigningPayload from haiku_get_quote (cross-chain only, for self-contained signing)

  • permit2Signaturestring

    Pre-signed Permit2 signature (external wallet mode)

  • userSignaturestring

    Pre-signed bridge intent signature (external wallet mode)

  • approvalsobject[]

    approvals from haiku_get_quote. Self-contained mode only: haiku broadcasts these on-chain before the swap. In external wallet mode (broadcast: false), do not pass these — broadcast each approval {to, data} via your wallet MCP before calling haiku_execute.

  • sourceChainIdnumber

    Chain ID of the source token (from haiku_get_quote). Recommended — if omitted, the server will attempt to recover it from the signing payloads or session cache, but passing it explicitly is safer.

  • broadcastboolean

    If true (default), broadcasts tx. If false, returns unsigned tx.

haiku_get_balances

Получает балансы токенов для адреса кошелька. По умолчанию запрашивает данные по всем поддерживаемым цепочкам. Передайте chainIds для частичного обновления — запрашиваются только указанные цепочки, это быстрее и полезно после свопа, когда нужны обновлённые балансы только для исходной и целевой цепочек. Возвращает балансы, цены в USD, общую стоимость портфеля и категоризированные позиции (токены, обеспечение, долг, хранилища). walletAddress необязателен, если в окружении задан WALLET_PRIVATE_KEY.

Получает балансы токенов для адреса кошелька. По умолчанию запрашивает данные по всем поддерживаемым цепочкам. Передайте chainIds для частичного обновления — запрашиваются только указанные цепочки, это быстрее и полезно после свопа, когда нужны обновлённые балансы только для исходной и целевой цепочек. Возвращает балансы, цены в USD, общую стоимость портфеля и категоризированные позиции (токены, обеспечение, долг, хранилища). walletAddress необязателен, если в окружении задан WALLET_PRIVATE_KEY.

Параметры

  • walletAddressstring

    Wallet address (0x...) or ENS name. Omit to auto-derive from WALLET_PRIVATE_KEY.

  • chainIdsnumber[]

    Optional list of chain IDs to fetch balances for. When provided, only those chains are queried (partial refresh). Example: [42161, 8453] to re-fetch only Arbitrum and Base after a cross-chain swap. Common chain IDs: 1 (Ethereum), 42161 (Arbitrum), 8453 (Base), 137 (Polygon), 10 (Optimism), 56 (BNB Chain), 80094 (Berachain). Omit to fetch all chains.

haiku_get_quote

Получает котировку для свопа токенов или ребалансировки портфеля. Возвращает ожидаемые результаты, комиссии, оценки газа и все необходимые разрешения. Если требуются подписи (Permit2 или мост), в ответ включаются полезные нагрузки для подписи EIP-712. Два пути выполнения после получения котировки: • Путь A — автономный (установлен WALLET_PRIVATE_KEY): вызывает haiku_execute с quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (если присутствует в этом ответе) и approvals. Haiku подписывает и транслирует автоматически — возвращает хеш транзакции. • Путь B — внешний кошелек (wallet MCP, требуется broadcast: false): (1) сначала транслирует все разрешения {to, data} через wallet MCP; (2) вызывает haiku_prepare_signatures с quoteId, если нужны подписи — подписывает через wallet MCP; (3) вызывает haiku_execute с quoteId, sourceChainId, signatures и broadcast: false — возвращает { transaction: { to, data, value, chainId } } — транслирует транзакцию через wallet MCP.

Получает котировку для свопа токенов или ребалансировки портфеля. Возвращает ожидаемые результаты, комиссии, оценки газа и все необходимые разрешения. Если требуются подписи (Permit2 или мост), в ответ включаются полезные нагрузки для подписи EIP-712. Два пути выполнения после получения котировки: • Путь A — автономный (установлен WALLET_PRIVATE_KEY): вызывает haiku_execute с quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (если присутствует в этом ответе) и approvals. Haiku подписывает и транслирует автоматически — возвращает хеш транзакции. • Путь B — внешний кошелек (wallet MCP, требуется broadcast: false): (1) сначала транслирует все разрешения {to, data} через wallet MCP; (2) вызывает haiku_prepare_signatures с quoteId, если нужны подписи — подписывает через wallet MCP; (3) вызывает haiku_execute с quoteId, sourceChainId, signatures и broadcast: false — возвращает { transaction: { to, data, value, chainId } } — транслирует транзакцию через wallet MCP.

Параметры

  • inputPositionsobjectобязательный

    Map of token IID to amount. IID format: "<chain-slug>:<token-address>". Supported chain slugs: arb=Arbitrum(42161), base=Base(8453), eth=Ethereum(1), poly=Polygon(137), opt=Optimism(10), bsc=BNB Chain(56), avax=Avalanche(43114), gnosis=Gnosis(100), sonic=Sonic(146), worldchain=World Chain(480), scroll=Scroll(534352), lisk=Lisk(1135), sei=Sei(1329), bera=Berachain(80094), bob=BOB(60808), hype=Hyperliquid(999), katana=Katana(747474), monad=Monad(143), plasma=Plasma(9745), uni=Unichain(130), ape=ApeChain(33139), megaeth=MegaETH(4326). Example: { "arb:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1": "1.5" }

  • targetWeightsobjectобязательный

    Map of output token IID to weight (sum to 1). Example: { "arb:0xaf88...": 0.5, "arb:0xFd08...": 0.5 }

  • slippagenumber

    Max slippage as decimal (e.g., 0.003 for 0.3%). Default: 0.003

  • receiverstring

    Receiving wallet address. Required when WALLET_PRIVATE_KEY is not set — must be provided explicitly. When WALLET_PRIVATE_KEY is set, auto-derived from it if omitted.

haiku_get_tokens

Получает поддерживаемые токены и DeFi-позиции для торговли. Включает обычные токены, залог/долг Aave, доходные хранилища (yield vaults) и LP-токены. Используйте фильтр категорий, чтобы сузить результаты (например, 'collateral' для Aave aTokens). Возвращает IID токенов (уникальные идентификаторы), символы, названия, цены и информацию о сети. Используйте формат IID (chainSlug:tokenAddress) при указании токенов в других инструментах.

Получает поддерживаемые токены и DeFi-позиции для торговли. Включает обычные токены, залог/долг Aave, доходные хранилища (yield vaults) и LP-токены. Используйте фильтр категорий, чтобы сузить результаты (например, 'collateral' для Aave aTokens). Возвращает IID токенов (уникальные идентификаторы), символы, названия, цены и информацию о сети. Используйте формат IID (chainSlug:tokenAddress) при указании токенов в других инструментах.

Параметры

  • networknumber

    Filter tokens by network. Common networks: 42161 (Arbitrum), 8453 (Base), 1 (Ethereum), 137 (Polygon), 10 (Optimism), 56 (BSC)

  • categoryenum

    Filter by token category: 'token' (vanilla tokens), 'collateral' (Aave aTokens), 'varDebt' (Aave debt tokens), 'vault' (Yearn/Morpho vaults), 'weightedLiquidity' (Balancer LP), 'concentratedLiquidity' (Uniswap V3 LP). Omit to return all categories.

    tokencollateralvarDebtvaultweightedLiquidityconcentratedLiquidity
haiku_prepare_signatures

Внешний путь подписи кошелька — используйте его вместо передачи полезных нагрузок подписи напрямую в haiku_execute, когда WALLET_PRIVATE_KEY не установлен или когда подпись обрабатывает MCP кошелька (Coinbase Payments MCP, wallet-agent и т.д.). Извлекает и нормализует полезные нагрузки EIP-712 из котировки в стандартный формат, который может использовать signTypedData любого кошелька. Передавайте quoteId (предпочтительно) — сервер получает полную котировку из кэша сессии. В качестве альтернативы передайте полный объект quoteResponse, если quoteId недоступен. После внешней подписи передайте permit2Signature и/или userSignature в haiku_execute.

Внешний путь подписи кошелька — используйте его вместо передачи полезных нагрузок подписи напрямую в haiku_execute, когда WALLET_PRIVATE_KEY не установлен или когда подпись обрабатывает MCP кошелька (Coinbase Payments MCP, wallet-agent и т.д.). Извлекает и нормализует полезные нагрузки EIP-712 из котировки в стандартный формат, который может использовать signTypedData любого кошелька. Передавайте quoteId (предпочтительно) — сервер получает полную котировку из кэша сессии. В качестве альтернативы передайте полный объект quoteResponse, если quoteId недоступен. После внешней подписи передайте permit2Signature и/или userSignature в haiku_execute.

Параметры

  • quoteIdstring

    Quote ID from haiku_get_quote (preferred — server resolves the full quote from session cache)

  • quoteResponseobject

    Full response from haiku_get_quote (fallback when quoteId is unavailable)

Другие проверенные MCP-сервера

MarkItDown MCP

MarkItDown MCP

официальный

Инструмент для преобразования PDF, Word, Excel, изображений, аудио и других форматов в Markdown. Оптимален для подготовки данных для LLM-пайплайнов. Сохраняет структуру документов (заголовки, списки, таблицы).

Python167188
mbailey/voice-mcp

mbailey/voice-mcp

VoiceMode добавляет в Claude Code голосовое общение. Разговаривайте с ИИ-агентом вслух, когда печатать неудобно: на прогулке, за готовкой или давая глазам отдых. Поддерживает локальные модели для п...

Python1280
chroma-core/chroma-mcp

chroma-core/chroma-mcp

официальный

MCP-сервер для интеграции Chroma (open-source базы эмбеддингов) с LLM. Позволяет создавать коллекции, добавлять документы и выполнять семантический поиск с фильтрацией. Подходит разработчикам, стро...

Python576
XGenerationLab/xiyan_mcp_server

XGenerationLab/xiyan_mcp_server

официальный

MCP-сервер для запросов к базам данных на естественном языке. Основан на XiYan-SQL - SOTA модели text-to-SQL. Поддерживает MySQL, PostgreSQL, общие LLM и локальный режим. Упрощает извлечение данных...

Python240
coding-solo/godot-mcp

coding-solo/godot-mcp

MCP сервер для разработчиков на Godot: запускает редактор, выполняет проекты, захватывает отладку и управляет сценами. Интеграция с AI позволяет быстро проверять код и отлаживать игры прямо в движке.

JavaScript4776
webscraping-ai/webscraping-ai-mcp-server

webscraping-ai/webscraping-ai-mcp-server

официальный

MCP сервер для веб-скрапинга через WebScraping.AI — извлекает текст, HTML и структурированные данные, задаёт вопросы по содержимому страниц. Поддерживает JavaScript-рендеринг, CSS-селекторы, выбор прокси и эмуляцию устройств. Идеален для интеграции с LLM при сборе информации с сайтов.

JavaScript44
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин