代币交换服务器

一个MCP服务器,使AI代理能够与PumpSwap进行实时代币交换和自动化链上交易。

  • by kukapay
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 kukapay/pumpswap-mcp

使用说明

PumpSwap MCP服务器

MCP服务器,使AI代理能够与 PumpSwap 用于实时代币互换和自动化链上交易。

特性

  • 购买代币:使用SOL购买代币,可定制滑点和优先费。
  • 出售代币:出售带有可配置参数的SOL代币。
  • 代币价格查询:检索SOL中的当前代币价格。
  • 池数据检索:获取并显示给定令牌造币厂的详细池信息。

先决条件

  • Python 3.13或更高版本
  • 紫外线 用于依赖关系管理和脚本执行
  • Solana RPC端点(例如。, https://api.mainnet-beta.solana.com)
  • 用于交易签名的有效Solana私钥

安装

  1. 克隆存储库:

    git clone https://github.com/kukapay/pumpswap-mcp.git
    cd pumpswap-mcp
    
  2. 安装uv: 如果 uv 未安装,请关注官方 紫外线安装指南例如:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. 设置依赖关系: 使用 uv 要安装依赖项,请执行以下操作:

    uv sync
    
  4. 配置环境变量: 创建一个 .env.private 项目根目录中的文件,包含以下变量:

    HTTPS_RPC_ENDPOINT=https://api.mainnet-beta.solana.com
    BUY_SLIPPAGE=0.3
    SELL_SLIPPAGE=0.1
    SWAP_PRIORITY_FEE=1500000
    PRIVATE_KEY=your-solana-private-key
    

    替换 your-solana-private-key 使用您实际的Solana私钥。

用法

运行MCP服务器

使用 uv 要运行服务器,请执行以下操作:

uv run main.py

服务器将监听MCP命令并公开以下工具:

  • buy_token(mint: str, sol_amount: float, user_private_key: str):使用SOL购买代币。
  • sell_token(mint: str, token_amount: float, user_private_key: str):出售SOL代币。
  • get_token_price(mint: str):获取SOL中的当前代币价格。
  • get_pool_data(mint: str):检索令牌的格式化池数据。

购买代币

提示:

Buy 0.1 SOL worth of tokens with mint address FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump.

这会触发 buy_token("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump", 0.1).

期望输出:

Buy successful for 0.1 SOL of token FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump
Transaction ID: <transaction-id>
Amount: <token-amount>
Token Price (SOL): <price>

出售代币

提示:

Sell 1000 tokens of FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump.

这会触发 sell_token("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump", 1000).

期望输出:

Sell successful for 1000 tokens of FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump
Transaction ID: <transaction-id>
Amount: <sol-amount>
Token Price (SOL): <price>

获取代币价格

提示:

What is the current price of the token with mint FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump?

这会触发 get_token_price("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump").

期望输出:

The current price of token FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump is <price> SOL.

获取池数据

提示:

Show me the pool data for the token with mint FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump.

这会触发 get_pool_data("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump").

期望输出:

PumpPool Data for mint FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump:
Pool Bump: <bump>
Index: <index>
Creator: <creator-pubkey>
Base Mint: <base-mint>
Quote Mint: <quote-mint>
LP Mint: <lp-mint>
Pool Base Token Account: <base-account>
Pool Quote Token Account: <quote-account>
LP Supply: <supply>

环境变量

服务器使用以下环境变量,从加载 .env.private:

变量 描述 默认值
HTTPS_RPC_ENDPOINT Solana RPC终结点URL https://api.mainnet-beta.solana.com
BUY_SLIPPAGE 买入交易的滑动容忍度 0.3(30%)
SELL_SLIPPAGE 卖出交易的滑动容忍度 0.1(10%)
SWAP_PRIORITY_FEE 交易优先费(灯台) 15000000
PRIVATE_KEY 用于签署交易的Solana私钥 无(必需)

确保 PRIVATE_KEY 设置,因为如果丢失,服务器将引发错误。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。

免责声明

该软件与去中心化金融(DeFi)协议交互,并处理私钥等敏感数据。使用它的风险由你自己承担。确保您的 .env.private 文件是安全的,永远不会共享您的私钥。作者不对因使用本软件而产生的任何经济损失或安全问题负责。