Trade Router Mcp

ai.traderouterPublished by traderouter.aiv1.0.13Updated Oct 25, 2026

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

The publisher's own server: 370.ai — AI Gateway: 100+ Chat Models, Image & Speech Generation

VerifiedSTDIODesktop onlyFinanceDeveloper Tools

Overview

AI-generated overview

A local MCP server that lets an AI assistant build, sign and submit Solana swaps and place limit, trailing, DCA, TWAP and combo orders through TradeRouter.

What you can do
Read wallet address, token holdings, market cap and price, and trade card images for a wallet and token, plus a log of filled orders and a trade card image link for a wallet and token. Build unsigned swap transactions, submit a manually signed swap, or build, sign and submit a swap in one call. Place limit, trailing, TWAP, limit-to-TWAP, trailing-to-TWAP, limit-to-trailing and limit-to-trailing-to-TWAP orders. List active orders, check a specific order's status, cancel an order and extend an order's expiry. Register a wallet over a persistent WebSocket and check the connection state.
When to use it
Use it when you want an assistant to trade Solana tokens from a dedicated wallet: spot swaps, limit and trailing entries or exits, and scheduled TWAP or DCA-style execution, with order status checks and cancellation in the same conversation.
Requirements
Runs locally via npx, so Node.js 18 or newer is needed. Requires a Solana wallet private key in base58 in TRADEROUTER_PRIVATE_KEY. Optional settings: SOLANA_RPC_URL, TRADEROUTER_DRY_RUN, TRADEROUTER_SERVER_PUBKEY, TRADEROUTER_SERVER_PUBKEY_NEXT, and the two signature-verification flags. Network access to the TradeRouter API and a Solana RPC endpoint is required.
Before you install
The server holds a Solana private key that can move real funds; the README advises a dedicated trading wallet rather than a main holdings wallet. Write tools sign and submit real transactions, and a flat 1% fee applies to swap volume. Set TRADEROUTER_DRY_RUN to true to test write tools without calling the API. The wallet address and signed transactions are sent to the TradeRouter API and a Jito bundle endpoint; the private key is described as used only for local signing.

Installation

In SourceWeft

  1. Open Trade Router Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit 95d9ace

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.13LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Router integrations