Dune Analytics MCP Server について
Dune Analytics MCP Serverは、AIエージェント向けにDEX、EigenLayer、Solanaのトークン残高データを提供します。Dune Analyticsのエンドポイントを使ったクエリを構造化JSONで返します。
主な機能
- 01オンチェーンDEXペア指標の取得
- 02チェーン別の高流動性ペア検索
- 03Solanaウォレットのトークン残高取得
- 04EigenLayer AVS指標の取得
- 05AVSオペレーター統計の取得
活用シーン
- 01チェーン上のDEXペア指標の比較
- 02チェーン内で最も流動性の高いペアの検索
- 03Solanaウォレットの保有トークン確認
- 04EigenLayer AVSとオペレーターの分析
MCP 対応
MCP サーバーとして、Dune Analyticsのデータを照会するツールをクライアントに公開し、構造化JSONを返します。Dune Analytics APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dune Analytics MCP サーバー
Dune Analytics のデータを AI エージェントに橋渡しする Model Context Protocol(MCP)サーバーです。DEX 指標、EigenLayer のオペレーターと AVS の統計情報、Solana 上のトークン残高にアクセスできます。ツールでは、Dune が提供するプリセットエンドポイントとエコーエンドポイントを利用します。
機能
- ツール:
get_dex_pair_metrics:特定のチェーン上にある指定したトークンペアの基本的なメタデータと統計データを取得しますget_token_pairs_liquidity:指定したチェーン上で、USD 流動性が最も高いトークンペアを検索しますget_svm_token_balances:Solana 上の指定したウォレットアドレスのトークン残高を取得しますget_eigenlayer_avs_metrics:指定した AVS の統計情報を取得しますget_eigenlayer_operator_metrics:指定した AVS のすべてのオペレーターの統計情報を取得します
- データ形式:すべての結果は、簡単に処理できる構造化 JSON 形式で返されます
前提条件
- Node.js 16+ または Bun 1.0+
- 有効な Dune Analytics API キー(Dune Analytics から取得できます)
インストール
-
リポジトリをクローンする:
git clone https://github.com/ekailabs/dune-mcp-server.git cd dune-mcp-server -
依存関係をインストールする: Bun を使用する場合:
bun installまたは npm を使用する場合:
npm install -
環境変数を設定する: プロジェクトのルートに
.envファイルを作成し、.env.exampleを参考に設定します:DUNE_API_KEY=your_api_key_hereまたは、システム環境変数として設定します:
export DUNE_API_KEY="your_api_key_here"
使い方
サーバーの実行
Bun を使用する場合:
# Development mode with hot reload
bun dev
# Production mode
bun start
# Or build and run
bun build src/index.ts --outdir dist
bun dist/index.js
npm を使用する場合:
# Development mode with hot reload
npm run dev
# Production mode
npm start
# Or build and run
npm run build
npm run start:prod
Claude for Desktop に追加する
Claude for Desktop で使用するには、サーバーの設定を追加します:
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"dune": {
"command": "bun",
"args": [
"/ABSOLUTE/PATH/TO/dune-mcp-server/src/index.ts",
"stdio"
]
}
}
}
ツールの使用方法
-
get_dex_pair_metrics(chain, token_pair)- 説明:指定したトークンペアの基本的なメタデータと統計データを取得します
- 入力:
chain(string) - DEX の統計情報を取得するブロックチェーンtoken_pair(string) - DEX の統計情報を取得するトークンペア
- 出力:DEX 指標を含む JSON オブジェクト
-
get_token_pairs_liquidity(chain)- 説明:指定したチェーン上で、USD 流動性が最も高いトークンペアを特定します
- 入力:
chain(string) - DEX の統計情報を取得するブロックチェーン - 出力:上位トークンペアの指標を含む JSON オブジェクト
-
get_svm_token_balances(wallet_address)- 説明:Solana ブロックチェーン上にある指定したウォレットアドレスの残高を取得します
- 入力:
wallet_address(string) - 残高を取得するウォレットのアドレス - 出力:トークン残高を含む JSON 配列
-
get_eigenlayer_avs_metrics(avs_name)- 説明:指定した AVS の統計情報を取得します
- 入力:
avs_name(string) - 統計情報を取得する AVS の名前 - 出力:AVS 指標を含む JSON オブジェクト
-
get_eigenlayer_operator_metrics(avs_name)- 説明:指定した AVS のすべてのオペレーターの統計情報を取得します
- 入力:
avs_name(string) - オペレーターの統計情報を取得する AVS の名前 - 出力:オペレーターの指標を含む JSON オブジェクト
Claude for Desktop でのコマンド例
- 「ethereum 上の『USDC-WETH』トークンペアの流動性を教えてください」
- 「arbitrum 上で流動性が最も高いトークンペアを表示してください」
- 「EigenDA オペレーターのステーク分布をグラフにしてもらえますか?」
- 「EigenDA AVS にはステーカーが何人いますか?」
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
evals の実行
evals パッケージは mcp クライアントを読み込み、そのクライアントが index.ts ファイルを実行するため、テストのたびに再ビルドする必要はありません。npx コマンドの前に環境変数を指定して読み込めます。詳しいドキュメントはこちらをご覧ください。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
謝辞
- API を提供する Dune Analytics に感謝します
- プロトコル仕様を提供する Model Context Protocol に感謝します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。