mcpField
D
Defi Mcp

Defi Mcp

ローカル
github.com/matiosera3-ops金融データ118 週間前に更新

Defi Mcp について

Defi Mcp は、Polygon と Arbitrum の DeFi データを直接読み取る AI エージェント向け MCP サーバーです。トークン残高、Aave v3 のポジション、Chainlink 価格、Uniswap v3 のスワップシミュレーションを、中央集権型データ API を介さず提供します。

主な機能

  1. 01トークン残高の読み取り
  2. 02Aave v3 貸借ポジションの確認
  3. 03Chainlink のトークン価格取得
  4. 04Uniswap v3 スワップのシミュレーション

活用シーン

  1. 01ウォレットのトークン残高確認
  2. 02貸借ポジションと清算リスクの確認
  3. 03トークンの米ドル価格取得
  4. 04スワップ出力量の見積もり

MCP 対応

Polygon と Arbitrum 向けに、オンチェーン照会とスワップシミュレーションのツールを MCP クライアントに提供します。設定した RPC プロバイダーと Chainlink の価格フィードからデータを取得し、シミュレーションではトランザクションを送信しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"defi": {
"command": "uvx",
"args": [
"defi-mcp"
],
"env": {
"POLYGON_RPC_URL": "<POLYGON_RPC_URL>",
"ARBITRUM_RPC_URL": "<ARBITRUM_RPC_URL>"
}
}
}
}
起動コマンドuvx defi-mcp
設定が必要な環境変数
POLYGON_RPC_URLシークレットRPC URL for Polygon (e.g. from Alchemy or Infura)
ARBITRUM_RPC_URLシークレットRPC URL for Arbitrum One (e.g. from Alchemy or Infura)

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

パッケージ
pypidefi-mcp0.1.6

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

defi-mcp

AI エージェントが EVM チェーン上の DeFi データ(ウォレット残高、Aave v3 の貸借ポジション、リアルタイムのトークン価格)にオンチェーンで直接アクセスできる MCP(Model Context Protocol)サーバーです。間に中央集権型 API を挟みません。

ステータス: 稼働中で、正常に動作しています。現在 5 つのツールを利用でき、今後さらに追加予定です。

理由

「DeFi + AI」の統合の多くは、レート制限や有料化が行われたり、単にサービスが終了したりする可能性のある中央集権型 API を経由します。defi-mcp は(独自の RPC プロバイダーを介して)チェーンと、Chainlink などのファーストパーティーのオラクルに直接接続するため、AI エージェントが取得するデータはオンチェーンの内容そのものであり、検証可能で、サードパーティー API が稼働し続けることにも依存しません。

ツール

get_token_balance

対応トークンについて、任意のウォレットアドレスの ERC-20 残高を読み取ります。

対応トークン:

  • Polygon: USDC、USDC.e、USDT、WETH、WMATIC、WBTC、DAI、AAVE
  • Arbitrum: USDC、USDC.e(ブリッジ済み)、USDT、WETH、WBTC、ARB
// get_token_balance(address="0x...", token_symbol="USDC", chain="polygon")
{
  "address": "0x...",
  "token": "USDC",
  "chain": "polygon",
  "balance": 268.21,
  "raw_balance": "268210000",
  "decimals": 6
}
get_aave_position

Aave v3 Pool コントラクトから、ユーザーの Aave v3 における貸借ポジション全体(担保、負債、借入可能額、ヘルスファクター)を直接読み取ります。

// get_aave_position(address="0x...", chain="polygon")
{
  "address": "0x...",
  "chain": "polygon",
  "total_collateral_usd": 969.78,
  "total_debt_usd": 288.16,
  "available_borrows_usd": 484.86,
  "liquidation_threshold_pct": 82.79,
  "ltv_pct": 79.71,
  "health_factor": 2.79,
  "has_active_position": true
}

health_factor が 1.0 未満の場合、そのポジションは清算のリスクがあります。ヘルスファクターが null の場合、ユーザーに未返済の負債はありません。

get_token_price

Chainlink の価格フィードから、トークンの現在の米ドル価格を直接読み取ります。DeFi プロトコルが内部で使用するものと同じオラクルのため、get_aave_position が報告する価格と一致します。

