Uniswap Trader MCP について
Uniswap Trader MCP は、AI エージェントが複数のブロックチェーン上で Uniswap DEX を使ったトークン交換を自動化するための MCP サーバーです。価格見積もり、スワップ実行、取引提案のツールを提供し、8 つのチェーンに対応しています。
主な機能
- 01マルチホップ経路最適化を含む価格見積もり
- 02Uniswap V3 でのスワップ実行
- 03設定可能なスリッページ許容度と期限
- 04流動性と手数料に基づく取引提案
- 05Ethereum や Base など 8 チェーンへの対応
活用シーン
- 01エージェントによるトークン交換のリアルタイム見積もり取得
- 02スリッページと期限を指定したスワップ実行
- 03チェーンごとのスワップ経路とコストの比較
MCP 対応
このプロジェクトは MCP サーバーであり、見積もりとスワップ実行のために getPrice や executeSwap などのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Uniswap Trader MCP
複数のブロックチェーン上で、AI エージェントが Uniswap DEX でのトークンスワップを自動化するための MCP サーバーです。
特長
- 価格見積もり:複数ホップのルート最適化により、トークンスワップのリアルタイム価格見積もりを取得します。
- スワップの実行:設定可能なスリッページ許容度と期限を指定して、Uniswap V3 でスワップを実行します。
- スワップの提案:流動性、手数料、最適な経路に基づいて、取引の提案を生成します。
- マルチチェーン対応:Ethereum、Optimism、Polygon、Arbitrum、Celo、BNB Chain、Avalanche、Base に対応しています。
前提条件
- Node.js:バージョン 14.x 以降。
- npm:パッケージ管理に使用します。
- ウォレット:スワップの実行に使用する、資金が入った秘密鍵付きウォレット。
- RPC エンドポイント:対応チェーンのブロックチェーン RPC URL(例:Infura、Alchemy)にアクセスできること。
インストール
Smithery 経由でのインストール
Smithery 経由で Uniswap Trader MCP を Claude Desktop に自動的にインストールするには:
npx -y @smithery/cli install @kukapay/uniswap-trader-mcp --client claude
手動インストール
-
リポジトリをクローンする:
git clone https://github.com/kukapay/uniswap-trader-mcp.git cd uniswap-trader-mcp -
依存関係をインストールする:
npm install
設定
{
"mcpServers": {
"Uniswap-Trader-MCP": {
"command": "node",
"args": ["path/to/uniswap-trader-mcp/server/index.js"],
"env": {
"INFURA_KEY": "your infura key",
"WALLET_PRIVATE_KEY": "your private key"
}
}
}
}
使用方法
対応チェーン
以下のブロックチェーンに対応しています。各チェーンが chainConfigs.js で、有効な RPC URL、WETH アドレス、SwapRouter アドレスを使用して設定されていることを確認してください。
| チェーン ID | 名前 | 備考 |
|---|---|---|
| 1 | Ethereum | メインネット。Uniswap での取引に広く利用されています |
| 10 | Optimism | レイヤー 2。Optimism RPC が必要です |
| 137 | Polygon | 高速かつ低コストで、ネイティブトークンとして MATIC を使用します |
| 42161 | Arbitrum | レイヤー 2 の Arbitrum One ネットワーク |
| 42220 | Celo | モバイルファーストのブロックチェーンで、CELO を使用します |
| 56 | BNB Chain | Binance Smart Chain。BNB を使用します |
| 43114 | Avalanche | 高スループットで、AVAX を使用します |
| 8453 | Base | Optimism 上に構築された、Coinbase のレイヤー 2 |
ツールとプロンプト
1. getPrice
Uniswap のスワップ価格見積もりを取得します。
スキーマ:
chainId:数値(デフォルト:1)tokenIn:文字列(例:"NATIVE"またはトークンアドレス)tokenOut:文字列(例:"NATIVE"またはトークンアドレス)amountIn:文字列(任意。"exactIn"の場合に必須)amountOut:文字列(任意。"exactOut"の場合に必須)tradeType:"exactIn"または"exactOut"(デフォルト:"exactIn")
プロンプトの例:
Get me a price quote for swapping 1 ETH to DAI on Ethereum.
出力:
{
"chainId": 1,
"tradeType": "exactIn",
"price": "3000.50",
"inputAmount": "1.000000",
"outputAmount": "3000.50",
"minimumReceived": "2985.50",
"maximumInput": "1.005000",
"route": [
{
"tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"fee": 3000
}
],
"estimatedGas": "150000"
}
2. executeSwap
Uniswap でスワップを実行します。
スキーマ:
chainId:数値(デフォルト:1)tokenIn:文字列tokenOut:文字列amountIn:文字列(任意。"exactIn"の場合に必須)amountOut:文字列(任意。"exactOut"の場合に必須)tradeType:"exactIn"または"exactOut"(デフォルト:"exactIn")slippageTolerance:数値(デフォルト:0.5、パーセンテージ単位)deadline:数値(デフォルト:20、分単位)
プロンプトの例:
Swap 1 ETH for DAI on Ethereum with a 0.5% slippage tolerance and a 20-minute deadline.
出力:
{
"chainId": 1,
"txHash": "0x1234...abcd",
"tradeType": "exactIn",
"amountIn": "1.000000",
"outputAmount": "2990.75",
"minimumReceived": "2985.50",
"maximumInput": "1.005000",
"fromToken": "NATIVE",
"toToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"route": [
{
"tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"fee": 3000
}
],
"gasUsed": "145000"
}
ライセンス
MIT License。詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。