mcpField
I
Indigo Protocol Mcp

Indigo Protocol Mcp

ローカル
github.com/IndigoProtocolデータ・分析67 週間前に更新

Indigo Protocol Mcp について

Indigo Protocol Mcpは、Cardano上のIndigo Protocol向けMCPサーバーです。AIエージェントにiAsset価格やCDP分析、プロトコルデータを提供し、一部の操作にも対応します。

主な機能

  1. 01iAsset、ADA、INDY価格の取得
  2. 02CDPの閲覧と健全性分析
  3. 03安定プール、ステーキング、ガバナンスの確認
  4. 04TVL、APR、DEXデータの参照
  5. 05CDPと償還の操作

活用シーン

  1. 01iAsset価格と金利データの追跡
  2. 02保有者のCDP清算リスクの確認
  3. 03利回り、ガバナンス、プールの分析
  4. 04ツールを使ったCDPポジション管理

MCP 対応

MCPサーバーは、Indigo Protocolの資産、CDP、安定プール、ステーキング、ガバナンス、DEXデータと一部のオンチェーン操作ツールをクライアントに公開します。stdioとHTTPに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"indigo": {
"command": "npx",
"args": [
"-y",
"@indigoprotocol/indigo-mcp"
]
}
}
}
起動コマンドnpx -y @indigoprotocol/indigo-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@indigoprotocol/indigo-mcp0.4.2

ツール

69

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

Indigo MCP

Smithery npm downloads Ask DeepWiki

Indigo Protocol 用の MCP サーバーです。Model Context Protocol を介して、Indigo の iAsset データ、価格、CDP/ローン分析を LLM エージェントに提供します。

⚡ クイックスタート — Cardano DeFi のフルスタック

MCP サーバー(75 個のツール)
# 1. Install & Setup Indigo MCP (69 tools)
npm install -g @indigoprotocol/indigo-mcp
npx @indigoprotocol/indigo-mcp setup

# 2. Install & Setup Cardano MCP (6 wallet tools)
npm install -g @indigoprotocol/cardano-mcp
npx @indigoprotocol/cardano-mcp setup
AI スキル(13 個のスキル)— オプション
# 3. Install Indigo Skills
npx @indigoprotocol/indigo-skills

# 4. Install Cardano Skills
npx @indigoprotocol/cardano-skills
╔═══════════════════════════════════════════════════════════════╗
║                                                               ║
║   ██╗███╗   ██╗██████╗ ██╗ ██████╗  ██████╗                   ║
║   ██║████╗  ██║██╔══██╗██║██╔════╝ ██╔═══██╗                  ║
║   ██║██╔██╗ ██║██║  ██║██║██║  ███╗██║   ██║                  ║
║   ██║██║╚██╗██║██║  ██║██║██║   ██║██║   ██║                  ║
║   ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝                  ║
║   ╚═╝╚═╝  ╚═══╝╚═════╝ ╚═╝ ╚═════╝  ╚═════╝                   ║
║                                                               ║
║   ███╗   ███╗ ██████╗██████╗                                  ║
║   ████╗ ████║██╔════╝██╔══██╗                                 ║
║   ██╔████╔██║██║     ██████╔╝                                 ║
║   ██║╚██╔╝██║██║     ██╔═══╝                                  ║
║   ██║ ╚═╝ ██║╚██████╗██║                                      ║
║   ╚═╝     ╚═╝ ╚═════╝╚═╝                                      ║
║                                                               ║
║   75 tools • 13 skills for Cardano DeFi                       ║
║                                                               ║
╚═══════════════════════════════════════════════════════════════╝

セットアップコマンドにより、Claude Desktop、Claude Code、Cursor、Windsurf が自動的に設定されます。手動で設定を編集する必要はありません。

