trade-router-mcp について
trade-router-mcpは、AIエージェント向けのSolana取引MCPサーバーです。スワップに加え、指値、トレーリング、DCA、TWAP、複合注文に対応します。秘密鍵はローカル署名にのみ使い、サーバーメッセージはEd25519で検証します。
主な機能
- 01Solanaスワップの構築と送信
- 02指値・トレーリング・TWAP注文の作成
- 03保有資産・価格・注文状況の確認
- 04有効な注文の取消・期限延長
- 05ローカル署名とサーバーメッセージ検証
活用シーン
- 01エージェント経由のトークンスワップ
- 02価格や時価総額を指定した売買注文
- 03時間分散またはトレーリング取引の設定
- 04ウォレット保有資産と約定の確認
MCP 対応
MCPサーバーは、Solanaウォレット、スワップ、注文、市場データのツールをクライアントに公開します。取引用秘密鍵はローカル署名に使われ、送信されません。署名済みトランザクションはサービスへ送信されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 エージェント向けに、Solana のスワップ、指値注文、トレーリング注文、DCA、TWAP、コンボ注文を扱うノンカストディアルのエンジンです。
安全ですか?
はい。その理由を詳しく説明します。 秘密鍵は TRADEROUTER_PRIVATE_KEY から一度だけ読み込まれ、@solana/web3.js と tweetnacl を使ったローカル署名に使用されます。送信、ログ記録、永続化されることはありません。マシンの外に出るのは署名済みトランザクションのみです。サーバーからのメッセージは、ハードコードされた信頼アンカーに照らして Ed25519 で検証されます。脅威モデル、データフロー図、権限マニフェストの詳細については、SECURITY.md をご覧ください。
署名の流れ:
- エージェントが
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"
}
}
}
}
| OS | 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)は API を呼び出す代わりに { dry_run: true, tool, args } を返します。読み取り専用ツールは通常どおり実行されます。1.0.9 で追加されました。 |
ツール
| ツール | 目的 |
|---|---|
get_wallet_address | 設定済みウォレットの公開アドレスを取得します |
build_swap | 未署名のスワップトランザクションを作成します |
submit_signed_swap | 手動で署名したトランザクションを送信します |
auto_swap | 1 回の呼び出しで作成・署名・送信します |
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 経由で署名済み tx を送信します — 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()
手数料
/protect のルーティングに組み込まれた、スワップ取引量に対する一律 1% の手数料です。サブスクリプション、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 | LLM が読み取れる 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 サーバー/サイトのバージョン系列をまとめた変更履歴 |
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。