# Indigo Protocol MCP

# Indigo MCP

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add indigoprotocol/indigo-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list indigoprotocol/indigo-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get indigoprotocol/indigo-mcp get_tvl

# Call a tool
npx -y @smithery/cli@latest tool call indigoprotocol/indigo-mcp get_tvl '{}'
```

## Direct MCP Connection

Endpoint: `https://indigo-mcp--indigoprotocol.run.tools`

## Tools (62)

- `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-si…
- `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-…
- `redeem_cdp` — Redeem iAssets from a CDP — builds an unsigned transaction (CBOR hex) for client-side signing. To redeem the maximum po…
- `freeze_cdp` — Freeze a CDP to prevent further operations until unfrozen — builds an unsigned transaction (CBOR hex) for client-side s…
- `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 sig…
- `open_lrp` — Open a new LRP (Limit Redemption Protocol) position with ADA and a max price limit. Returns an unsigned transaction (CB…
- `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. Ret…
- `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 clie…
- `start_interest_oracle` — Initialize a new interest oracle (one-time admin setup). Returns an unsigned transaction (CBOR hex) and the minted orac…
- `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) f…
- `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 s…
- `adjust_sp_account` — Deposit to or withdraw from an existing stability pool account. Positive amount deposits, negative withdraws. Returns a…
- `close_sp_account` — Close a stability pool account and withdraw all deposited iAssets. Returns an unsigned transaction (CBOR hex) for clien…
- `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 th…
- `open_staking_position` — Stake INDY tokens by creating a new staking position. Returns an unsigned transaction (CBOR hex) for client-side signin…
- `adjust_staking_position` — Adjust an existing INDY staking position (add or remove INDY). Returns an unsigned transaction (CBOR hex) for client-si…
- `close_staking_position` — Close an INDY staking position and unstake all INDY. Returns an unsigned transaction (CBOR hex) for client-side signing.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get indigoprotocol/indigo-mcp <tool-name>
```