機能

  • iAsset のリアルタイム価格(iUSD、iBTC、iETH、iSOL、iEUR、iJPY)
  • ADA および INDY トークンの価格フィード
  • ページネーションとフィルタリングによる CDP/ローンの閲覧
  • payment key hash または bech32 アドレスによる所有者の検索
  • 担保率と清算リスクの状態による CDP の健全性分析
  • ステーブルプールの状態およびアカウントの照会
  • INDY のステーキングポジションおよびマネージャーの状態
  • プロトコル分析:TVL、APR 報酬、DEX 利回り、集計統計
  • ガバナンス:プロトコルパラメーター、投票、温度チェック
  • 償還オーダーブックとキューの集計
  • DEX プロキシ:Steelswap のスワップ、Iris の流動性プール、Blockfrost の残高
  • CDP の清算、償還、凍結、統合操作
  • ROB ポジションによるレバレッジ CDP の開設
  • ROB(Redemption Order Book)ポジションの管理
  • オラクルの金利フィードと初期化
  • ステーブルプールのリクエスト処理とキャンセル
  • ステーキング報酬の配布
  • コレクターの UTXO、IPFS への保存と取得

ホステッドデプロイ

ホステッドデプロイは Fronteir AI で利用できます。

クイックスタート

自動セットアップ(推奨)

対話型セットアップを実行して、MCP クライアントを自動的に設定します。

npx @indigoprotocol/indigo-mcp setup

以下の処理が行われます。

  1. 使用しているクライアント(Claude Desktop、Claude Code、Cursor、Windsurf)を尋ねます
  2. Blockfrost API キーの入力を求めます
  3. 設定ファイルを自動的に更新します
手動インストール

グローバルにインストールします。

npm install -g @indigoprotocol/indigo-mcp

または、npx で直接実行します(インストール不要)。

npx @indigoprotocol/indigo-mcp
Docker

このイメージはソースからサーバーをビルドするため、事前に pnpm build を実行する必要はなく、外部のビルド手順にも依存しません。

docker build -t indigo-mcp .
docker run -p 3000:3000 -e BLOCKFROST_API_KEY=your-key indigo-mcp

HTTP トランスポートをポート 3000 で実行します(MCP_TRANSPORT=http はあらかじめ設定されています)。これは Fly のデプロイで使用される設定です。

HTTP トランスポート(リモート)

リモート/ホステッドデプロイ向けに、サーバーは HTTP トランスポートをサポートしています。

MCP_TRANSPORT=http PORT=3000 npx @indigoprotocol/indigo-mcp

次の機能を備えた HTTP サーバーが起動します。

  • POST /mcp — MCP エンドポイント(SSE を使用する Streamable HTTP)
  • GET /health — ヘルスチェック

各クライアントには専用のセッションが割り当てられます。initialize は Mcp-Session-Id を返し、以降のリクエストではこの ID を送り返す必要があります。再起動したクライアントは、再度 initialize を実行するだけで接続できます。既存のセッションには影響せず、サーバーを再起動する必要もありません。バインドアドレスとポートは HOST と PORT で指定します(PORT の別名として MCP_PORT も使用できます)。

設定

注: 書き込み操作(トランザクションの構築)には BLOCKFROST_API_KEY が必要です。読み取り専用ツールはキーなしで動作します。blockfrost.io で無料のキーを取得できます。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

# macOS
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows (PowerShell)
notepad "$env:APPDATA\Claude\claude_desktop_config.json"

標準設定:

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    }
  }
}

nvm ユーザー(複数の Node バージョンを使用する場合):

nvm を使用して複数の Node バージョンを使い分けている場合は、完全なパスを指定し、PATH を明示的に設定する必要があることがあります。

{
  "mcpServers": {
    "indigo": {
      "command": "/Users/YOUR_USERNAME/.nvm/versions/node/v22.22.0/bin/npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "PATH": "/Users/YOUR_USERNAME/.nvm/versions/node/v22.22.0/bin:/usr/local/bin:/usr/bin:/bin",
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    }
  }
}

注: YOUR_USERNAME と Node のバージョンを実際の値に置き換えてください。which npx で Node のパスを確認できます。

Claude Code(CLI)

~/.claude/settings.json またはプロジェクト内の .claude/settings.json に追加します。

nano ~/.claude/settings.json
{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    }
  }
}
Cursor

~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクトレベル)に追加します:

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    }
  }
}
OpenClaw

OpenClaw 用の Indigo スキルをインストールします:

openclaw skills add IndigoProtocol/indigo-skills

