Trade Router MCP

Servidor MCP não custodial de swap e ordens limitadas na Solana. 21 ferramentas em Raydium, PumpSwap, Orca, Meteora. Protegido por MEV Jito. A chave privada nunca sai do agente.

Documentação

@traderouter/trade-router-mcp

Um servidor Model Context Protocol para TradeRouter.ai — mecanismo não custodial de swap, limite, trailing, DCA, TWAP e ordens combo na Solana para agentes de IA.

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

Isso é seguro?

Sim, e aqui está exatamente o porquê. A chave privada é lida uma única vez de TRADEROUTER_PRIVATE_KEY, usada para assinatura local com @solana/web3.js + tweetnacl, e nunca é transmitida, registrada ou persistida. Apenas transações assinadas saem da sua máquina. As mensagens do servidor são verificadas com Ed25519 contra uma âncora de confiança embutida no código. Consulte SECURITY.md para o modelo de ameaças completo, diagrama de fluxo de dados e manifesto de permissões.

Fluxo de assinatura:

  1. O agente chama build_swap → o MCP envia o endereço da carteira (chave pública) para api.traderouter.ai
  2. A API retorna uma transação não assinada
  3. O MCP assina a tx localmente usando TRADEROUTER_PRIVATE_KEY
  4. A transação assinada é enviada para /protect (bundle Jito protegido contra MEV)
  5. O servidor confirma e retorna as alterações de saldo. A chave privada nunca cruza a rede.

Requisitos

  • Node.js ≥ 18
  • Uma chave privada de carteira Solana no formato base58 (use uma carteira dedicada para trading, não sua carteira principal)

Instalação

npx -y @traderouter/trade-router-mcp

Ou conecte-o a um cliente MCP (Claude Desktop, Cursor, Cline, etc.):

{
  "mcpServers": {
    "traderouter": {
      "command": "npx",
      "args": ["-y", "@traderouter/trade-router-mcp"],
      "env": {
        "TRADEROUTER_PRIVATE_KEY": "your_base58_private_key"
      }
    }
  }
}
SOCaminho de configuração do 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

Variáveis de ambiente

VariávelObrigatóriaPadrãoFinalidade
TRADEROUTER_PRIVATE_KEY✅—Chave privada da carteira Solana (base58). Uso apenas local.
SOLANA_RPC_URL❌https://api.mainnet-beta.solana.comRPC personalizado para leituras
TRADEROUTER_SERVER_PUBKEY❌âncora de confiança embutidaSubstituir a âncora de confiança Ed25519 do servidor
TRADEROUTER_SERVER_PUBKEY_NEXT❌(não definido)Aceitar mensagens assinadas por esta chave além da principal (rotação de chaves)
TRADEROUTER_REQUIRE_SERVER_SIGNATURE❌trueVerificar assinaturas do servidor em order_filled / twap_execution
TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE❌trueVerificar assinaturas do servidor em order_created
TRADEROUTER_DRY_RUN❌falseQuando true, toda ferramenta de ação de escrita (submit_signed_swap, auto_swap, place_*_order, cancel_order, extend_order) retorna { dry_run: true, tool, args } em vez de chamar a API. Ferramentas somente leitura executam normalmente. Adicionado na versão 1.0.9.

Ferramentas

FerramentaFinalidade
get_wallet_addressObter o endereço público da carteira configurada
build_swapConstruir uma transação de swap não assinada
submit_signed_swapEnviar uma transação assinada manualmente
auto_swapConstruir + assinar + enviar em uma única chamada
get_holdingsObter saldos de tokens de uma carteira
get_mcapCapitalização de mercado e preço de um token
get_flex_cardURL PNG do trade card para carteira + token
place_limit_orderCompra/venda limitada por preço ou capitalização de mercado
place_trailing_orderCompra/venda com trailing stop
place_twap_orderCompra/venda TWAP (média ponderada no tempo)
place_limit_twap_orderGatilho de limite → execução TWAP
place_trailing_twap_orderGatilho de trailing → execução TWAP
place_limit_trailing_orderGatilho de limite → execução com trailing (swap único no gatilho)
place_limit_trailing_twap_orderGatilho de limite → gatilho de trailing → execução TWAP
list_ordersListar ordens ativas de uma carteira
check_orderObter status de uma ordem específica
cancel_orderCancelar uma ordem ativa
extend_orderEstender a expiração de uma ordem
connect_websocketRegistrar uma carteira via WebSocket persistente
connection_statusEstado atual da conexão WebSocket
get_fill_logRegistro de ordens executadas

Endpoints REST (nos bastidores)

EndpointFinalidade
POST /swapConstruir swap não assinado (multi-DEX: Raydium, PumpSwap, Orca, Meteora)
POST /protectEnviar tx assinada via bundle Jito — protegido contra MEV
POST /holdingsVarredura de carteira — captura tokens que o RPC padrão não detecta
GET /mcapCapitalização de mercado + preço
GET /flexGeração de PNG do trade card
wss://api.traderouter.ai/wsWebSocket persistente para ordens de limite / trailing / DCA / TWAP / combo

Âncora de confiança

A chave pública do servidor embutida no código é EXX3nRzfDUvbjZSmxFzHDdiSYeGVP1EGr77iziFZ4Jd4. Toda mensagem order_filled, order_created e twap_execution do servidor é verificada com Ed25519 antes de ser tratada como autoritativa. Consulte SECURITY.md para detalhes e o mecanismo de rotação (TRADEROUTER_SERVER_PUBKEY_NEXT).

Uso com LangChain

Qualquer servidor MCP funciona no LangChain por meio do adaptador oficial:

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

Taxas

Taxa fixa de 1% sobre o volume de swaps, embutida no roteamento em /protect. Sem assinatura, sem chave de API, sem mínimos mensais. Endpoints somente leitura (/holdings, /mcap) são gratuitos.

Especificações legíveis por máquina (ao vivo em traderouter.ai)

URLFormatoFinalidade
https://traderouter.ai/openapi.jsonOpenAPI 3.1 (JSON)Contrato canônico da API — gere SDKs em qualquer linguagem
https://traderouter.ai/openapi.yamlOpenAPI 3.1 (YAML)Mesma especificação, formato YAML (regenerado a partir do JSON)
https://traderouter.ai/llms.txttextoGuia de API legível por LLM (conforme llmstxt.org)
https://traderouter.ai/SKILL.mdmarkdownFormato Anthropic Agent Skills — guia completo de implementação
https://traderouter.ai/SECURITY.mdmarkdownModelo de ameaças + diagrama de fluxo de dados + manifesto de permissões (espelha ./SECURITY.md aqui)
https://traderouter.ai/CHANGELOG.mdmarkdownChangelog unificado entre as trilhas de versão da API / servidor MCP / Site

Geração rápida de 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

Divulgação de segurança

Envie um e-mail para security@traderouter.ai ou use os GitHub Security Advisories neste repositório. Confirmação em até 48 horas. Consulte SECURITY.md (ou a versão hospedada se preferir um link para uma URL estável).

Licença

MIT. Consulte LICENSE.

Changelog

Consulte CHANGELOG.md.