Indigo Protocol Mcp

SSE

by IndigoProtocol

829 downloads Not rated yet

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Indigo Protocol Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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:

bash
npx @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:

bash
npm install -g @indigoprotocol/indigo-mcp

Or run directly with npx (no install needed):

bash
npx @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

Smithery
npm downloads
Ask DeepWiki

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.