スキルは自動的に設定されるため、すぐに Indigo ツールを使い始められます。

Cardano MCP と併用する

Cardano DeFi の機能をすべて利用するには、Indigo MCP と Cardano MCP を併用します:

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id"
      }
    },
    "cardano": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/cardano-mcp"],
      "env": {
        "SEED_PHRASE": "word1,word2,word3,...",
        "BLOCKFROST_PROJECT_ID": "your-blockfrost-project-id"
      }
    }
  }
}
あらゆる MCP 対応クライアント

stdio 経由でサーバーを直接実行します:

INDEXER_URL=https://analytics.indigoprotocol.io/api \
BLOCKFROST_API_KEY=your-blockfrost-project-id \
npx @indigoprotocol/indigo-mcp

または、グローバルにインストールして、バイナリを指定します:

npm install -g @indigoprotocol/indigo-mcp
indigo-mcp

stdio 経由の MCP をサポートするクライアントであれば、上記の環境変数を設定した npx @indigoprotocol/indigo-mcp コマンドを指定してください。

利用可能なツール

資産ツール
ツール説明パラメーター
get_assetsIndigo のすべての iAssets の価格と利息データを取得しますなし
get_asset指定した iAsset の詳細を取得しますasset: iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA
get_asset_price指定した iAsset の現在価格を取得しますasset: iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA
get_ada_priceADA の現在の USD 価格を取得しますなし
get_indy_priceINDY トークンの現在価格を ADA と USD で取得しますなし
CDP/ローンツール
ツール説明パラメーター
get_all_cdpsすべての CDP/ローンを取得します。オプションで iAsset による絞り込みが可能ですasset?: iAsset による絞り込み;limit?: 1~500(デフォルトは 50);offset?: ページネーションのオフセット
get_cdps_by_owner指定した所有者の CDP を取得しますowner: 支払い鍵ハッシュ(56 文字の 16 進数)または bech32 アドレス
get_cdps_by_address指定した Cardano アドレスの CDP を取得しますaddress: bech32 アドレス(addr1... または addr_test1...)
analyze_cdp_health担保比率と清算リスクを分析しますowner: 支払い鍵ハッシュまたは bech32 アドレス
CDP 書き込みツール

Pyth 価格設定の iAssets には送信期限があります。 現在、すべての iAsset は Pyth を通じて価格設定されており、オンチェーンのフィードバリデーターは、埋め込まれた価格更新から 280 秒間 のみトランザクションを受け付けます。そのため、価格に依存する書き込みツール(open_cdp、withdraw_cdp、mint_cdp、redeem_cdp、freeze_cdp、 leverage_cdp、redeem_rob)は、価格、そのタイムスタンプ、submitBefore 期限を含む summary.pyth ブロックを返します。署名にそれ以上の時間がかかる場合(ハードウェアウォレットを使用する場合や、ブラウザーで人間が承認する場合など)は、古いトランザクションを送信せず、トランザクションを再構築してください。期限切れの価格更新は、ビルド時に再試行のヒントとともに拒否されます。

