SUN MCP服务器
MCP服务器,用于通过SUN在TRON网络上进行AI驱动的DeFi操作。IO/SUNSWAP生态系统。
目录
- 官方主办的MCP(只读) - 本地托管MCP - 配置 - 钱包配置 - 网络配置 - 验证 - 示例提示
- 支持SUN。IO API域 - 钱包和投资组合 - 价格和报价 - 交换 - V2流动性 - V3流动性 - V4流动性 - 通用合同 - 自动计算功能
概述
通过单个MCP端点将任何AI客户端连接到TRON-DeFi生态系统。随着 @bankofai/sun-mcp-server,您的AI代理可以:
- 查询 --代币价格、池统计数据、流动性头寸、农业奖励、协议指标
- 引用 --SUNSwap V2、V3和V4的掉期路线和价格影响
- 执行 --代币互换、流动性添加/删除、头寸管理(需要钱包)
- 合同 --读取或写入任意TRON智能合约
服务器支持 标准 (当地)和 流式HTTP (远程)运输。在没有配置钱包的情况下,它以只读模式运行——对探索和数据查询是安全的。
快速开始
官方主办的MCP(只读)
尝试SUN MCP服务器的最快方法——无需安装,无需配置。BankOfAI托管一个公共只读实例。
将您的客户指向官方端点:
claude mcp add --transport http sun-mcp-server https://sun-mcp-server.bankofai.io/mcp这使您可以访问所有只读工具:代币价格、池数据、头寸、报价等。托管实例上没有配置钱包,因此写操作(掉期、流动性)不可用。
卷曲示例 --呼叫 getPrice 通过MCP JSON-RPC工具:
curl -X POST https://sun-mcp-server.bankofai.io/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "getPrice",
"arguments": {
"tokenAddress": "TKkeiboTkxXKJpbmVFbv4a8ov5rAfRDMf9"
}
}
}'响应(SSE格式):
event: message
data: {
"result": {
"content": [
{
"type": "text",
"text": "{\"msg\":\"SUCCESS\",\"code\":0,\"data\":{\"TKkeiboTkxXKJpbmVFbv4a8ov5rAfRDMf9\":{\"quote\":{\"USD\":{\"price\":\"37.513242926312\"}}}},\"status\":{\"error_code\":0}}"
}
]
},
"jsonrpc": "2.0",
"id": 1
}无需本地安装。适用于任何支持Streamable HTTP的MCP客户端。
本地托管MCP
在本地运行具有完整功能的服务器,包括配置钱包时的写入操作。
安装:
npm install -g @bankofai/sun-mcp-server配置
钱包配置
如果没有钱包,服务器可以在 只读模式 --您可以查询价格、池、头寸等。
钱包通过以下方式管理 agent-wallet 文件备份配置。安装和配置 agent-wallet 第一。此存储库不再读取或映射旧版本 TRON_PRIVATE_KEY, TRON_MNEMONIC,或 TRON_MNEMONIC_ACCOUNT_INDEX 钱包变量。
备注 看agent-wallet用于钱包文件格式、本地设置和支持的全套SDKAGENT_WALLET_*选项。
网络配置
TRON_NETWORK--可选网络覆盖,默认为mainnetTRON_GRID_API_KEY-用于高速率主网访问的可选TronGridneneneba API密钥TRON_RPC_URL--可选的自定义TRON RPC端点
例子:
export TRON_NETWORK=mainnet
export TRON_GRID_API_KEY=""
export TRON_RPC_URL=https://your-tron-rpc.example标准 --MCP客户端自动生成和管理服务器进程。无需手动管理服务器。
# Read-only (no wallet)
claude mcp add sun-mcp-server sun-mcp-server
# With wallet and runtime settings
claude mcp add sun-mcp-server sun-mcp-server \
-e AGENT_WALLET_PRIVATE_KEY=your_private_key通过传递的环境变量 -e 被注入到服务器进程中。Claude在需要SUN时启动服务器。IO工具,并在完成时停止。
您还可以跳过全局安装和使用npx: ``bash claude mcp add sun-mcp-server -- npx -y @bankofai/sun-mcp-server``
流式HTTP --运行一个持久的HTTP服务器,这对于在团队中共享一个端点或在Docker/Kubernetes中部署非常有用。
# Start the server
sun-mcp-server --transport streamable-http --host 127.0.0.1 --port 8080 --mcpPath /mcp
# Register it with your MCP client
claude mcp add --transport http sun-mcp-server http://127.0.0.1:8080/mcp对于外部访问(例如从其他机器或容器),请绑定到0.0.0.0而不是127.0.0.1.
验证
确认服务器已注册:
claude mcp list你应该看看 sun-mcp-server 在输出中。现在,只需与克劳德交谈——看 示例提示 在......下面
示例提示
市场数据(只读,无需钱包):
- “在TRON上获取SUN和JST的当前价格。”
- “列出USDT最具流动性的SUNSwap池。”
- “显示钱包的V3和V4位置
T...."
报价(只读):
- “在SUNSwap上报价从100 USDT到TRX的掉期。”
- “报价500 USDT到SUN的最佳确切输入路线。”
钱包和执行(需要钱包):
- “在TRON上获取我活动钱包的余额。”
- “在SUNSwap上将100 USDT兑换成TRX。”
- “在这两个刻度之间铸造一个V3位置。”
- “增加V4头寸的流动性。”
合同互动:
- “阅读
slot0从SUNSwap池合同中声明。"
客户集成指南
这 快速开始 示例使用Claude Code。如果您使用不同的MCP客户端,请遵循以下模式。
克劳德桌面版
添加到MCP配置文件(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
stdio(推荐):
{
"mcpServers": {
"sun-mcp-server": {
"command": "sun-mcp-server",
"args": [],
"env": {
"TRON_NETWORK": "mainnet"
}
}
}
}远程HTTP (如果使用托管或自托管HTTP端点):
{
"mcpServers": {
"sun-mcp-server": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}光标
添加 .cursor/mcp.json 在项目根目录中:
标准 :
{
"mcpServers": {
"sun-mcp-server": {
"command": "sun-mcp-server",
"args": [],
"env": {
"TRON_NETWORK": "mainnet"
}
}
}
}远程HTTP:
{
"mcpServers": {
"sun-mcp-server": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}生产HTTP部署
如果您部署服务器用于共享或生产用途,请考虑添加:
- 通过反向代理终止TLS(Nginx、Caddy、Cloudflare)
- 代理或网关层的身份验证
- 请求日志记录和速率限制
- 通过部署平台进行秘密注入,而不是
.env文件
API和工具参考
| 类别 | 工具 | 需要钱包 | 描述 |
|---|---|---|---|
| 太阳。IO API | 动态(来自OpenAPI规范) | 否 | 协议、代币、池、对、价格、头寸、农场数据 |
| 钱包和投资组合 | get_wallet_address, get_balances | 是 | 钱包地址和TRX/TRC20余额 |
| 价格和报价 | get_token_price, quote_exact_input | 否 | 现货价格和智能路由器报价 |
| 交换 | swap, swap_exact_input | 报价:否/执行:是 | 路由发现和令牌交换 |
| V2流动性 | v2_add_liquidity, v2_remove_liquidity | 是 | 经典LP添加/删除 |
| V3流动性 | v3_mint_position, v3_increase_liquidity, v3_decrease_liquidity, v3_collect | 是 | 集中流动性头寸 |
| V4流动性 | v4_mint_position, v4_increase_liquidity, v4_decrease_liquidity, v4_collect | 是 | V4职位管理和收费 |
| 通用合同 | read_contract, send_contract | 阅读:否/发送:是 | 直接TRON合约互动 |
所有自定义工具名称都以sunswap_(例如。sunswap_swap,sunswap_v3_mint_position).
______________________________________________________________________
支持SUN。IO API域
服务器从捆绑的SUN动态生成只读工具。IO OpenAPI规范。默认规范包括:
| 域 | 工具 | 端点 | 描述 |
|---|---|---|---|
| 交易记录 | scanTransactions | GET /apiv2/transactions/scan | 使用分页功能扫描交换/添加/撤回活动 |
| 代币 | getTokens | GET /apiv2/tokens | 按地址和协议获取令牌 |
searchTokens | GET /apiv2/tokens/search | 按关键字进行模糊令牌搜索 | |
| 协议 | getProtocol | GET /apiv2/protocols | 协议快照数据 |
getVolHistory | GET /apiv2/protocols/history/vol | 协议卷历史记录 | |
getLiqHistory | GET /apiv2/protocols/history/liq | 协议流动性历史 | |
getUsersCountHistory | GET /apiv2/protocols/history/usersCount | 协议用户历史 | |
getTransactionsHistory | GET /apiv2/protocols/history/transactions | 协议事务计数历史记录 | |
getPoolsCountHistory | GET /apiv2/protocols/history/poolsCount | 协议池计数历史记录 | |
| 价格 | getPrice | GET /apiv2/price | 按地址列出的代币价格 |
| 职位 | getUserPositions | GET /apiv2/positions/user | 用户流动性头寸 |
getPoolUserPositionTick | GET /apiv2/positions/tick | 池刻度位置详细信息 | |
| 游泳池 | getPools | GET /apiv2/pools | 按地址、令牌或协议获取池 |
searchPools | GET /apiv2/pools/search | 池搜索 | |
searchCountPools | GET /apiv2/pools/search/count | 池搜索计数 | |
getTopApyPoolList | GET /apiv2/pools/top_apy_list | 顶级APY池(分页) | |
getPoolHooks | GET /apiv2/pools/hooks | 泳池挂钩列表 | |
getPoolVolHistory | GET /apiv2/pools/history/vol | 池容量历史记录 | |
getPoolLiqHistory | GET /apiv2/pools/history/liq | 池流动性历史 | |
| 情侣 | getPairsFromEntity | GET /apiv2/pairs | 令牌对实体查询 |
| 农场 | getFarms | GET /apiv2/farms | 养殖池列表 |
getFarmTransactions | GET /apiv2/farms/transactions | 农场交易扫描 | |
getFarmPositions | GET /apiv2/farms/positions/user | 用户农业职位 |
确切的工具集取决于加载的OpenAPI规范和任何配置的白名单/黑名单过滤器。
钱包和投资组合
关键工具:
sunswap_get_wallet_address--返回活动TRON钱包地址sunswap_get_balances--返回活动钱包的TRX和TRC20代币余额
这些工具是只读的,需要配置钱包源。
价格和报价
关键工具:
sunswap_get_token_price--通过SUN查询现货价格。IO APIsunswap_quote_exact_input--智能路由器跨SUNSwap V2、V3和V4池精确输入报价
这两个工具都是只读的,不需要钱包。
交换
关键工具:
sunswap_swap--在一次调用中处理路由计算和执行的高级交换sunswap_swap_exact_input--通过智能路由器执行精确的输入交换
交换工具可以在以下情况下操作:
- 不带钱包的只读报价模式
- 配置钱包源的执行模式
V2流动性
关键工具:
sunswap_v2_add_liquiditysunswap_v2_remove_liquidity
将这些用于SUNSwap V2风格池上的经典LP流。
V3流动性
关键工具:
sunswap_v3_mint_positionsunswap_v3_increase_liquiditysunswap_v3_decrease_liquiditysunswap_v3_collect
这些工具支持SUNSwap V3风格头寸的集中流动性工作流程。
V4流动性
关键工具:
sunswap_v4_mint_positionsunswap_v4_increase_liquiditysunswap_v4_decrease_liquiditysunswap_v4_collect
这些工具支持SUNSwap V4风格的头寸管理和收费。
通用合同
关键工具:
sunswap_read_contractsunswap_send_contract
当您需要在更高级别抽象之外进行直接的TRON合约交互时,请使用这些。
自动计算功能
高级SUNSwap工具会自动计算或填写参数,以便客户端可以用最少的输入调用它们。以下是每个类别处理的内容:
所有书写工具:
recipient默认为活动钱包地址deadline默认为30分钟后- 事务在单个呼叫中构建、签名和广播
V3薄荷(sunswap_v3_mint_position):
- 如果省略了勾选范围,则默认为当前价格周围的±50×勾选间距
- 支持单面输入——仅提供
amount0或amount1 - 滑动公差默认为95%
V4薄荷(sunswap_v4_mint_position):
- 如果省略勾选范围,则默认为当前价格周围的±100×勾选间距
- 滑动公差默认为5%
交换工具:
sunswap_swap将路由发现、引用和执行作为一个操作处理sunswap_swap_exact_input接受预先计算的路线或自动找到最佳路线
这减少了客户端编排,并使MCP接口比原始合约调用更简单。
故障排除
写入工具失败,显示“未配置钱包” 您正在以只读模式运行。只设置一个钱包来源(AGENT_WALLET_PRIVATE_KEY, AGENT_WALLET_MNEMONIC,或 AGENT_WALLET_PASSWORD)并重新启动服务器。
服务器以“钱包模式冲突”拒绝启动 设置了多个钱包来源。删除额外内容,这样三个钱包环境变量组中只有一个存在。
工具太多--超出LLM上下文或令牌限制 使用 --whitelist / --blacklist (或 MCP_WHITELIST_OPERATIONS / MCP_BLACKLIST_OPERATIONS 环境变量)来限制公开哪些OpenAPI工具。例如, --whitelist "getPools,getTokenPrice,GET:/apiv2/tokens/*" 只保留你需要的工具。
API请求超时或返回空结果 检查 TRON_RPC_URL 和 TRON_GRID_API_KEY默认的公共TronGrid端点具有速率限制。对于生产使用,请提供您自己的API密钥或专用RPC终结点。
流式HTTP连接被拒绝 验证 MCP_SERVER_HOST, MCP_SERVER_PORT,以及 MCP_SERVER_PATH 匹配您的客户端连接到的内容。如果服务器绑定到 127.0.0.1,其他机器无法访问它——使用 0.0.0.0 用于外部访问。
安全注意事项
- 对待
AGENT_WALLET_PRIVATE_KEY,AGENT_WALLET_MNEMONIC,以及AGENT_WALLET_PASSWORD作为生产秘密。 - 一次只配置一个钱包源。服务器拒绝冲突的钱包模式。
- 当您只需要市场数据或头寸检查时,更喜欢只读部署。
- 在没有身份验证和传输安全的情况下,不要将启用写入的Streamable HTTP部署直接暴露给公共互联网。
- 如果你使用
AGENT_WALLET_PASSWORD,保持AGENT_WALLET_DIR在可能的情况下加密存储。 - 使用前检查任何自定义RPC终结点。恶意或配置错误的RPC会降低可靠性或泄漏元数据。
- 仔细记录。避免将机密、原始签名的有效载荷或敏感的钱包路径写入日志。
