Indigo Protocol Mcp
About
MCP server for Indigo Protocol on Cardano — exposes iAsset prices (iUSD, iBTC, iETH, iSOL), CDP/loan analytics, stability pools, INDY staking, governance, and DEX data to LLM agents.
Details
- Transport
- SSE
Explore
- 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
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Indigo Protocol McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
npm install -g @indigoprotocol/indigo-mcp
npx @indigoprotocol/indigo-mcp setup
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ ██╗███╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ║
║ ██║████╗ ██║██╔══██╗██║██╔════╝ ██╔═══██╗ ║
║ ██║██╔██╗ ██║██║ ██║██║██║ ███╗██║ ██║ ║
║ ██║██║╚██╗██║██║ ██║██║██║ ██║██║ ██║ ║
║ ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝ ║
║ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ║
║ ║
║ ███╗ ███╗ ██████╗██████╗ ║
║ ████╗ ████║██╔════╝██╔══██╗ ║
║ ██╔████╔██║██║ ██████╔╝ ║
║ ██║╚██╔╝██║██║ ██╔═══╝ ║
║ ██║ ╚═╝ ██║╚██████╗██║ ║
║ ╚═╝ ╚═╝ ╚═════╝╚═╝ ║
║ ║
║ 60 tools for Cardano DeFi ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
That's it — 60 tools configured for Claude Desktop, Claude Code, Cursor, or Windsurf.
Run the interactive setup to automatically configure your MCP client:
bashnpx @indigoprotocol/indigo-mcp setup
This will:
1. Ask which client you're using (Claude Desktop, Claude Code, Cursor, Windsurf)
2. Prompt for your Blockfrost API key
3. Automatically update your config file
Install globally:
bashnpm install -g @indigoprotocol/indigo-mcp
Or run directly with npx (no install needed):
bashnpx @indigoprotocol/indigo-mcp
``
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
|
INDEXER_URL | No | https://analytics.indigoprotocol.io/api/v1 | Indigo analytics API base URL |
| BLOCKFROST_API_KEY | For write ops | — | Blockfrost project ID for transaction building |
| CARDANO_NETWORK | No | mainnet | Cardano network: mainnet, preprod, or preview |
| MCP_TRANSPORT | No | stdio | Transport mode: stdio or http |
| PORT | No | 3000 | HTTP server port (only used when MCP_TRANSPORT=http`) |get_assets
Get all Indigo iAssets with prices and interest data
get_asset
Get details for a specific iAsset
get_asset_price
Get the current price for a specific 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 CDPs for a specific owner
get_cdps_by_address
Get CDPs for a specific Cardano address
analyze_cdp_health
Analyze collateral ratios and liquidation risk
open_cdp
Open a new CDP position (returns unsigned CBOR tx)
deposit_cdp
Deposit additional collateral into a CDP
withdraw_cdp
Withdraw collateral from a CDP
close_cdp
Close a CDP and reclaim collateral
mint_cdp
Mint additional iAssets from an existing CDP (increases debt)
burn_cdp
Burn iAssets to reduce CDP debt
liquidate_cdp
Liquidate an undercollateralized CDP through the stability pool
redeem_cdp
Redeem iAssets from a CDP
freeze_cdp
Freeze a CDP to prevent further operations
merge_cdps
Merge multiple CDPs into one
leverage_cdp
Open a leveraged CDP by redeeming against LRP positions
get_stability_pools
Get the latest stability pool state for each iAsset
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
get_staking_info
Get the current INDY staking manager state
get_staking_positions
Get all open INDY staking positions
get_staking_positions_by_owner
Get INDY staking positions for specific owners
get_staking_position_by_address
Get INDY staking positions for a single address
process_sp_request
Process a pending stability pool request (protocol maintenance)
annul_sp_request
Cancel a pending stability pool request
open_staking_position
Stake INDY tokens by creating a new staking position
adjust_staking_position
Adjust an existing staking position (add or remove INDY)
close_staking_position
Close a staking position and unstake all INDY
distribute_staking_rewards
Distribute collected ADA rewards from collector UTxOs to stakers
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_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
get_order_book
Get open limited redemption positions
get_redemption_orders
Get redemption orders with optional filters
get_redemption_queue
Get aggregated redemption queue for an iAsset
open_lrp
Open a new LRP position with ADA and a max price limit
cancel_lrp
Cancel an existing LRP position
adjust_lrp
Adjust ADA in an LRP (positive to add, negative to remove)
claim_lrp
Claim received iAssets from an LRP position
redeem_lrp
Redeem iAssets against one or more LRP positions
feed_interest_oracle
Feed a new interest rate to the interest oracle (oracle operator only)
start_interest_oracle
Initialize a new interest oracle (admin one-time setup)
get_steelswap_tokens
Get all tokens available on Steelswap DEX
get_steelswap_estimate
Get a swap estimate from Steelswap
get_iris_liquidity_pools
Get liquidity pools from Iris
get_blockfrost_balances
Get token balances for a Cardano address
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
| Tool | Description | Parameters |
|------|-------------|------------|
| get_assets | Get all Indigo iAssets with prices and interest data | None |
| get_asset | Get details for a specific iAsset | asset: iUSD, iBTC, iETH, or iSOL |
| get_asset_price | Get the current price for a specific iAsset | asset: iUSD, iBTC, iETH, or iSOL |
| get_ada_price | Get the current ADA price in USD | None |
| get_indy_price | Get the current INDY token price in ADA and USD | None |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_all_cdps | Get all CDPs/loans, optionally filtered by iAsset | asset?: iAsset filter; limit?: 1-500 (default 50); offset?: pagination offset |
| get_cdps_by_owner | Get CDPs for a specific owner | owner: payment key hash (56-char hex) or bech32 address |
| get_cdps_by_address | Get CDPs for a specific Cardano address | address: bech32 address (addr1... or addr_test1...) |
| analyze_cdp_health | Analyze collateral ratios and liquidation risk | owner: payment key hash or bech32 address |
| Tool | Description | Parameters |
|------|-------------|------------|
| open_cdp | Open a new CDP position (returns unsigned CBOR tx) | address: bech32 address; asset: iUSD, iBTC, iETH, or iSOL; collateralAmount: lovelace; mintAmount: iAsset smallest unit |
| deposit_cdp | Deposit additional collateral into a CDP | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index; amount: lovelace |
| withdraw_cdp | Withdraw collateral from a CDP | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index; amount: lovelace |
| close_cdp | Close a CDP and reclaim collateral | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index |
| Tool | Description | Parameters |
|------|-------------|------------|
| mint_cdp | Mint additional iAssets from an existing CDP (increases debt) | address: bech32 address; asset: iUSD, iBTC, iETH, or iSOL; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: CDP UTxO output index; amount: iAsset amount in smallest unit |
| burn_cdp | Burn iAssets to reduce CDP debt | address: bech32 address; asset: iUSD, iBTC, iETH, or iSOL; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: CDP UTxO output index; amount: iAsset amount in smallest unit |
| Tool | Description | Parameters |
|------|-------------|------------|
| liquidate_cdp | Liquidate an undercollateralized CDP through the stability pool | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index |
| redeem_cdp | Redeem iAssets from a CDP | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index; amount: iAsset amount in smallest unit |
| freeze_cdp | Freeze a CDP to prevent further operations | address: bech32 address; asset: iAsset; cdpTxHash: CDP UTxO tx hash; cdpOutputIndex: output index |
| merge_cdps | Merge multiple CDPs into one | address: bech32 address; cdpOutRefs: array of {txHash, outputIndex} (min 2) |
| Tool | Description | Parameters |
|------|-------------|------------|
| leverage_cdp | Open a leveraged CDP by redeeming against LRP positions | address: bech32 address; asset: iAsset; leverage: multiplier (e.g. 2.0); baseCollateral: lovelace amount |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_stability_pools | Get the latest stability pool state for each iAsset | None |
| get_stability_pool_accounts | Get all open stability pool accounts, optionally filtered by iAsset | asset?: iUSD, iBTC, iETH, or iSOL |
| get_sp_account_by_owner | Get stability pool accounts for specific owners | owners: array of payment key hashes or bech32 addresses |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_staking_info | Get the current INDY staking manager state | None |
| get_staking_positions | Get all open INDY staking positions | None |
| get_staking_positions_by_owner | Get INDY staking positions for specific owners | owners: array of payment key hashes or bech32 addresses |
| get_staking_position_by_address | Get INDY staking positions for a single address | address: Cardano bech32 address |
| Tool | Description | Parameters |
|------|-------------|------------|
| process_sp_request | Process a pending stability pool request (protocol maintenance) | address: bech32 address; asset: iAsset; accountTxHash: account UTxO tx hash; accountOutputIndex: output index |
| annul_sp_request | Cancel a pending stability pool request | address: bech32 address; accountTxHash: account UTxO tx hash; accountOutputIndex: output index |
| Tool | Description | Parameters |
|------|-------------|------------|
| open_staking_position | Stake INDY tokens by creating a new staking position | address: bech32 address; amount: INDY amount in smallest unit |
| adjust_staking_position | Adjust an existing staking position (add or remove INDY) | address: bech32 address; amount: positive=stake more, negative=unstake; positionTxHash: UTxO tx hash; positionOutputIndex: UTxO output index |
| close_staking_position | Close a staking position and unstake all INDY | address: bech32 address; positionTxHash: UTxO tx hash; positionOutputIndex: UTxO output index |
| Tool | Description | Parameters |
|------|-------------|------------|
| distribute_staking_rewards | Distribute collected ADA rewards from collector UTxOs to stakers | address: bech32 address; collectorTxHashes: array of {txHash, outputIndex} |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_tvl | Get historical TVL data from DefiLlama | None |
| get_apr_rewards | Get all APR reward records | None |
| get_apr_by_key | Get APR for a specific key | key: APR key (e.g. sp_iUSD_indy, stake_ada) |
| get_dex_yields | Get DEX farm yields for iAsset pairs | None |
| get_protocol_stats | Get aggregated protocol statistics | None |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_protocol_params | Get latest governance protocol parameters | None |
| get_temperature_checks | Get temperature check polls | None |
| get_sync_status | Get indexer sync status | None |
| get_polls | Get all governance polls | None |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_order_book | Get open limited redemption positions | asset?: iAsset filter; owners?: array of payment key hashes |
| get_redemption_orders | Get redemption orders with optional filters | timestamp?: Unix ms; in_range?: filter by price range |
| get_redemption_queue | Get aggregated redemption queue for an iAsset | asset: iUSD, iBTC, iETH, or iSOL |
| Tool | Description | Parameters |
|------|-------------|------------|
| open_lrp | Open a new LRP position with ADA and a max price limit | address: bech32 address; asset: iAsset; lovelacesAmount: lovelace to deposit; maxPrice: on-chain integer string |
| cancel_lrp | Cancel an existing LRP position | address: bech32 address; lrpTxHash: LRP UTxO tx hash; lrpOutputIndex: output index |
| adjust_lrp | Adjust ADA in an LRP (positive to add, negative to remove) | address: bech32 address; lrpTxHash: LRP UTxO tx hash; lrpOutputIndex: output index; lovelacesAdjustAmount: adjustment; newMaxPrice?: optional new max price |
| claim_lrp | Claim received iAssets from an LRP position | address: bech32 address; lrpTxHash: LRP UTxO tx hash; lrpOutputIndex: output index |
| redeem_lrp | Redeem iAssets against one or more LRP positions | address: bech32 address; redemptionLrps: array of {txHash, outputIndex, iAssetAmount}; priceOracleTxHash; priceOracleOutputIndex; iassetTxHash; iassetOutputIndex |
| Tool | Description | Parameters |
|------|-------------|------------|
| feed_interest_oracle | Feed a new interest rate to the interest oracle (oracle operator only) | address: operator bech32 address; asset: iAsset; newInterestRate: bigint string; biasTime: ms bigint string; owner: operator pub key hash |
| start_interest_oracle | Initialize a new interest oracle (admin one-time setup) | address: admin bech32 address; initialUnitaryInterest; initialInterestRate; initialLastInterestUpdate; biasTime; owner: operator pub key hash |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_steelswap_tokens | Get all tokens available on Steelswap DEX | None |
| get_steelswap_estimate | Get a swap estimate from Steelswap | tokenIn: input token; tokenOut: output token; amountIn: amount |
| get_iris_liquidity_pools | Get liquidity pools from Iris | tokenA?: first token; tokenB?: second token; dex?: DEX filter |
| get_blockfrost_balances | Get token balances for a Cardano address | address: Cardano bech32 address |
| Tool | Description | Parameters |
|------|-------------|------------|
| get_collector_utxos | Get collector UTXOs for fee distribution | length?: max UTXOs to return |
| store_on_ipfs | Store text content on IPFS | text: content to store |
| retrieve_from_ipfs | Retrieve content from IPFS by CID | cid: IPFS content identifier |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"indigo protocol mcp": {
"indigo-mcp": {
"command": "npx",
"args": [
"-y",
"@indigoprotocol/indigo-mcp"
]
}
}
}
}
McpServers
{
"indigo-mcp": {
"command": "npx",
"args": [
"-y",
"@indigoprotocol/indigo-mcp"
]
}
}
Indigo MCP
MCP server for Indigo Protocol — exposes Indigo iAsset data, prices, and CDP/loan analytics to LLM agents via the Model Context Protocol.
⚡ 2 Commands to Get Started
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