ツール説明パラメーター
open_cdp新しい CDP ポジションを開く(未署名の CBOR トランザクションを返します)address:bech32 アドレス;asset:iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA;collateralAmount:lovelace;mintAmount:iAsset の最小単位
deposit_cdpCDP に担保を追加で預け入れるaddress:bech32 アドレス;asset:iAsset;cdpTxHash:CDP UTxO のトランザクションハッシュ;cdpOutputIndex:出力インデックス;amount:lovelace
withdraw_cdpCDP から担保を引き出すaddress:bech32 アドレス;asset:iAsset;cdpTxHash:CDP UTxO のトランザクションハッシュ;cdpOutputIndex:出力インデックス;amount:lovelace
close_cdpCDP を閉じて担保を回収するaddress:bech32 アドレス;asset:iAsset;cdpTxHash:CDP UTxO のトランザクションハッシュ;cdpOutputIndex:出力インデックス
CDP ミント/バーンツール
ツール説明パラメーター
mint_cdp既存の CDP から iAssets を追加でミントする(債務が増加します)address:bech32 アドレス;asset:iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA;cdpTxHash:CDP UTxO のトランザクションハッシュ;cdpOutputIndex:CDP UTxO の出力インデックス;amount:iAsset の最小単位での数量
burn_cdpiAssets をバーンして CDP の債務を減らすaddress:bech32 アドレス;asset:iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA;cdpTxHash:CDP UTxO のトランザクションハッシュ;cdpOutputIndex:CDP UTxO の出力インデックス;amount:iAsset の最小単位での数量
CDP 清算・償還ツール
ツール説明パラメーター
liquidate_cdp安定性プールを通じて担保不足の CDP を清算しますaddress: bech32 アドレス;asset: iAsset;cdpTxHash: CDP UTxO のトランザクションハッシュ;cdpOutputIndex: 出力インデックス
redeem_cdpCDP から iAsset を償還しますaddress: bech32 アドレス;asset: iAsset;cdpTxHash: CDP UTxO のトランザクションハッシュ;cdpOutputIndex: 出力インデックス;amount: 最小単位での iAsset の数量
freeze_cdp以降の操作を防ぐために CDP を凍結しますaddress: bech32 アドレス;asset: iAsset;cdpTxHash: CDP UTxO のトランザクションハッシュ;cdpOutputIndex: 出力インデックス
merge_cdps複数の CDP を 1 つに統合しますaddress: bech32 アドレス;cdpOutRefs: {txHash, outputIndex} の配列(最小 2 件)
レバレッジ CDP ツール
ツール説明パラメーター
leverage_cdpROB ポジションに対する償還によってレバレッジ CDP を開設しますaddress: bech32 アドレス;asset: iAsset;leverage: 倍率(例:2.0);baseCollateral: lovelace の数量
安定性プールツール
ツール説明パラメーター
get_stability_pools各 iAsset の最新の安定性プール状態を取得しますなし
get_stability_pool_accountsオープン中の安定性プールアカウントをすべて取得します。iAsset で絞り込むこともできますasset?: iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA
get_sp_account_by_owner指定した所有者の安定性プールアカウントを取得しますowners: 支払いキーのハッシュまたは bech32 アドレスの配列
ステーキングツール
ツール説明パラメーター
get_staking_info現在の INDY ステーキングマネージャーの状態を取得しますなし
get_staking_positionsオープン中の INDY ステーキングポジションをすべて取得しますなし
get_staking_positions_by_owner指定した所有者の INDY ステーキングポジションを取得しますowners: 支払いキーのハッシュまたは bech32 アドレスの配列
get_staking_position_by_address1 つのアドレスの INDY ステーキングポジションを取得しますaddress: Cardano bech32 アドレス
安定性プールリクエストツール
ツール説明パラメーター
process_sp_request保留中の安定性プールリクエストを処理します(プロトコルのメンテナンス)address:bech32 アドレス;asset:iAsset;accountTxHash:アカウント UTxO のトランザクションハッシュ;accountOutputIndex:出力インデックス
annul_sp_request保留中の安定性プールリクエストをキャンセルしますaddress:bech32 アドレス;accountTxHash:アカウント UTxO のトランザクションハッシュ;accountOutputIndex:出力インデックス
ステーキング書き込みツール
ツール説明パラメーター
open_staking_position新しいステーキングポジションを作成して INDY トークンをステーキングしますaddress:bech32 アドレス;amount:最小単位での INDY 量
adjust_staking_position既存のステーキングポジションを調整します(INDY の追加または引き出し)address:bech32 アドレス;amount:正の値=追加ステーキング、負の値=ステーキング解除;positionTxHash:UTxO のトランザクションハッシュ;positionOutputIndex:UTxO の出力インデックス
close_staking_positionステーキングポジションを閉じ、すべての INDY のステーキングを解除しますaddress:bech32 アドレス;positionTxHash:UTxO のトランザクションハッシュ;positionOutputIndex:UTxO の出力インデックス
ステーキング報酬ツール
ツール説明パラメーター
distribute_staking_rewardsコレクター UTxO からステーキング参加者に、回収した ADA 報酬を分配しますaddress:bech32 アドレス;collectorTxHashes:{txHash, outputIndex} の配列
分析・APR ツール
ツール説明パラメーター
get_tvlDefiLlama から過去の TVL データを取得しますなし
get_apr_rewardsすべての APR 報酬レコードを取得しますなし
get_apr_by_key指定したキーの APR を取得しますkey:APR キー(例:sp_iUSD_indy、stake_ada)
get_dex_yieldsiAsset ペアの DEX ファーム利回りを取得しますなし
get_protocol_stats集計済みのプロトコル統計情報を取得しますなし
ガバナンスツール
ツール説明パラメーター
get_protocol_params最新のガバナンスプロトコルパラメーターを取得しますなし
get_temperature_checks温度感チェックの投票を取得しますなし
get_pollsすべてのガバナンス投票を取得しますなし
償還・オーダーブックツール
ツール説明パラメーター
get_order_bookオープン中の ROB(償還オーダーブック)のポジションを取得しますasset?: iAsset フィルター;owners?: 支払いキーのハッシュの配列
get_redemption_orders約定済みの償還注文を取得しますasset?: iAsset フィルター;limit?: 最大レコード数(デフォルトは 100)
get_redemption_queueiAsset のオープン中の ROB オーダーブックエントリーを取得しますasset: iUSD、iBTC、iETH、iSOL、iEUR、iJPY、または iADA
ROB 書き込みツール
ツール説明パラメーター
open_robADA と最大価格制限を指定して新しい ROB ポジションを開きますaddress: bech32 アドレス;asset: iAsset;lovelacesAmount: 預け入れる lovelace;maxPriceNumerator + maxPriceDenominator: 最大価格の有理数
cancel_rob既存の ROB ポジションをキャンセルしますaddress: bech32 アドレス;robTxHash: ROB UTxO のトランザクションハッシュ;robOutputIndex: 出力インデックス
adjust_robROB 内の ADA を調整します(正の値で追加、負の値で削除)address: bech32 アドレス;robTxHash: ROB UTxO のトランザクションハッシュ;robOutputIndex: 出力インデックス;lovelacesAdjustAmount: 調整量;newMaxPriceNumerator? + newMaxPriceDenominator?: 新しい最大価格の有理数(任意)
claim_robROB ポジションから受け取った iAssets を請求しますaddress: bech32 アドレス;robTxHash: ROB UTxO のトランザクションハッシュ;robOutputIndex: 出力インデックス
redeem_rob1 つ以上の ROB ポジションに対して iAssets を償還しますaddress: bech32 アドレス;asset: iAsset;redemptionRobs: {txHash, outputIndex, amount} の配列
DEX プロキシツール
ツール説明パラメーター
get_steelswap_tokensSteelswap DEX で利用可能なすべてのトークンを取得しますなし
get_steelswap_estimateSteelswap でのスワップ見積もりを取得しますtokenIn: 入力トークン;tokenOut: 出力トークン;amountIn: 数量
get_iris_liquidity_poolsIris の流動性プールを取得しますtokenA?: 1 つ目のトークン;tokenB?: 2 つ目のトークン;dex?: DEX フィルター
get_blockfrost_balancesCardano アドレスのトークン残高を取得しますaddress: Cardano の bech32 アドレス
コレクターとIPFSのツール
ツール説明パラメーター
get_collector_utxos手数料分配用のコレクターUTXOを取得しますlength?:返すUTXOの最大数
store_on_ipfsテキストコンテンツをIPFSに保存しますtext:保存するコンテンツ
retrieve_from_ipfsCIDを指定してIPFSからコンテンツを取得しますcid:IPFSコンテンツ識別子
利息のツール(v3)
ツール説明パラメーター
collect_interest1つ以上のCDPについて、発生した利息を回収するトランザクションを構築しますasset、cdps[]
distribute_interest回収した利息を分配するトランザクションを構築します(管理者向け)address
feed_interest_oracle利息オラクルに新しい利率を送信します(管理者向け)address、オラクルのパラメーター
get_interest_oracleiAssetの現在の利息オラクル状態を読み取りますasset
オラクル/Pythのツール(v3)
ツール説明パラメーター
get_oracle_priceiAssetのオンチェーン価格(OracleNft/Delisted/Pyth)を取得しますasset
get_pyth_priceiAssetの現在のPyth価格と、オンチェーンのフィード設定を取得しますasset
feed_price_oracleOracleNftベースの価格オラクルに新しい価格を送信します(管理者向け)address、oracleTxHash、価格
ステーブルスワップのツール(v3)
ツール説明パラメーター
get_stableswap_pool(iAsset、担保資産)のステーブルスワッププールの状態を取得しますasset
create_stableswap_orderステーブルスワッププール経由で担保資産↔iAssetをスワップするトランザクションを構築しますaddress、asset、amount、minting
cancel_stableswap_orderステーブルスワップ注文をキャンセルするトランザクションを構築しますaddress、orderTxHash、orderOutputIndex

