Haiku DeFi MCP
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
DeFi execution for AI agents — swap, lend, bridge, and yield across 22 chains.
สามเสาของ PopNx MCP
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
- เสียงผู้ใช้iยังไม่มีรีวิวรีวิวเปิดพร้อมระบบบัญชีในขั้นถัดไป
- ผลตรวจเบื้องต้นของเราiผ่าน 1 จาก 1 ข้อตรวจจากข้อมูลที่เปิดอยู่ ยังไม่ได้สแกนโค้ด
- การใช้งานiยังใหม่มาก↓ 78/สัปดาห์ · ★ –
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนเครื่อง
- ช่องทาง (transport): stdio
- หมวด: คริปโตและบล็อกเชน
- ต้องใส่ค่าเหล่านี้: HAIKU_API_KEY, WALLET_PRIVATE_KEY
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ก่อนติดตั้ง
- ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
- รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
- ค่าที่คุณต้องใส่เอง:
HAIKU_API_KEY,WALLET_PRIVATE_KEY
ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
- npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"haiku": {
"command": "npx",
"args": [
"-y",
"haiku-mcp-server"
],
"env": {
"HAIKU_API_KEY": "ใส่ค่าของคุณ",
"WALLET_PRIVATE_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add haiku --env HAIKU_API_KEY='ใส่ค่าของคุณ' --env WALLET_PRIVATE_KEY='ใส่ค่าของคุณ' -- npx -y haiku-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"haiku": {
"command": "npx",
"args": [
"-y",
"haiku-mcp-server"
],
"env": {
"HAIKU_API_KEY": "ใส่ค่าของคุณ",
"WALLET_PRIVATE_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"haiku": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"haiku-mcp-server"
],
"env": {
"HAIKU_API_KEY": "ใส่ค่าของคุณ",
"WALLET_PRIVATE_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าที่ต้องใส่เอง
- API key for higher rate limits (optional — works without)
- Private key (0x hex) for self-contained execution without an external wallet
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Haiku-Trading ซึ่งเป็นเจ้าของ repo
- … ยังไม่ตรวจ
ยังมีคนดูแล
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับตัวอื่นในหมวด คริปโตและบล็อกเชนi
- ดาวมากกว่า 0% ของอีก 1619 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 13% ของอีก 1619 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1619 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Haiku DeFi MCP ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: HAIKU_API_KEY, WALLET_PRIVATE_KEY
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.0.8) เข้า registry 7 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี Agentwallet, Highwire, Lucky x402
ตัวที่ใช้แทนได้
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Highwire
Trade, launch and research higher.fun coins on Solana, from any AI agent. Unsigned or policy-signed.
Lucky x402
Pre-trade crypto checks for agents: token/memecoin verdict (EVM+Solana), wallet risk, CEX ops. x402.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Haiku MCP Server
An MCP (Model Context Protocol) server that enables AI agents to execute blockchain transactions via the Haiku API.
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). |
Note: The API works without a key, but providing one unlocks higher rate limits for production use.
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": { "haiku": { "command": "npx", "args": ["haiku-mcp-server"] } } }
With API key for higher rate limits:
{
"mcpServers": { "haiku": { "command": "npx", "args": ["haiku-mcp-server"], "env": { "HAIKU_API_KEY": "your-api-key-here" } } } }
Available Tools
haiku_get_tokens
Get supported tokens and DeFi assets for trading.
Parameters:
network(optional): Filter by chain ID (e.g., 42161 for Arbitrum)category(optional): Filter by token category:token- Vanilla tokens (ETH, USDC, etc.)collateral- eg. Aave aTokens (deposited collateral)varDebt- eg. Aave variable debt tokensvault- eg. Yearn/Morpho yield vaultsweightedLiquidity- eg. Balancer LP tokensconcentratedLiquidity- eg. Uniswap V3 LP positions
Example:
{
"network": 42161, "category": "token" }
haiku_get_balances
Get token balances for a wallet address across all chains.
Parameters:
walletAddress(optional): Wallet address or ENS name. Required whenWALLET_PRIVATE_KEYis not set; omit to auto-derive fromWALLET_PRIVATE_KEYwhen it is set.
Example:
{
"walletAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" }
Omit `walletAddress` when `WALLET_PRIVATE_KEY` is set to use the derived address.
haiku_get_quote
Get a quote for a token swap or portfolio rebalance.
Note: Quotes are valid for 5 minutes, but execute as quickly as possible after quoting — the longer you wait, the more likely prices have moved and the transaction will fail on-chain.
Parameters:
inputPositions(required): Map of token IID to amount to spendtargetWeights(required): Map of output token IID to weight (must sum to 1)slippage(optional): Max slippage as decimal (default: 0.003)receiver: Receiving wallet address. Required when `WALLET_PRIVATE_KEY` is not set — must be provided explicitly. WhenWALLET_PRIVATE_KEYis set, auto-derived if omitted. WhenWALLET_PRIVATE_KEYis not set (Path B), you must passreceiverexplicitly.
Example:
{
"inputPositions": { "arb:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1": "1.0" }, "targetWeights": { "arb:0xaf88d065e77c8cC2239327C5EDb3A432268e5831": 0.5, "arb:0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9": 0.5 }, "slippage": 0.005 }
Example above omits `receiver` (valid when `WALLET_PRIVATE_KEY` is set). For Path B, include `"receiver": "0x..."`.
haiku_prepare_signatures
Extract and normalize EIP-712 signing payloads from a quote for external wallet signing (Path B only). When using quoteId, the quote must have been obtained in the same session.
Use this when a wallet MCP handles signing (Coinbase Payments MCP, wallet-agent, AgentKit, Safe, etc.). Returns standardized typed data that any wallet's signTypedData can consume, plus step-by-step instructions.
Parameters:
quoteId(preferred): Quote ID fromhaiku_get_quote— server resolves the full quote from session cache. QuoteId only works when the quote was returned byhaiku_get_quotein the same MCP session; otherwise usequoteResponse.quoteResponse(fallback): Full response object fromhaiku_get_quote, if quoteId is unavailable
Returns:
requiresPermit2: Whether Permit2 signature is neededpermit2: EIP-712 payload to pass tosignTypedData(if required)requiresBridgeSignature: Whether bridge signature is neededbridgeIntent: EIP-712 payload to pass tosignTypedData(if required)sourceChainId: Chain ID for the transactioninstructions: Step-by-step instructions for completing the flow
Example:
{
"quoteId": "abc123..." }
haiku_discover_yields
Discover yield-bearing opportunities across DeFi protocols, ranked by APY or TVL.
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 Base". The iid field in results can be used directly as a key in the targetWeights object in haiku_get_quote.
Parameters:
network(optional): Filter by chain ID (e.g., 42161 for Arbitrum)category(optional):lending(Aave collateral),vault(Yearn/Morpho),lp(Balancer/Uniswap),all(default)minApy(optional): Minimum APY as a percentage (e.g.,5means ≥5% APY)minTvl(optional): Minimum TVL in USD (e.g.,1000000means ≥$1M). Filters to established mainstream vaults.sortBy(optional):apy(default) ortvl, descendinglimit(optional): Max results (default 20)
Example:
{
"network": 42161, "category": "lending", "minTvl": 1000000, "sortBy": "apy", "limit": 10 }
haiku_analyze_portfolio
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. Pair with haiku_discover_yields for broader market context, then use haiku_get_quote to execute.
Parameters:
walletAddress(required): Wallet address (0x...) to analyze
Example:
{
"walletAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" }
haiku_execute
Execute a quote. Two distinct paths depending on who holds the private key.
Path A — Self-contained (WALLET_PRIVATE_KEY set in env): Haiku signs Permit2/bridge payloads internally and broadcasts. Returns a tx hash.
Parameters:
quoteId(required): Quote ID fromhaiku_get_quotesourceChainId(recommended): Chain ID from the quote response. Omit only if the quote was obtained in the same session — the server can recover from cache.permit2SigningPayload(optional): Pass through fromhaiku_get_quoteif presentbridgeSigningPayload(optional): Pass through fromhaiku_get_quoteif present (cross-chain only)approvals(optional): Pass through fromhaiku_get_quoteif present
Example:
{
"quoteId": "abc123...", "sourceChainId": 42161, "permit2SigningPayload": { /* from haiku_get_quote, if present */ }, "approvals": [ /* from haiku_get_quote, if present */ ] }
Path B — External wallet (no WALLET_PRIVATE_KEY, using a wallet MCP): You sign and broadcast. broadcast: false is required — without WALLET_PRIVATE_KEY, haiku cannot sign or send the final EVM transaction. If you call haiku_execute with broadcast: true and no WALLET_PRIVATE_KEY, the server returns an error directing you to set broadcast: false and broadcast the returned transaction via your wallet MCP.
Before calling haiku_execute:
- If
approvalsis non-empty in the quote: broadcast each approval as a transaction{ to, data, value }(includevaluewhen present, e.g. for native token) via your wallet MCP and wait for confirmation. - If signatures are required: call
haiku_prepare_signatureswith the quoteId, sign the returned EIP-712 payloads via your wallet MCP, then pass the signatures here.
Parameters:
quoteId(required): Quote ID fromhaiku_get_quotesourceChainId(recommended): Chain ID from the quote response. Omit only if the quote was obtained in the same session — the server can recover from cache.broadcast(required): Must befalse— haiku returns the unsigned tx for you to broadcastpermit2Signature(optional): Signature from signing the Permit2 payload via your wallet MCPuserSignature(optional): Signature from signing the bridge payload via your wallet MCP (cross-chain only)
Example:
{
"quoteId": "abc123...", "sourceChainId": 42161, "broadcast": false, "permit2Signature": "0x..." }
Returns `{ transaction: { to, data, value, chainId } }` — pass `transaction` to your wallet MCP's `sendTransaction`.
Token IID Format
Tokens are identified using the IID format: chainSlug:tokenAddress
Examples:
arb:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1- WETH on Arbitrumarb:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee- Native ETH on Arbitrumbase:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913- USDC on Base
Supported Chains
| Chain | Chain ID | Slug |
|---|---|---|
| Arbitrum | 42161 | arb |
| Avalanche | 43114 | avax |
| Base | 8453 | base |
| Berachain | 80094 | bera |
| BNB Smart Chain | 56 | bsc |
| Bob | 60808 | bob |
| Ethereum | 1 | eth |
| Gnosis | 100 | gnosis |
| Hyperliquid | 999 | hype |
| Katana | 747474 | katana |
| Lisk | 1135 | lisk |
| MegaETH | 4326 | megaeth |
| Monad | 143 | monad |
| Optimism | 10 | opt |
| Plasma | 9745 | plasma |
| Polygon | 137 | poly |
| Scroll | 534352 | scroll |
| Sei | 1329 | sei |
| Sonic | 146 | sonic |
| Unichain | 130 | uni |
| World Chain | 480 | worldchain |
| ApeChain | 33139 | ape |
Workflow Examples
Path A: Self-Contained Swap (WALLET_PRIVATE_KEY set)
Haiku handles all signing and broadcasting. Returns a tx hash.
1. haiku_get_quote(inputPositions, targetWeights) → returns quoteId, sourceChainId, permit2SigningPayload?, bridgeSigningPayload?, approvals
- haiku_execute(quoteId, sourceChainId, permit2SigningPayload?, bridgeSigningPayload?, approvals) → Haiku broadcasts approvals, signs Permit2/bridge internally, broadcasts swap, returns tx hash
Path B: External Wallet (wallet MCP handles signing + broadcasting)
Use when WALLET_PRIVATE_KEY is not set and a separate wallet MCP holds the keys.
Simple swap (no Permit2 or bridge signatures needed, e.g. native ETH input):
1. haiku_get_quote(inputPositions, targetWeights, receiver) → returns quoteId, sourceChainId, approvals
- For each item in approvals: broadcast as transaction { to, data, value } (include value when present) via wallet MCP and wait for confirmation
- haiku_execute(quoteId, sourceChainId, broadcast: false) → returns { tr
ตัดมาแค่ช่วงต้น อ่านต่อใน repo