対応フィード:

  • Polygon: ETH/WETH、MATIC/WMATIC、WBTC、USDC、USDT
  • Arbitrum: ETH/WETH、WBTC、ARB、USDC、USDT
// get_token_price(token_symbol="WBTC", chain="polygon")
{
  "token": "WBTC",
  "chain": "polygon",
  "price_usd": 63835.77,
  "decimals": 8,
  "updated_at": 1782032816
}
simulate_swap

QuoterV2 コントラクトを介して、オンチェーンで Uniswap v3 のスワップをシミュレートします。トランザクションは送信されず、ウォレットも不要です。4 つすべての手数料ティア(0.01%、0.05%、0.3%、1%)を試し、利用可能な出力量が最も多いものを返します。

対応トークン:

  • Polygon: USDC、USDC.e、USDT、WETH、WMATIC、WBTC、DAI、AAVE
  • Arbitrum: USDC、USDC.e(ブリッジ済み)、USDT、WETH、WBTC、ARB
// simulate_swap(token_in="WMATIC", token_out="USDC", amount_in=100.0, chain="polygon")
{
  "chain": "polygon",
  "token_in": "WMATIC",
  "token_out": "USDC",
  "amount_in": 100.0,
  "amount_out": 7.990547,
  "fee_tier_used_pct": 0.05,
  "fee_tier_used_bps": 500,
  "gas_estimate": 122770
}

いずれの手数料ティアにもペアのプールが存在しない場合、{"error": "No liquidity found for this pair on any fee tier"} を返します。

hello

シンプルな接続確認です。MCP サーバーに到達でき、応答していることを確認します。

対応チェーン

チェーンget_token_balanceget_aave_positionget_token_pricesimulate_swap
Polygon✅✅✅✅
Arbitrum✅✅✅✅

インストール

Python 3.10 以降と RPC プロバイダーの API キー(例:Alchemy、無料プランで利用可能)が必要です。

pip install defi-mcp

作業ディレクトリに .env ファイルを作成します(.env.example を参照)。

POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY

各チェーンで設定が必要なのは RPC URL のみです。chain="arbitrum" を指定して呼び出したツールは、ARBITRUM_RPC_URL が設定されていない場合でも、適切にエラーを処理します。

Claude Desktop での使用方法

Claude Desktop の MCP 設定(claude_desktop_config.json)に次の内容を追加します。

{
  "mcpServers": {
    "defi-mcp": {
      "command": "uvx",
      "args": ["defi-mcp"],
      "env": {
        "POLYGON_RPC_URL": "https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY",
        "ARBITRUM_RPC_URL": "https://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
      }
    }
  }
}

Claude Desktop を再起動すると、上記のツールをモデルから利用できるようになります。

ローカルでのテスト

公式の MCP Inspector を使って、サーバーを直接テストできます。

npx @modelcontextprotocol/inspector uvx defi-mcp

ロードマップ

  • Uniswap v3 の LP ポジションとインパーマネントロスの追跡
  • プロトコルの TVL を監視
  • 対応チェーンの追加(Ethereum、Base)
  • defi-mcp-cloud — MEV 専用ツール、キャッシュ、高いレート制限を備えたホステッドプラン

アーキテクチャ

オープンコアモデルです。このリポジトリ(MIT ライセンス)では、標準的なオンチェーン読み取りツールを提供します。別途提供予定の defi-mcp-cloud では、自前のインフラを運用したくないユーザー向けに、MEV 関連ツール、リクエストキャッシュ、管理された RPC アクセスを備えたホステッド版を提供します。

リソース

  • defi-storage-cheatsheet — Aave v3 と Uniswap v3 の検証済み EVM ストレージスロットレイアウトと、web3.py のスニペットを掲載しています。view 関数を呼び出す代わりに、eth_getStorageAt を使ってオンチェーンの状態を直接読み取りたい場合に便利です。この MCP サーバーが内部で行う処理の一部を支える、より低レベルなアプローチです。

コントリビューション

Issue と PR を歓迎します。まだ開発初期のプロジェクトです。どのようなツールが実際に役立つかについて、ぜひご意見をお寄せください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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