環境変数

変数必須デフォルト説明
INDEXER_URLいいえhttps://analytics.indigoprotocol.io/apiIndigo 分析 API のベース URL
BLOCKFROST_API_KEY書き込み操作に必要—トランザクション構築用の Blockfrost プロジェクト ID
CARDANO_NETWORKいいえmainnetCardano ネットワーク:mainnet、preprod、または preview
MCP_TRANSPORTいいえstdioトランスポートモード:stdio または http
PORTいいえ3000HTTP サーバーのポート(MCP_TRANSPORT=http の場合のみ使用)。MCP_PORT もエイリアスとして使用できます
HOSTいいえ0.0.0.0HTTP バインドアドレス(MCP_TRANSPORT=http の場合のみ使用)。ローカルのみにバインドするには 127.0.0.1 を設定します
X402_PRIVATE_KEYいいえ—支払いウォレットの EVM 秘密鍵(0x…)— split フローによる自動支払いを有効にします
PAYMENT_SERVERいいえhttps://mcp.openmm.io決済ワーカー/プロキシの URL
X402_TESTNETいいえfalseBase Sepolia テストネットを使用します
X402_FACILITATOR_URLいいえ—フォールバックのファシリテーター(PAYMENT_SERVER が未設定の場合のみ使用)

クエリの例

