Jupiter MCP Server について
Jupiter MCP Server は、Jupiter の Ultra API を使って Solana ブロックチェーン上でトークンスワップを実行する MCP サーバーです。MCP クライアントから Solana のスワップを行いたいユーザーや開発者を対象とし、注文の取得時に DEX ルーティングと RFQ 見積もりを組み合わせます。
主な機能
- 01Ultra API からスワップ注文を取得
- 02DEX ルーティングと RFQ 見積もりの組み合わせ
- 03スリッページと優先手数料を考慮した実行
- 04トランザクション署名と実行結果の返却
活用シーン
- 01Solana 上で SOL を USDC にスワップ
- 02実行前に見積もりの出力量を確認
- 03MCP クライアントからのトークンスワップの自動化
MCP 対応
本プロジェクトは MCP サーバーであり、注文の取得とスワップ実行のために get-ultra-order と execute-ultra-order のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Jupiter MCP Server
Jupiterの新しいUltra APIを使用してSolanaブロックチェーン上でトークンスワップを実行するMCP サーバーです。
特長
- JupiterのUltra APIからスワップ注文を取得します。DEXルーティングとRFQ(見積もり依頼)を組み合わせ、最適な価格を実現します。
- JupiterのUltra API経由でスワップを実行し、スリッページ、優先手数料、トランザクションの着地を処理します。
前提条件
- Node.js:バージョン18以降(ネイティブの
fetchをサポートするため)。 - Solanaウォレット:トランザクション署名用の秘密鍵(base58エンコード)。
- RPCエンドポイント:Solana RPCノードへのアクセス(例:
https://api.mainnet-beta.solana.com)。
インストール
-
リポジトリをクローンする:
git clone https://github.com/kukapay/jupiter-mcp.git cd jupiter-mcp -
依存関係をインストールする: 必要な他の依存関係とともに、MCP Serverパッケージがインストールされていることを確認してください。
npm install -
クライアントの設定:
{
"mcpServers": {
"Jupiter-MCP": {
"command": "node",
"args": ["path/to/jupiter-mcp/server/index.js"],
"env": {
"SOLANA_RPC_URL": "solana rpc url you can access",
"PRIVATE_KEY": "your private key"
}
}
}
}
ツール
Ultra 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:「So11111111111111111111111111111111111111112」(SOL)outputMint:「EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v」(USDC)amount:「1.23」slippageBps:50
- ツール:
- 応答:
{ "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-encoded-transaction...==」
- ツール:
- 応答:
{ "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ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。