Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port (only used when MCP_TRANSPORT=http) | 3000 |
| INDEXER_URL | No | Indigo analytics API base URL | https://analytics.indigoprotocol.io/api/v1 |
| MCP_TRANSPORT | No | Transport mode: stdio or http | stdio |
| CARDANO_NETWORK | No | Cardano network: mainnet, preprod, or preview | mainnet |
| BLOCKFROST_API_KEY | No | Blockfrost project ID for transaction building. Required for write operations (transaction building). Read-only tools work without it. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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_polls | Get all governance polls |
| leverage_cdp | Open a leveraged CDP by redeeming against ROB positions — builds an unsigned transaction (CBOR hex) for client-side signing |
| open_rob | Open a new ROB (Redemption Order Book) position with ADA and a max price limit. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| cancel_rob | Cancel an existing ROB position. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| adjust_rob | Adjust ADA amount in an ROB position (positive to increase, negative to decrease). Optionally update the max price. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| claim_rob | Claim received iAssets from an ROB position. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| redeem_rob | Redeem iAssets against one or more ROB positions. Returns an unsigned transaction (CBOR hex) for client-side signing. |
| 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |