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客户端配置:
工具
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、priceJSON。
execute-ultra-order:描述:请求 Jupiter 代表钱包所有者执行交换交易,处理滑点、优先费用和交易落地。
输入:
requestId:来自get-ultra-order唯一标识符。transaction:来自get-ultra-orderBase64 编码交易。
输出:带有
status、transactionId、slot、inputAmountResult、outputAmountResult、swapEventsJSON。
交互示例
以下是使用自然语言提示和预期响应与服务器交互的示例:
获取掉期订单
提示:“获取掉期订单,以 1.23 SOL 兑换 USDC。”
输入:
工具:
get-ultra-order参数:
inputMint:“So111111111111111111111111111111111111111111112”(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文件。