目录 / Indigo Protocol MCP
Indigo Protocol MCP
# Indigo MCP MCP server for [Indigo Protocol](https://indigoprotocol.io/) — exposes Indigo iAsset data, prices, and CDP/loan analytics to LLM agents via the [Model Context Protocol](https://modelcontextprotocol.io/). ## Features - Real-time iAsset prices (iUSD, iBTC, iETH, iSOL) - ADA and INDY token price feeds - CDP/loan browsing with pagination and filtering - Owner lookup by payment key hash or bech32 address - CDP health analysis with collateral ratio and liquidation risk status - Stability pool state and account queries - INDY staking positions and manager state - Protocol analytics: TVL, APR rewards, DEX yields, aggregated stats - Governance: protocol parameters, polls, temperature checks - Redemption order book and queue aggregation - DEX proxy: Steelswap swaps, Iris liquidity pools, Blockfrost balances - CDP liquidation, redemption, freeze, and merge operations - Leveraged CDP opening via LRP positions - LRP (Limit Redemption Protocol) position management - Oracle interest rate feeding and initialization - Stability pool request processing and cancellation - Staking reward distribution - Collector UTXOs, IPFS storage and retrieval ## Quick Start Install globally: ```bash npm install -g @indigoprotocol/indigo-mcp ``` Or run directly with npx (no install needed): ```bash npx @indigoprotocol/indigo-mcp ``` ### Docker ```bash docker build -t indigo-mcp . docker run -i indigo-mcp ``` ### HTTP Transport (Remote) The server supports HTTP transport for remote/hosted deployments: ```bash MCP_TRANSPORT=http PORT=3000 npx @indigoprotocol/indigo-mcp ``` This starts an HTTP server with: - `POST /mcp` — MCP endpoint (Streamable HTTP with SSE) - `GET /health` — Health check ## Configuration > **Note:** `BLOCKFROST_API_KEY` is required for write operations (transaction building). Read-only tools work without it. Get a free key at [blockfrost.io](https://blockfrost.io/). ### Claude Desktop Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows): ```json { "mcpServers": { "indigo": { "command": "npx", "args": ["-y", "@indigoprotocol/indigo-mcp"], "env": { "INDEXER_URL": "https://analytics.indigoprotocol.io/api/v1", "BLOCKFROST_API_KEY": "your-blockfrost-project-id" } } } } ``` ### Claude Code (CLI) Add to `~/.claude/settings.json` or `.claude/settings.json` in your project: ```json { "mcpServers": { "indigo": { "command": "npx", "args": ["-y", "@indigoprotocol/indigo-mcp"], "env": { "INDEXER_URL": "https://analytics.indigoprotocol.io/api/v1", "BLOCKFROST_API_KEY": "your-blockfrost-project-id" } } } } ``` ### Cursor Add to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project-level): ```json { "mcpServers": { "indigo": { "command": "npx", "args": ["-y", "@indigoprotocol/indigo-mcp"], "env": { "INDEXER_URL": "https://analytics.indigoprotocol.io/api/v1", "BLOCKFROST_API_KEY": "your-blockfrost-project-id" } } } } ``` ### Windsurf Add to `~/.codeium/windsurf/mcp_config.json`: ```json { "mcpServers": { "indigo": { "command": "npx", "args": ["-y", "@indigoprotocol/indigo-mcp"], "env": { "INDEXER_URL": "https://analytics.indigoprotocol.io/api/v1", "BLOCKFROST_API_KEY": "your-blockfrost-project-id" } } } } ``` ### Any MCP-Compatible Client Run the server directly via stdio: ```bash INDEXER_URL=https://analytics.indigoprotocol.io/api/v1 \ BLOCKFROST_API_KEY=your-blockfrost-project-id \ npx @indigoprotocol/indigo-mcp ``` Or install globally and reference the binary: ```bash npm install -g @indigoprotocol/indigo-mcp indigo-mcp ``` For any client that supports MCP over stdio, point it to the `npx @indigoprotocol/indigo-mcp` command with the environment variables above. ## Environment Variables - `INDEXER_URL` — Indigo analytics API base URL (default: `https://analytics.indigoprotocol.io/api/v1`) - `BLOCKFROST_API_KEY` — Blockfrost project ID for transaction building (required for write ops) - `CARDANO_NETWORK` — Cardano network: `mainnet`, `preprod`, or `preview` (default: `mainnet`) - `MCP_TRANSPORT` — Transport mode: `stdio` or `http` (default: `stdio`) - `PORT` — HTTP server port when `MCP_TRANSPORT=http` (default: `3000`) ## Example Queries When connected to an LLM agent, you can ask natural language questions like: - "What are the current prices of all Indigo iAssets?" - "What is the price of iUSD right now?" - "How much is ADA worth in USD?" - "Show me all iETH CDPs" - "What CDPs does this address own?" (paste a Cardano address) - "Analyze the health of my CDPs" (with your address or payment key hash) - "Are any of my positions at risk of liquidation?" - "Show me the current stability pool state" - "What are my stability pool deposits?" (with your address) - "How much INDY am I staking?" (with your address) - "What's the current TVL of Indigo?" - "What APR can I earn on iUSD stability pool?" - "What are the current governance protocol parameters?" - "Show me the iUSD redemption queue" - "Get a Steelswap estimate for swapping 100 ADA to iUSD" - "What are the current DEX yields for iAsset pairs?"
接入信息
- 传输形态
- http
- 鉴权方式
- 鉴权未知
- 端点
https://indigo-mcp--indigoprotocol.run.tools
{
"mcpServers": {
"Indigo Protocol MCP": {
"url": "https://indigo-mcp--indigoprotocol.run.tools"
}
}
}
能力清单
| 工具 | 说明 |
|---|---|
| get_tvl | Get historical TVL data from DefiLlama |
| get_apr_rewards | Get all APR reward records |
| get_apr_by_key | Get APR for a specific key |
| get_dex_yields | Get DEX farm yields for iAsset pairs |
| get_protocol_stats | Get aggregated protocol statistics |
| get_assets | Get all Indigo iAssets with prices and interest data |
| get_asset | Get details for a specific Indigo iAsset |
| get_asset_price | Get the current price for a specific Indigo iAsset |
| get_ada_price | Get the current ADA price in USD |
| get_indy_price | Get the current INDY token price in ADA and USD |
| get_all_cdps | Get all CDPs/loans, optionally filtered by iAsset |
| get_cdps_by_owner | Get all CDPs/loans for a specific owner (accepts payment key hash or bech32 address) |
| get_cdps_by_address | Get all CDPs/loans for a specific Cardano address |
| analyze_cdp_health | Analyze health and collateral ratios of CDPs for an owner |
| mint_cdp | Mint additional iAssets from an existing CDP (increases debt) — builds an unsigned transaction (CBOR hex) for client-side signing |
| burn_cdp | Burn iAssets to reduce CDP debt — builds an unsigned transaction (CBOR hex) for client-side signing |
| open_cdp | Open a new CDP position — builds an unsigned transaction (CBOR hex) for client-side signing |
| deposit_cdp | Deposit additional collateral into a CDP — builds an unsigned transaction (CBOR hex) for client-side signing |
| withdraw_cdp | Withdraw collateral from a CDP — builds an unsigned transaction (CBOR hex) for client-side signing |
| close_cdp | Close a CDP and reclaim collateral — builds an unsigned transaction (CBOR hex) for client-side signing |
| liquidate_cdp | Liquidate an undercollateralized CDP through the stability pool — builds an unsigned transaction (CBOR hex) for client-side signing |
| redeem_cdp | Redeem iAssets from a CDP — builds an unsigned transaction (CBOR hex) for client-side signing. To redeem the maximum possible, pass the total minted amount. |
| freeze_cdp | Freeze a CDP to prevent further operations until unfrozen — builds an unsigned transaction (CBOR hex) for client-side signing |
| merge_cdps | Merge multiple CDPs into one — builds an unsigned transaction (CBOR hex) for client-side signing |
| get_collector_utxos | Get collector UTXOs for fee distribution |
| store_on_ipfs | Store text content on IPFS |
| retrieve_from_ipfs | Retrieve content from IPFS by CID |
| get_steelswap_tokens | Get all tokens available on Steelswap DEX |
| get_steelswap_estimate | Get a swap estimate from Steelswap DEX |
| get_iris_liquidity_pools | Get liquidity pools from Iris, optionally filtered by tokens or DEX |
| get_blockfrost_balances | Get token balances for a Cardano address via Blockfrost |
| get_protocol_params | Get latest governance protocol parameters |
| get_temperature_checks | Get temperature check polls |
| get_sync_status | Get indexer sync status |
| get_polls | Get all governance polls |
| leverage_cdp | Open a leveraged CDP by redeeming against LRP positions — builds an unsigned transaction (CBOR hex) for client-side signing |
| open_lrp | Open a new LRP (Limit Redemption Protocol) position with ADA and a max price limit. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| cancel_lrp | Cancel an existing LRP position. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| adjust_lrp | Adjust ADA amount in an LRP position (positive to increase, negative to decrease). Optionally update the max price. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| claim_lrp | Claim received iAssets from an LRP position. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| redeem_lrp | Redeem iAssets against one or more LRP positions. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| feed_interest_oracle | Feed a new interest rate to the interest oracle for a given iAsset. Returns an unsigned transaction (CBOR hex) for client-side signing. Only callable by the oracle operator. |
| start_interest_oracle | Initialize a new interest oracle (one-time admin setup). Returns an unsigned transaction (CBOR hex) and the minted oracle asset class. Only callable by protocol administrators. |
| get_order_book | Get open limited redemption positions from the order book, optionally filtered by asset or owners |
| get_redemption_orders | Get redemption orders, optionally filtered by timestamp or price range |
| get_redemption_queue | Get aggregated redemption queue for a specific iAsset, sorted by max price ascending |
| process_sp_request | Process a pending stability pool request (protocol maintenance operation). Returns an unsigned transaction (CBOR hex) for client-side signing. |
| annul_sp_request | Cancel a pending stability pool request. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| get_stability_pools | Get the latest stability pool state for each iAsset (snapshotP, snapshotD, snapshotS, epoch, scale) |
| get_stability_pool_accounts | Get all open stability pool accounts, optionally filtered by iAsset |
| get_sp_account_by_owner | Get stability pool accounts for specific owners (accepts payment key hashes or bech32 addresses) |
| create_sp_account | Create a new stability pool account by depositing iAssets. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| adjust_sp_account | Deposit to or withdraw from an existing stability pool account. Positive amount deposits, negative withdraws. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| close_sp_account | Close a stability pool account and withdraw all deposited iAssets. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| get_staking_info | Get the current INDY staking manager state (slot, outputHash, totalStake, snapshotAda) |
| get_staking_positions | Get all open INDY staking positions |
| get_staking_positions_by_owner | Get INDY staking positions for specific owners (accepts payment key hashes or bech32 addresses) |
| get_staking_position_by_address | Get INDY staking positions for a single Cardano address |
| distribute_staking_rewards | Distribute collected ADA rewards from collector UTxOs to staking positions. This is a protocol maintenance operation that anyone can call. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| open_staking_position | Stake INDY tokens by creating a new staking position. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| adjust_staking_position | Adjust an existing INDY staking position (add or remove INDY). Returns an unsigned transaction (CBOR hex) for client-side signing. |
| close_staking_position | Close an INDY staking position and unstake all INDY. Returns an unsigned transaction (CBOR hex) for client-side signing. |
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。