关于 Swap Api
Swap Api MCP Server 是 SwapAPI 的 MCP 服务,可为 AI Agent 提供 EVM 链上代币兑换所需的可执行交易数据。项目面向需要自动完成代币兑换的 Agent 开发者,README 中提到无需 API 密钥。
主要功能
- 01返回可执行的交易 calldata
- 02支持按链 ID 指定 EVM 网络
- 03可设置最大滑点,默认 0.5%
- 04返回目标合约地址、数据、金额和预估 gas
适用场景
- 01AI Agent 在 EVM 链上执行代币兑换
- 02为交易提交前生成报价与交易数据
- 03在 Claude Desktop 或 Cursor 中调用兑换功能
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 swap_tokens 工具,用于获取兑换交易数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SwapAPI MCP 服务
SwapAPI 的 MCP(模型上下文协议)服务。可让 AI Agent 获取适用于任意 EVM 链的可执行代币兑换 calldata。
安装
npm install -g @swapapi/mcp
也可以直接使用 npx:
npx @swapapi/mcp
客户端配置
Claude Desktop
将以下内容添加到 Claude Desktop 配置中:
{
"mcpServers": {
"swapapi": {
"command": "npx",
"args": ["@swapapi/mcp"]
}
}
}
或者使用本地安装:
{
"mcpServers": {
"swapapi": {
"command": "npx",
"args": ["tsx", "/path/to/swap-api/mcp/mcp-server.ts"]
}
}
}
Cursor
将以下内容添加到 Cursor 设置中(Settings → MCP):
{
"mcpServers": {
"swapapi": {
"command": "npx",
"args": ["@swapapi/mcp"]
}
}
}
其他客户端
任何兼容 MCP 的客户端都可以使用相同的配置格式。请查阅客户端的文档,了解在哪里添加 MCP 服务设置。
可用工具
swap_tokens
获取用于在 EVM 链上兑换代币的可执行交易数据。
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
chainId | number | 是 | 链 ID(1=Ethereum、8453=Base、42161=Arbitrum 等) |
tokenIn | string | 是 | 输入代币地址。原生代币(ETH、MATIC 等)请使用 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE |
tokenOut | string | 是 | 输出代币地址 |
amountIn | string | 是 | 最小单位的金额(18 位小数代币使用 wei,6 位小数代币使用微单位) |
sender | string | 是 | 将签署并发送交易的钱包地址 |
maxSlippage | number | 否 | 最大滑点容差,范围为 0-1(默认值:0.005 = 0.5%) |
返回值:
{
"to": "0x...", // Router contract address to call
"data": "0x...", // ABI-encoded swap calldata
"value": "1000000000000000000", // Native token value (if swapping from native)
"gas": "150000", // Estimated gas limit
"guaranteedOut": "..." // Minimum output amount after slippage
}
示例
在 Base 上将 0.001 ETH 兑换为 USDC
{
"chainId": 8453,
"tokenIn": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"tokenOut": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amountIn": "1000000000000000",
"sender": "0xYourAddress"
}
在 Arbitrum 上以 1% 滑点将 USDC 兑换为 ETH
{
"chainId": 42161,
"tokenIn": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"tokenOut": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"amountIn": "10000000",
"sender": "0xYourAddress",
"maxSlippage": 0.01
}
交易前检查清单
提交任何兑换交易前:
- ERC-20 授权:如果
tokenIn不是原生代币,请确保 sender 已授权路由合约至少使用amountIn - 余额检查:确认 sender 的余额足以支付
amountIn(如果是原生代币,还需加上value) - Gas 估算:对交易调用
eth_estimateGas,并增加 20% 的缓冲 - 模拟:运行
eth_call,确认交易不会回滚 - 时间要求:获取报价后 30 秒内提交(calldata 有效期有限)
完整 API 文档请参阅主 README.md。
开发
cd mcp
npm install
npm start
测试
运行测试套件:
npm test
或者使用 MCP Inspector:
npx @modelcontextprotocol/inspector tsx mcp-server.ts
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。