Uniswap MCP 服务器 - Unichain Sepolia 测试网
一个模型上下文协议(MCP)服务器,使Claude能够在Unichain Sepolia测试网上的Uniswap进行交互。用户可以通过自然对话进行代币交换、检查余额、获取报价以及管理审批。
🌟 特点
- ✅ 连接钱包使用私钥安全地连接您的钱包
- 💰(货币符号,可表示金钱、支付等概念) 检查余额查看任意地址的代币余额
- 📊(表格图标,无具体文字含义,通常用于表示数据或统计信息) 获取报价从Uniswap获取实时兑换报价
- 🔄(循环/重复) 执行交换在Unichain Sepolia上执行代币交换
- ✓ 批准代币管理Uniswap路由器的代币批准
- 🌐 表示“互联网”或“世界万维网”。 网络信息查看当前网络状态和合约地址
🔧 先决条件
- Node.js 18及以上版本
- Claude 桌面应用程序
- 一个包含Unichain Sepolia ETH的钱包(用于支付燃气费)
📦 安装
- 安装依赖项:
npm install- 构建项目:
npm run build⚙️ 配置
1. 配置Claude桌面版
编辑您的Claude桌面配置文件:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
添加MCP服务器配置:
{
"mcpServers": {
"uniswap-sepolia": {
"command": "node",
"args": ["D:\\EthGlobal\\MCP with C\\build\\index.js"]
}
}
}重要的替换 D:\\EthGlobal\\MCP with C\\build\\index.js 加上您项目构建目录的绝对路径。
2. 重启Claude桌面版
关闭并重新打开Claude桌面以加载MCP服务器。
🚀 使用方法
一旦配置完成,您就可以在Claude中通过自然语言与Uniswap MCP服务器进行交互:
示例对话:
连接您的钱包:
User: Connect my wallet with private key 0x...
Claude: ✅ Wallet connected successfully!检查代币余额:
User: What's my USDC balance on address 0x123...?
Claude: USDC Balance: 100.50 USDC获取交换报价:
User: How much USDC will I get for 1 WETH?
Claude: 📊 Swap Quote
Input: 1.0 WETH
Output: 2500.45 USDC执行交换操作:
User: Approve WETH for swapping
Claude: ✅ Approval Successful!
User: Swap 0.1 WETH for USDC with 1% slippage
Claude: ✅ Swap Successful!🧪 获取测试网代币
- 获取Sepolia以太坊(ETH):
- 使用Sepolia水龙头 - 通往Unichain Sepolia的桥:https://bridge.unichain.org
- 在Unichain Sepolia获取测试代币:
- USDC:(一种稳定币,全称为“USD Coin”,即美元币) 0xEea1BafFF6A3842ca8C9E86a82E7b26Fc81c8ECa - WETH(以太坊封装以太币) 0x4200000000000000000000000000000000000006 - 使用Uniswap界面或创建池子进行测试
📋 可用工具
1. connect_wallet
使用私钥连接钱包
参数:
privateKey(字符串):您钱包的私钥
2. get_balance
获取某个地址的代币余额
参数:
address(字符串): 钱包地址tokenAddress(字符串):代币合约地址或'ETH'
3. get_quote
获取代币交换的报价
参数:
tokenIn(字符串):输入代币地址tokenOut(字符串):输出代币地址amountIn(字符串):要兑换的金额fee(数字,可选):池费等级(500、3000 或 10000)
4. execute_swap
在Uniswap上执行代币兑换
参数:
tokenIn(字符串):输入代币地址tokenOut(字符串): 输出代币地址amountIn(字符串):要兑换的金额minAmountOut(字符串):可接受的最小输出量fee(数字,可选):池费用等级slippagePercent(数字,可选):滑点容忍度百分比
5. approve_token
批准Uniswap路由器的代币支出
参数:
tokenAddress(字符串):待批准的令牌amount(字符串,可选):要批准的数量('max' 表示无限制)
6. get_network_info
获取当前网络信息和配置
🔒 安全注意事项
⚠️(警告/注意) 重要的安全考量因素:
- 私钥永远不要分享你的私钥。这仅适用于测试网络。
- 仅限测试网此服务器已配置为用于Unichain Sepolia测试网。未经适当安全审计,请勿在主网上使用。
- 滑脱;滑移;差价在进行交易时,务必设置适当的滑点容忍度。
- 燃气费确保你有足够的以太币来支付燃气费。
🛠️ 网络详情
网络Unichain Sepolia 测试网 链ID1301 RPC URL(远程过程调用网址)https://sepolia.rpc.unichain.org(中文可表述为:“Sepolia网络的Unichain.org RPC接口”) 探险者https://sepolia.uniscan.xyz(该网址可直接翻译为“https://sepolia.uniscan.xyz”,由于网址本身是英文且为特定服务地址,无需进行意译,保持原样即可)
关键合同:
- SwapRouter02:(可译为)交换路由器02:(或根据具体上下文,也可译为“交换路由协议02”等,但“SwapRouter02”通常指的是某种特定的交换路由器或交换路由协议的版本或型号,具体翻译需结合上下文确定)
0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4 - QuoterV2:
0xc694a4cf10e2e4f77b49c35c5e6ea1b0fde6f6e8 - WETH9:
0x4200000000000000000000000000000000000006 - USDC:(指一种去中心化稳定币,全称为“USD Coin”)
0xEea1BafFF6A3842ca8C9E86a82E7b26Fc81c8ECa
🐛 故障排除
服务器未出现在Claude中:
- 验证路径中的内容
claude_desktop_config.json是正确的 - 检查构建是否成功(
npm run build) - 完全重启Claude桌面版
无法连接到网络:
- 确认您已连接互联网
- 检查Unichain Sepolia RPC是否可访问
交易失败:
- 确保你有足够的以太币(ETH)来支付手续费(gas费)
- 在交换前验证代币批准
- 检查该代币对和费用等级下是否存在流动性池
📚 资源
🎯 示例用例
基本代币交换流程
1. User: "Connect my wallet with key 0x..."
2. User: "Check my WETH balance at 0x123..."
3. User: "Get me a quote for swapping 0.5 WETH to USDC"
4. User: "Approve WETH for swapping"
5. User: "Execute the swap with 2% slippage"检查多个余额
User: "Show me my balances for WETH and USDC on address 0x..."获取网络状态
User: "What's the current network status and gas price?"🔄 架构
┌─────────────┐
│ Claude │
│ Desktop │
└──────┬──────┘
│
│ MCP Protocol
│
┌──────▼──────────────┐
│ MCP Server │
│ (Node.js) │
└──────┬──────────────┘
│
│ JSON-RPC
│
┌──────▼──────────────┐
│ Unichain Sepolia │
│ RPC Endpoint │
└──────┬──────────────┘
│
┌──────▼──────────────┐
│ Uniswap Contracts │
│ (Smart Contracts) │
└─────────────────────┘📝 开发
在开发模式下运行
npm run dev测试
您可以使用MCP检查器来测试MCP服务器:
npx @modelcontextprotocol/inspector node build/index.js添加新功能
要添加新工具,请扩展 setupHandlers() 方法在 src/index.ts:
- 在(某处)添加工具定义
ListToolsRequestSchema处理程序(或处理器) - 添加案例到(系统/数据库/文件等)中
CallToolRequestSchema处理程序(或“处理器”) - 实现工具方法
- 使用……重建
npm run build
🤝 贡献
欢迎贡献!以下是一些改进建议:
- 支持Uniswap v4钩子
- 多跳交换
- 流动性提供功能
- 价格图表和分析
- 气体优化建议
- 对其他测试网的支持
⚖️ 许可证
MIT 许可证 - 欢迎根据您的需求自由使用和修改。
🆘 支持
对于问题或疑问:
- 检查 故障排除 部分;章节
- 评论 Unichain 文档
- 检查 MCP 文档
______________________________________________________________________
记住这是一个测试网实现。在考虑任何主网部署之前,请务必进行彻底的测试,并且切勿将私钥提交到版本控制系统中!
