Trade Router Mcp

io.github.TradeRouter由 GitHub 账号 TradeRouter 发布v1.0.9更新于 Oct 24, 2026

Non-custodial Solana swap & limit order engine for AI agents.

发布方自己的服务:370.ai — AI Gateway: 100+ Chat Models, Image & Speech Generation

已验证STDIO仅桌面金融AI 与机器学习

概览

AI 生成的概览

让 AI 助手通过 TradeRouter 构建、签名并提交 Solana 兑换,并下达限价、追踪、DCA 与 TWAP 订单。

可以做什么
Trade Router MCP 是 TradeRouter.ai 非托管 Solana 交易引擎的本地 stdio 服务器。它提供工具用于读取钱包地址与持仓、获取代币价格与市值、构建未签名兑换交易、在本地签名并提交,以及下达和管理限价、追踪止损、TWAP 与组合订单。它还通过持久 WebSocket 注册钱包以接收订单更新,并返回成交日志与交易卡片图片。
适用场景
当助手需要执行或自动化 Solana 代币交易时使用,包括限价、追踪止损、TWAP 及组合等条件订单类型。它面向由代理驱动的交易工作流,而非通用 Solana 开发或只读行情数据。
运行要求
需要 Node.js 18 或更高版本以及 npx 来运行该 npm 包。必须以 TRADEROUTER_PRIVATE_KEY 提供 base58 格式的 Solana 钱包私钥。需要访问 api.traderouter.ai 与 Solana RPC 端点的网络连接;可用 SOLANA_RPC_URL 覆盖默认值。无需 API 密钥或账户。
安装前请注意
该服务器要求通过 TRADEROUTER_PRIVATE_KEY 提供 Solana 钱包私钥,这等于控制该钱包资金;README 建议使用专门的交易钱包。auto_swap、submit_signed_swap、place_*_order、cancel_order 与 extend_order 等写入类工具可转移资金或更改活动订单,且兑换量按 1% 收取固定费用。可将 TRADEROUTER_DRY_RUN 设为 true 以短路写入类工具。服务器消息会依据内置的 Ed25519 信任锚进行验证,可用 TRADEROUTER_SERVER_PUBKEY 或 TRADEROUTER_SERVER_PUBKEY_NEXT 覆盖或扩展该锚。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Trade Router Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@traderouter/trade-router-mcp

A Model Context Protocol server for TradeRouter.ai — non-custodial Solana swap, limit, trailing, DCA, TWAP, and combo-order engine for AI agents.

[Security: non-custodial] [License: MIT] [npm] [Awesome MCP Servers] [Glama MCP Server] [MCP Registry]

Is this safe?

Yes, and here's exactly why. The private key is read once from TRADEROUTER_PRIVATE_KEY, used for local signing with @solana/web3.js + tweetnacl, and never transmitted, logged, or persisted. Only signed transactions leave your machine. Server messages are Ed25519-verified against a hard-coded trust anchor. See SECURITY.md for the full threat model, data-flow diagram, and permissions manifest.

Signing flow:

  1. Agent calls build_swap → MCP sends wallet address (public key) to api.traderouter.ai
  2. API returns an unsigned transaction
  3. MCP signs the tx locally using TRADEROUTER_PRIVATE_KEY
  4. The signed transaction is submitted to /protect (Jito MEV-protected bundle)
  5. Server confirms and returns balance changes. The private key never crosses the network.

Requirements

  • Node.js ≥ 18
  • A Solana wallet private key in base58 format (use a dedicated trading wallet, not your main holdings)

Install

bash
npx -y @traderouter/trade-router-mcp

Or wire it into an MCP client (Claude Desktop, Cursor, Cline, etc.):

json
{  "mcpServers": {    "traderouter": {      "command": "npx",      "args": ["-y", "@traderouter/trade-router-mcp"],      "env": {        "TRADEROUTER_PRIVATE_KEY": "your_base58_private_key"      }    }  }}
OSClaude Desktop config path
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

Environment variables

