accueil / serveurs / Finance & Paiement / io.github.Haiku-Trading/haiku-mcp-server
io.github.Haiku-Trading/haiku-mcp-server
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.Haiku-Trading/haiku-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.Haiku-Trading/haiku-mcp-server » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
⚠ La dernière version publiée (0.0.9) n'a pas encore été auditée. Un nouveau pentest est programmé ; les verdicts ci-dessous portent sur les versions listées.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 7 outils
- haiku_get_tokens≈ 262 tokens
Get supported tokens and DeFi positions for trading. Includes vanilla tokens, Aave collateral/debt, yield vaults, and LP tokens. Use category filter to narrow results (e.g., 'collateral' for Aave aTokens). Returns token IIDs (unique identifiers), symbols, names, prices, and chain information. Use the IID format (chainSlug:tokenAddress) when specifying tokens in other tools.
Paramètres, retour & exemple (2)
Paramètresnetwork· number · optionnel
Filter tokens by network. Common networks: 42161 (Arbitrum), 8453 (Base), 1 (Ethereum), 137 (Polygon), 10 (Optimism), 56 (BSC)category· string · optionnel · token | collateral | varDebt | vault | weightedLiquidity | concentratedLiquidity
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.
Exemple d'appel{"name": "haiku_get_tokens", "arguments": {"network": 1, "category": "token"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_get_balances≈ 288 tokens
Get token balances for a wallet address. By default fetches across all supported chains. Pass chainIds for a partial refresh — only the specified chains are queried, which is faster and useful after a swap when you only need updated balances for the source and destination chains. Returns balances, USD prices, total portfolio value, and categorized positions (tokens, collateral, debt, vaults). walletAddress is optional when WALLET_PRIVATE_KEY is set in the environment.
Paramètres, retour & exemple (2)
ParamètreschainIds· array · optionnel
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.walletAddress· string · optionnel
Wallet address (0x...) or ENS name. Omit to auto-derive from WALLET_PRIVATE_KEY.
Exemple d'appel{"name": "haiku_get_balances", "arguments": {"chainIds": [], "walletAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_get_quote≈ 548 tokens
Get a quote for a token swap or portfolio rebalance. Returns expected outputs, fees, gas estimates, and any required approvals. When signatures are required (Permit2 or bridge), EIP-712 signing payloads are included in the response. Two execution paths after getting a quote: • Path A — Self-contained (WALLET_PRIVATE_KEY set): call haiku_execute with quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (if present in this response), and approvals. Haiku signs and broadcasts automatically — returns tx hash. • Path B — External wallet (wallet MCP, broadcast: false required): (1) broadcast any approvals {to, data} via wallet MCP first; (2) call haiku_prepare_signatures with quoteId if signatures are needed → sign via wallet MCP; (3) call haiku_execute with quoteId, sourceChainI
Paramètres, retour & exemple (4)
Paramètresreceiver· string · optionnel
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.slippage· number · optionnel
Max slippage as decimal (e.g., 0.003 for 0.3%). Default: 0.003targetWeights· object · requis
Map of output token IID to weight (sum to 1). Example: { "arb:0xaf88...": 0.5, "arb:0xFd08...": 0.5 }inputPositions· object · requis
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" }
Exemple d'appel{"name": "haiku_get_quote", "arguments": {"targetWeights": {}, "inputPositions": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_prepare_signatures≈ 240 tokens
External wallet signing path — use this instead of passing signing payloads directly to haiku_execute when WALLET_PRIVATE_KEY is not set or when a wallet MCP (Coinbase Payments MCP, wallet-agent, etc.) handles signing. Extracts and normalizes the EIP-712 payloads from a quote into a standard format any wallet's signTypedData can consume. Pass quoteId (preferred) — the server resolves the full quote from session cache. Alternatively pass the full quoteResponse object if quoteId is unavailable. After signing externally, pass permit2Signature and/or userSignature to haiku_execute.
Paramètres, retour & exemple (2)
ParamètresquoteId· string · optionnel
Quote ID from haiku_get_quote (preferred — server resolves the full quote from session cache)quoteResponse· object · optionnel
Full response from haiku_get_quote (fallback when quoteId is unavailable)
Exemple d'appel{"name": "haiku_prepare_signatures", "arguments": {"quoteId": "texte", "quoteResponse": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_discover_yields≈ 344 tokens
Discover yield-bearing opportunities across DeFi protocols. Returns APY, TVL, risk parameters, and token IIDs ready for haiku_get_quote. Use this to answer questions like 'best lending yields on Arbitrum', 'highest APY vaults with at least $1M TVL', or 'what can I do with USDC on BNB Chain'. The iid field in results can be used directly as a targetWeight key in haiku_get_quote.
Paramètres, retour & exemple (6)
Paramètreslimit· number · optionnel
Maximum number of results (default 20)minApy· number · optionnel
Minimum APY filter as a percentage, e.g. 5 means ≥5% APYminTvl· number · optionnel
Minimum TVL filter in USD, e.g. 1000000 means ≥$1M TVL. Use this to filter to established mainstream vaults and exclude low-liquidity pools.sortBy· string · optionnel · apy | tvl
Sort by APY (default) or TVL, descendingnetwork· number · optionnel
Filter by network. Common networks: 42161 (Arbitrum), 8453 (Base), 1 (Ethereum), 137 (Polygon), 10 (Optimism), 56 (BNB Chain)category· string · optionnel · lending | vault | lp | all
lending=Aave collateral tokens, vault=Yearn/Morpho vaults, lp=Balancer/Uniswap LP, all=every yield-bearing category (default: all)
Exemple d'appel{"name": "haiku_discover_yields", "arguments": {"limit": 1, "minApy": 1, "minTvl": 1, "sortBy": "apy", "network": 1, "category": "lending"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_analyze_portfolio≈ 169 tokens
Analyze a wallet's DeFi portfolio and surface relevant yield opportunities. Returns current positions enriched with available APY options, collateral health factors, and context-specific opportunities based on what the wallet actually holds. Use this when a user asks what they should do with their portfolio or wants yield optimization advice. Pair the output with haiku_discover_yields for broader market context, then use haiku_get_quote to execute.
Paramètres, retour & exemple (1)
ParamètreswalletAddress· string · requis
Wallet address (0x...) to analyze
Exemple d'appel{"name": "haiku_analyze_portfolio", "arguments": {"walletAddress": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - haiku_execute≈ 553 tokens
Execute a quote. Call haiku_get_quote first, then choose a path: • Path A — Self-contained (WALLET_PRIVATE_KEY set): pass quoteId, sourceChainId, permit2SigningPayload + bridgeSigningPayload (if present in the quote), and approvals. Haiku signs Permit2/bridge internally, sends any approvals on-chain, and broadcasts. Returns tx hash. • Path B — External wallet (no WALLET_PRIVATE_KEY): broadcast: false is required. First broadcast any approvals from the quote via your wallet MCP (each is a {to, data} transaction). Then call haiku_prepare_signatures if signatures are needed → sign via wallet MCP → call haiku_execute with quoteId, sourceChainId, the signatures, and broadcast: false. Returns { transaction: { to, data, value, chainId } } — broadcast transaction via your wallet MCP. Always pass s
Paramètres, retour & exemple (8)
ParamètresquoteId· string · requis
Quote ID from haiku_get_quoteapprovals· array · optionnel
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.broadcast· boolean · optionnel
If true (default), broadcasts tx. If false, returns unsigned tx.sourceChainId· number · optionnel
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.userSignature· string · optionnel
Pre-signed bridge intent signature (external wallet mode)permit2Signature· string · optionnel
Pre-signed Permit2 signature (external wallet mode)bridgeSigningPayload· object · optionnel
bridgeSigningPayload from haiku_get_quote (cross-chain only, for self-contained signing)permit2SigningPayload· object · optionnel
permit2SigningPayload from haiku_get_quote (for self-contained signing)
Exemple d'appel{"name": "haiku_execute", "arguments": {"quoteId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.haiku-trading--haiku-mcp-server)
<a href="https://dokore.fr/serveur/io.github.haiku-trading--haiku-mcp-server"><img src="https://dokore.fr/badge/io.github.haiku-trading--haiku-mcp-server.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
haiku-mcp-server@0.0.8