LLM エージェントに接続すると、次のような自然言語で質問できます。

  • 「すべての Indigo iAssets の現在の価格を教えてください」
  • 「現在の iUSD の価格はいくらですか?」
  • 「ADA の米ドル換算額はいくらですか?」
  • 「すべての iETH CDP を表示してください」
  • 「このアドレスが所有する CDP はどれですか?」(Cardano アドレスを貼り付けてください)
  • 「自分の CDP の健全性を分析してください」(アドレスまたは支払いキーのハッシュを指定してください)
  • 「清算リスクのあるポジションはありますか?」
  • 「現在の安定性プールの状態を表示してください」
  • 「自分の安定性プールへの預け入れ額を教えてください」(アドレスを指定してください)
  • 「INDY のステーキング量を教えてください」(アドレスを指定してください)
  • 「Indigo の現在の TVL はいくらですか?」
  • 「iUSD 安定性プールで獲得できる APR はどのくらいですか?」
  • 「現在のガバナンスプロトコルのパラメーターを教えてください」
  • 「iUSD の償還キューを表示してください」
  • 「100 ADA を iUSD にスワップする場合の Steelswap の見積もりを取得してください」
  • 「iAsset ペアの現在の DEX 利回りを教えてください」

配布

このサーバーは 3 か所で公開されていますが、公開される成果物はそれぞれ異なります。

対象ビルド元出力公開者
npm — @indigoprotocol/indigo-mcpscripts/build.shdist/CI、v* タグで公開
MCP Registry — io.github.IndigoProtocol/indigo-mcpserver.jsonメタデータのみCI、v* タグで公開(GitHub OIDC — トークン不要)
Smitheryscripts/smithery-build.sh.smithery/stdio/server.mcpbpnpm smithery:publish、手動で公開