VariableRequiredDefaultPurpose
TRADEROUTER_PRIVATE_KEY✅—Solana wallet private key (base58). Local use only.
SOLANA_RPC_URL❌https://api.mainnet-beta.solana.comCustom RPC for reads
TRADEROUTER_SERVER_PUBKEY❌baked-in trust anchorOverride the server's Ed25519 trust anchor
TRADEROUTER_SERVER_PUBKEY_NEXT❌(unset)Accept messages signed by this key in addition to the primary (key rotation)
TRADEROUTER_REQUIRE_SERVER_SIGNATURE❌trueVerify server signatures on order_filled / twap_execution
TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE❌trueVerify server signatures on order_created
TRADEROUTER_DRY_RUN❌falseWhen true, every write-action tool (submit_signed_swap, auto_swap, place_*_order, cancel_order, extend_order) returns { dry_run: true, tool, args } instead of calling the API. Read-only tools execute normally. Added in 1.0.9.

Tools

ToolPurpose
get_wallet_addressGet the configured wallet's public address
build_swapBuild an unsigned swap transaction
submit_signed_swapSubmit a manually signed transaction
auto_swapBuild + sign + submit in one call
get_holdingsGet token holdings for a wallet
get_mcapMarket cap and price for a token
get_flex_cardTrade card PNG URL for wallet + token
place_limit_orderLimit buy/sell by price or market cap
place_trailing_orderTrailing stop buy/sell
place_twap_orderTWAP (time-weighted) buy/sell
place_limit_twap_orderLimit trigger → TWAP execution
place_trailing_twap_orderTrailing trigger → TWAP execution
place_limit_trailing_orderLimit trigger → trailing execution (single swap on trigger)
place_limit_trailing_twap_orderLimit trigger → trailing trigger → TWAP execution
list_ordersList active orders for a wallet
check_orderGet status of a specific order
cancel_orderCancel an active order
extend_orderExtend an order's expiry
connect_websocketRegister a wallet over the persistent WebSocket
connection_statusCurrent WebSocket connection state
get_fill_logLog of filled orders

REST endpoints (under the hood)

EndpointPurpose
POST /swapBuild unsigned swap (multi-DEX: Raydium, PumpSwap, Orca, Meteora)
POST /protectSubmit signed tx via Jito bundle — MEV-protected
POST /holdingsWallet scan — catches tokens standard RPC misses
GET /mcapMarket cap + price
GET /flexTrade card PNG generation
wss://api.traderouter.ai/wsPersistent WebSocket for limits / trailing / DCA / TWAP / combo orders

Trust anchor

The baked-in server public key is EXX3nRzfDUvbjZSmxFzHDdiSYeGVP1EGr77iziFZ4Jd4. Every order_filled, order_created, and twap_execution message from the server is verified with Ed25519 before being treated as authoritative. See SECURITY.md for details and the rotation mechanism (TRADEROUTER_SERVER_PUBKEY_NEXT).

Use with LangChain

Any MCP server works in LangChain via the official adapter:

python
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()

Fees

Flat 1% fee on swap volume, embedded in routing at /protect. No subscription, no API key, no monthly minimums. Read-only endpoints (/holdings, /mcap) are free.

Machine-readable specs (live on traderouter.ai)

URLFormatPurpose
https://traderouter.ai/openapi.jsonOpenAPI 3.1 (JSON)Canonical API contract — generate SDKs in any language
https://traderouter.ai/openapi.yamlOpenAPI 3.1 (YAML)Same spec, YAML format (regenerated from the JSON)
https://traderouter.ai/llms.txttextLLM-readable API guide (per llmstxt.org)
https://traderouter.ai/SKILL.mdmarkdownAnthropic Agent Skills format — full implementation guide
https://traderouter.ai/SECURITY.mdmarkdownThreat model + data-flow diagram + permissions manifest (mirrors ./SECURITY.md here)
https://traderouter.ai/CHANGELOG.mdmarkdownUnified changelog across the API / MCP server / Site version tracks

Quick SDK generation:

bash
# TypeScriptopenapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g typescript-axios -o ./sdk-ts
# Pythonopenapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g python -o ./sdk-py

Security disclosure

Email [email protected] or use GitHub Security Advisories on this repo. 48-hour acknowledgement. See SECURITY.md (or the hosted version if you'd rather link to a stable URL).

License

MIT. See LICENSE.

Changelog

See CHANGELOG.md.

来源:README.md,提交 95d9ace

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.9最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Router 集成