关于 trade-router-mcp
trade-router-mcp 是支持非托管 Solana 兑换和自动订单的 MCP 服务。AI Agent 可查询持仓与价格、创建或管理订单,并使用配置的钱包密钥在本地签署交易。
主要功能
- 01构建并提交 Solana 兑换
- 02设置限价与追踪订单
- 03创建 TWAP 与组合订单
- 04查询持仓、价格和成交记录
- 05在本地签署交易
适用场景
- 01通过 Agent 兑换 Solana 代币
- 02设置价格触发的买卖订单
- 03使用 TWAP 安排交易
- 04查看钱包持仓与订单状态
MCP 相关
该服务向 MCP 客户端提供钱包、兑换、市场数据和订单管理工具。它使用配置的私钥在本地签署交易,只有已签名交易会离开本机。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @traderouter/trade-router-mcpTRADEROUTER_PRIVATE_KEY密钥Solana base58-encoded private key. Local signing only, never transmitted. See SECURITY.md.SOLANA_RPC_URLOptional RPC endpoint override (default https://api.mainnet-beta.solana.com).TRADEROUTER_SERVER_PUBKEY密钥Optional override for the server public key used to verify order_filled ed25519 signatures.TRADEROUTER_SERVER_PUBKEY_NEXT密钥Optional second server public key accepted during key rotation.TRADEROUTER_REQUIRE_SERVER_SIGNATUREDefault 'true'. Verify server signatures on order_filled / twap_execution.TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATUREDefault 'true'. Verify server signatures on order_created.TRADEROUTER_DRY_RUNDefault 'false'. When 'true', write-action tools (submit_signed_swap, auto_swap, place_*_order, cancel_order, extend_order) short-circuit and return { dry_run: true, ... } instead of calling the API. Read-only tools execute normally.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
21收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
@traderouter/trade-router-mcp
一个适用于 TradeRouter.ai 的 Model Context Protocol 服务——面向 AI Agent 的非托管 Solana 交换、限价、跟踪、DCA、TWAP 和组合订单引擎。
安全吗?
安全,原因如下。 私钥只会从 TRADEROUTER_PRIVATE_KEY 读取一次,用于通过 @solana/web3.js + tweetnacl 在本地签名,绝不会被传输、记录或持久化。只有已签名的交易会离开你的设备。服务消息会使用硬编码的信任锚进行 Ed25519 验证。完整的威胁模型、数据流图和权限清单,请参阅 SECURITY.md。
签名流程:
- Agent 调用
build_swap→ MCP 将钱包地址(公钥)发送至 api.traderouter.ai - API 返回一笔未签名的交易
- MCP 使用
TRADEROUTER_PRIVATE_KEY在本地对交易签名 - 将已签名的交易提交至
/protect(受 Jito MEV 保护的捆绑交易) - 服务确认交易并返回余额变化。私钥绝不会经过网络。
要求
- Node.js ≥ 18
- Base58 格式的 Solana 钱包私钥(请使用专用交易钱包,而非存放主要资产的钱包)
安装
npx -y @traderouter/trade-router-mcp
也可以将其接入 MCP 客户端(Claude Desktop、Cursor、Cline 等):
{
"mcpServers": {
"traderouter": {
"command": "npx",
"args": ["-y", "@traderouter/trade-router-mcp"],
"env": {
"TRADEROUTER_PRIVATE_KEY": "your_base58_private_key"
}
}
}
}
| 操作系统 | Claude Desktop 配置文件路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
环境变量
| 变量 | 必需 | 默认值 | 用途 |
|---|---|---|---|
TRADEROUTER_PRIVATE_KEY | ✅ | — | Solana 钱包私钥(Base58)。仅在本地使用。 |
SOLANA_RPC_URL | ❌ | https://api.mainnet-beta.solana.com | 用于读取的自定义 RPC |
TRADEROUTER_SERVER_PUBKEY | ❌ | 内置信任锚 | 覆盖服务的 Ed25519 信任锚 |
TRADEROUTER_SERVER_PUBKEY_NEXT | ❌ | (未设置) | 除主密钥外,还接受由此密钥签名的消息(密钥轮换) |
TRADEROUTER_REQUIRE_SERVER_SIGNATURE | ❌ | true | 验证服务对 order_filled / twap_execution 的签名 |
TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE | ❌ | true | 验证服务对 order_created 的签名 |
TRADEROUTER_DRY_RUN | ❌ | false | 为 true 时,所有写入操作工具(submit_signed_swap、auto_swap、place_*_order、cancel_order、extend_order)都会返回 { dry_run: true, tool, args },而不会调用 API。只读工具照常执行。于 1.0.9 版本加入。 |
工具
| 工具 | 用途 |
|---|---|
get_wallet_address | 获取已配置钱包的公开地址 |
build_swap | 构建未签名的兑换交易 |
submit_signed_swap | 提交手动签名的交易 |
auto_swap | 一次调用即可构建、签名并提交 |
get_holdings | 获取钱包的代币持仓 |
get_mcap | 获取代币的市值和价格 |
get_flex_card | 获取钱包和代币的交易卡片 PNG URL |
place_limit_order | 按价格或市值进行限价买入/卖出 |
place_trailing_order | 跟踪止损买入/卖出 |
place_twap_order | TWAP(时间加权)买入/卖出 |
place_limit_twap_order | 限价触发 → TWAP 执行 |
place_trailing_twap_order | 跟踪触发 → TWAP 执行 |
place_limit_trailing_order | 限价触发 → 跟踪执行(触发时进行单次兑换) |
place_limit_trailing_twap_order | 限价触发 → 跟踪触发 → TWAP 执行 |
list_orders | 列出钱包的活动订单 |
check_order | 获取特定订单的状态 |
cancel_order | 取消活动订单 |
extend_order | 延长订单的到期时间 |
connect_websocket | 通过持久 WebSocket 注册钱包 |
connection_status | 当前 WebSocket 连接状态 |
get_fill_log | 已成交订单的日志 |
REST 端点(底层实现)
| 端点 | 用途 |
|---|---|
POST /swap | 构建未签名的兑换交易(多 DEX:Raydium、PumpSwap、Orca、Meteora) |
POST /protect | 通过 Jito bundle 提交已签名的交易 — 受到 MEV 保护 |
POST /holdings | 钱包扫描 — 可捕获标准 RPC 会遗漏的代币 |
GET /mcap | 获取市值和价格 |
GET /flex | 生成交易卡片 PNG |
wss://api.traderouter.ai/ws | 用于限价、跟踪、DCA、TWAP 和组合订单的持久 WebSocket |
信任锚
内置的服务公钥为 EXX3nRzfDUvbjZSmxFzHDdiSYeGVP1EGr77iziFZ4Jd4。来自服务端的每条 order_filled、order_created 和 twap_execution 消息都会先通过 Ed25519 验证,再视为权威信息。详情及密钥轮换机制(TRADEROUTER_SERVER_PUBKEY_NEXT)请参阅 SECURITY.md。
与 LangChain 搭配使用
任何 MCP 服务都可以通过官方适配器在 LangChain 中使用:
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({
"traderouter": {
"command": "npx",
"args": ["-y", "@traderouter/trade-router-mcp"],
"transport": "stdio",
"env": {"TRADEROUTER_PRIVATE_KEY": "<base58>"},
},
})
tools = await client.get_tools()
费用
兑换交易量按 1% 收取固定费用,并计入 /protect 的路由中。无订阅、无 API 密钥、无月度最低消费。只读端点(/holdings、/mcap)免费。
机器可读规范(可在 traderouter.ai 上获取)
| URL | 格式 | 用途 |
|---|---|---|
| https://traderouter.ai/openapi.json | OpenAPI 3.1 (JSON) | 规范的 API 契约 — 可用于生成任意语言的 SDK |
| https://traderouter.ai/openapi.yaml | OpenAPI 3.1 (YAML) | 相同规范的 YAML 格式(由 JSON 重新生成) |
| https://traderouter.ai/llms.txt | text | 适用于大模型阅读的 API 指南(遵循 llmstxt.org) |
| https://traderouter.ai/SKILL.md | markdown | Anthropic Agent Skills 格式 — 完整实现指南 |
| https://traderouter.ai/SECURITY.md | markdown | 威胁模型 + 数据流图 + 权限清单(此处 ./SECURITY.md 的镜像) |
| https://traderouter.ai/CHANGELOG.md | markdown | 涵盖 API、MCP 服务和 Site 版本轨道的统一变更日志 |
快速生成 SDK:
# TypeScript
openapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g typescript-axios -o ./sdk-ts
# Python
openapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g python -o ./sdk-py
安全问题披露
请发送邮件至 [email protected],或通过此仓库的 GitHub Security Advisories 提交。我们将在 48 小时内确认收到。请参阅 SECURITY.md(如果您更想链接到稳定 URL,也可参阅托管版本)。
许可证
MIT。请参阅 LICENSE。
变更日志
请参阅 CHANGELOG.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。