コンテナーイメージ(Dockerfile)はソースからビルドされ、Fly やその他のコンテナーホストで使用されます。.smithery/` の出力は使用しません。このパスは Smithery 専用です。

リリースの作成
  1. バージョン更新(package.json。SERVER_VERSION はここから読み取られます)をマージします
  2. git tag vX.Y.Z && git push origin vX.Y.Z
  3. CI が npm に公開し、続いて MCP Registry に公開します(レジストリはパッケージの mcpName フィールドで所有権を検証するため、先に npm への公開が必要です)
  4. ワークフローではなくレジストリで確認します:npm view @indigoprotocol/indigo-mcp version
  5. ホストされた HTTP エンドポイントには fly deploy、Smithery には pnpm smithery:publish を実行します

開発

前提条件
  • Node.js >= 20(バンドルされている undici では、Node 20 で追加された File グローバルが必要です)
  • npm
セットアップ
git clone https://github.com/IndigoProtocol/indigo-mcp.git
cd indigo-mcp
npm install
npm run dev      # run with tsx (hot reload)
スクリプト
npm run build          # compile TypeScript
npm run start          # run compiled server
npm run dev            # run with tsx (hot reload)
npm run typecheck      # type-check without emitting
npm run lint           # eslint
npm run lint:fix       # eslint --fix
npm run format         # prettier
npm run format:check   # prettier --check
npm run test           # run tests
npm run test:watch     # run tests in watch mode
プロジェクト構成
src/
├── index.ts                       # Server entry point (stdio transport)
├── payment.ts                     # x402 configuration: chain addresses + tool price tiers
├── payment-client.ts              # withAutoPayment: client-side auto-pay on 402 responses
├── types/
│   └── tx-types.ts                # UnsignedTxResult, TxSummary types
├── tools/
│   ├── index.ts                   # Tool registration hub
│   ├── asset-tools.ts             # 5 asset/price tools
│   ├── cdp-tools.ts               # 4 CDP/loan tools
│   ├── stability-pool-tools.ts    # 3 stability pool tools
│   ├── staking-tools.ts           # 4 INDY staking tools
│   ├── staking-write-tools.ts     # 3 INDY staking write tools
│   ├── staking-reward-tools.ts    # 1 staking reward distribution tool
│   ├── cdp-liquidation-tools.ts   # 4 CDP liquidation/redemption/freeze/merge tools
│   ├── leverage-cdp-tools.ts      # 1 leveraged CDP tool
│   ├── rob-write-tools.ts         # 5 ROB write tools

│   ├── sp-request-tools.ts        # 2 SP request processing tools
│   ├── analytics-tools.ts         # 5 analytics/APR tools
│   ├── governance-tools.ts        # 3 governance tools
│   ├── redemption-tools.ts        # 3 redemption/order book tools
│   ├── dex-tools.ts               # 4 DEX proxy tools
│   └── collector-tools.ts         # 3 collector/IPFS tools
├── resources/
│   └── index.ts                   # MCP resource definitions
├── tests/
│   ├── unit/
│   │   ├── tools/                 # Unit tests for each tool module
│   │   └── utils/                 # Unit tests for validators, address
│   └── integration/
│       └── indexer-client.test.ts # Integration test for HTTP client
└── utils/
    ├── index.ts                   # Re-exports
    ├── indexer-client.ts          # Axios client for Indigo analytics API
    ├── validators.ts              # Zod validators (AssetParam enum)
    ├── address.ts                 # Bech32 address → payment credential
    ├── lucid-provider.ts          # Lucid + Blockfrost singleton provider
    ├── sdk-config.ts              # SystemParams loader with cache
    └── tx-builder.ts              # Transaction builder → unsigned CBOR
stdin 経由でのテスト

サーバーは stdio を介して JSON-RPC で通信します。ツールを直接テストできます:

npm run build
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}' | node dist/index.js

x402 による支払いゲーティング

Indigo MCP では、x402 protocol を使った呼び出しごとのマイクロペイメントで、ツールへのアクセスを任意で制限できます。支払いはデフォルトで無効です。有効にするには、少なくとも 1 つのウォレットアドレスを設定してください。

仕組み

支払いには、openMM-MCP と同じアーキテクチャの 分割実行 モデルを使用します:

  1. ツールが呼び出されます(呼び出し元から支払いヘッダーを送る必要はありません)
  2. ゲートが呼び出しをインターセプトし、決済ワーカー(デフォルトでは mcp.openmm.io)に問い合わせます
  3. ワーカーは EIP-3009 の要件(金額、受取人、チェーン)とともに 402 を返します
  4. ゲートは X402_PRIVATE_KEY を使ってローカルで署名します。このキーがこのプロセスの外に出ることはありません
  5. ゲートは署名済みの支払い情報を付けて再試行し、ワーカーがオンチェーンで検証して JWT を発行します
  6. ゲートは JWT をローカルで検証し、元のツールハンドラーを実行します
  7. 決済トランザクションのハッシュがツールの応答に挿入されます

これにより、プロセスの分離を明確に保てます。indigo-mcp が保持するのは支払い側のキーのみで、受取人のウォレットを保持することはありません。検証と決済は openmm.io プロキシが処理します。

  • 読み取りツール(get_tvl、get_asset_price、…)は、1 回の呼び出しにつき $0.001 USDC です
  • 分析ツール(analyze_cdp_health)は、1 回の呼び出しにつき $0.005 USDC です
  • 書き込みツール(open_cdp、mint_cdp、…)は、1 回の呼び出しにつき $0.01 USDC です
環境変数
変数必須デフォルト説明
X402_PRIVATE_KEY有効化に必要—支払い側ウォレットの EVM 秘密鍵(0x…)。分割支払いを有効にします
PAYMENT_SERVER任意https://mcp.openmm.io決済ワーカー/プロキシの URL
X402_TESTNET任意falseBase Sepolia テストネットを使用します
X402_FACILITATOR_URL任意—フォールバック用ファシリテーターの URL(PAYMENT_SERVER が設定されていない場合のみ使用)
分割実行フロー

X402_PRIVATE_KEY が設定されている場合、有料のツール呼び出しはすべて透過的に処理されます:

  1. ゲートが PAYMENT_SERVER(デフォルトでは https://mcp.openmm.io)に問い合わせます
  2. EIP-3009 にローカルで署名します。秘密鍵がこのプロセスの外に出ることはありません
  3. プロキシがオンチェーンで検証し、有効期間の短い JWT を発行します
  4. ゲートが JWT を検証し、ツールを実行して、決済トランザクションのハッシュを応答に挿入します

X402_PRIVATE_KEY が設定されていない場合、ゲートは無効になり、すべてのツールが支払いなしで実行されます。

# Minimal: just set the payer key (proxy defaults to mcp.openmm.io)
X402_PRIVATE_KEY=0xYourPayerPrivateKey npx @indigoprotocol/indigo-mcp

# Self-hosted proxy
X402_PRIVATE_KEY=0xYourPayerPrivateKey \
PAYMENT_SERVER=https://your-own-proxy \
npx @indigoprotocol/indigo-mcp
ローカル開発
# 1. Copy example env
cp .env.example .env
# Edit .env and set X402_PRIVATE_KEY to a funded Base Sepolia wallet

# 2. Start the HTTP server
MCP_TRANSPORT=http PORT=3000 npm run dev

# 3. Run the payment e2e tests
X402_TESTNET=true npm test -- x402-payment
x402 を使用する MCP クライアント設定

クライアントが使用する MCP 設定ファイルに env ブロックを追加します:

Claude Code(~/.claude/settings.json):

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id",
        "X402_PRIVATE_KEY": "0xYourPayerPrivateKey",
        "X402_TESTNET": "true"
      }
    }
  }
}

Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "indigo": {
      "command": "npx",
      "args": ["-y", "@indigoprotocol/indigo-mcp"],
      "env": {
        "INDEXER_URL": "https://analytics.indigoprotocol.io/api",
        "BLOCKFROST_API_KEY": "your-blockfrost-project-id",
        "X402_PRIVATE_KEY": "0xYourPayerPrivateKey",
        "X402_TESTNET": "true"
      }
    }
  }
}

Cursor / Windsurf — 同じ env ブロックを ~/.cursor/mcp.json または ~/.codeium/windsurf/mcp_config.json に適用できます。

Base メインネットでは X402_TESTNET を false に設定するか、省略してください。

ライセンス

ISC

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。