Jupiter MCP サーバー
Jupiter の新しい Ultra API を使用して Solana ブロックチェーン上でトークンスワップを実行するための MCP サーバー。
特徴
Jupiter の Ultra API からスワップ注文を取得し、DEX ルーティングと RFQ (見積依頼) を組み合わせて最適な価格設定を実現します。
Jupiter の Ultra API を介してスワップを実行し、スリッページ、優先手数料、トランザクションの着地を処理します。
Related MCP server: Solana Model Context Protocol (MCP) Demo
前提条件
Node.js : バージョン 18 以上 (ネイティブ
fetchサポート用)。Solana ウォレット: トランザクションに署名するための秘密鍵 (base58 エンコード)。
RPC エンドポイント: Solana RPC ノードへのアクセス (例:
https://api.mainnet-beta.solana.com)。
インストール
リポジトリのクローンを作成します:
git clone https://github.com/your-username/jupiter-mcp.git cd jupiter-mcp依存関係のインストール: MCP サーバー パッケージとその他の必要な依存関係がインストールされていることを確認します。
npm installクライアント構成:
ツール
ウルトラAPIツール
get-ultra-order:説明: Jupiter の Ultra API からスワップ注文を取得し、DEX ルーティングと RFQ の両方を活用して最適な価格設定を行います。
入力:
inputMint: トークンミントアドレスを入力します (例: SOL またはトークン公開キー)。outputMint: トークンのミントアドレス(例:USDC またはトークン公開鍵)を出力します。amount: 金額を文字列として入力します(例: "1.23")。slippageBps: ベーシスポイントでのスリッページ許容値(例:0.5% の場合は 50)。
出力:
requestId、transaction(base64 エンコード)、inputMint、outputMint、inAmount、outAmount、priceを含む JSON。
execute-ultra-order:説明: ウォレット所有者に代わってスワップトランザクションを実行するように Jupiter に要求し、スリッページ、優先手数料、トランザクションのランディングを処理します。
入力:
requestId:get-ultra-orderからの一意の識別子。transaction:get-ultra-orderからの Base64 エンコードされたトランザクション。
出力:
status、transactionId、slot、inputAmountResult、outputAmountResult、swapEventsを含む JSON。
相互作用の例
以下は、自然言語プロンプトと期待される応答を使用してサーバーと対話する例です。
スワップ注文の取得
プロンプト: 「1.23 SOL を USDC と交換するためのスワップ注文を取得します。」
入力:
ツール:
get-ultra-order引数:
inputMint:「So11111111111111111111111111111111111111111112」(SOL)outputMint:「EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v」(USDC)amount:「1.23」
応答:
{ "requestId": "a770110b-82c9-46c8-ba61-09d955b27503", "transaction": "AQAAAA...base64-encoded-transaction...==", "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "inAmount": "1230000000", "outAmount": "19950000", "price": 0.01621951219512195 }
スワップの実行
プロンプト: 「提供されたトランザクションを使用して、リクエスト ID「a770110b-82c9-46c8-ba61-09d955b27503」のスワップ注文を実行します。」
入力:
ツール:
execute-ultra-order引数:
requestId: "a770110b-82c9-46c8-ba61-09d955b27503"transaction: "AQAAAA...base64エンコードされたトランザクション...=="
応答:
{ "status": "Success", "transactionId": "5x...solana-transaction-signature...", "slot": 299283763, "inputAmountResult": "1230000000", "outputAmountResult": "19950000", "swapEvents": [ { "type": "swap", "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "inAmount": "1230000000", "outAmount": "19950000" } ] }
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。