一个使AI代理能够与PumpSwap进行实时代币交换和自动链上交易的MCP服务器。
https://api.mainnet-beta.solana.com)克隆仓库:
git clone https://github.com/kukapay/pumpswap-mcp.git
cd pumpswap-mcp
安装uv:
如果未安装uv,请遵循官方uv安装指南。例如:
curl -LsSf https://astral.sh/uv/install.sh | sh
设置依赖项:
使用uv安装依赖项:
uv sync
配置环境变量:
在项目根目录创建.env.private文件,并添加以下变量:
HTTPS_RPC_ENDPOINT=https://api.mainnet-beta.solana.com
BUY_SLIPPAGE=0.3
SELL_SLIPPAGE=
SWAP_PRIORITY_FEE=1500000
PRIVATE_KEY=your-solana-private-key
将your-solana-private-key替换为您的实际Solana私钥。
使用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): 获取代币的格式化池数据。提示:
用铸造地址为FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump的代币购买0.1 SOL。
这会触发buy_token("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump", 0.1)。
预期输出:
成功购买了价值0.1 SOL的代币FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump
交易ID:<交易ID>
数量:<代币数量>
代币价格(SOL):<价格>
提示:
出售1000个FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump代币。
这会触发sell_token("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump", 1000)。
预期输出:
成功出售了1000个FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump代币
交易ID:<交易ID>
数量:<SOL数量>
代币价格(SOL):<价格>
提示:
FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump代币的当前价格是多少?
这会触发get_token_price("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump")。
预期输出:
代币FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump的当前价格是<价格> SOL。
提示:
显示FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump代币的池数据。
这会触发get_pool_data("FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump")。
预期输出:
PumpPool 数据对于铸造FC988ZAKRPc26wefDAxcYWB8kgbJTH4Tg3qDvf7xpump:
池Bump:<bump>
索引:<index>
创建者:<creator-pubkey>
基础铸造:<base-mint>
报价铸造:<quote-mint>
LP铸造:<lp-mint>
池基础代币账户:<base-account>
池报价代币账户:<quote-account>
LP供应量:<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 | 交易的优先费用(以lamports计) | 1500000 |
PRIVATE_KEY | 用于签署交易的Solana私钥 | None (必需) |
确保设置了PRIVATE_KEY,因为如果缺少它,服务器将引发错误。
此项目根据MIT许可证发布。详情见LICENSE文件。
此软件与去中心化金融(DeFi)协议交互,并处理敏感数据如私钥。请自行承担风险使用。确保您的.env.private文件安全且永不分享您的私钥。作者不对因使用此软件而产生的任何财务损失或安全问题负责。