Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Non-custodial Solana swap & limit order engine for AI agents.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
TRADEROUTER_PRIVATE_KEY, SOLANA_RPC_URL, TRADEROUTER_SERVER_PUBKEY, TRADEROUTER_SERVER_PUBKEY_NEXT, TRADEROUTER_REQUIRE_SERVER_SIGNATURE, TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE, TRADEROUTER_DRY_RUNค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"trade-router": {
"command": "npx",
"args": [
"-y",
"@traderouter/trade-router-mcp"
],
"env": {
"TRADEROUTER_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY_NEXT": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_SERVER_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_DRY_RUN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add trade-router --env TRADEROUTER_PRIVATE_KEY='ใส่ค่าของคุณ' --env SOLANA_RPC_URL='ใส่ค่าของคุณ' --env TRADEROUTER_SERVER_PUBKEY='ใส่ค่าของคุณ' --env TRADEROUTER_SERVER_PUBKEY_NEXT='ใส่ค่าของคุณ' --env TRADEROUTER_REQUIRE_SERVER_SIGNATURE='ใส่ค่าของคุณ' --env TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE='ใส่ค่าของคุณ' --env TRADEROUTER_DRY_RUN='ใส่ค่าของคุณ' -- npx -y @traderouter/trade-router-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"trade-router": {
"command": "npx",
"args": [
"-y",
"@traderouter/trade-router-mcp"
],
"env": {
"TRADEROUTER_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY_NEXT": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_SERVER_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_DRY_RUN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"trade-router": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@traderouter/trade-router-mcp"
],
"env": {
"TRADEROUTER_PRIVATE_KEY": "ใส่ค่าของคุณ",
"SOLANA_RPC_URL": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY": "ใส่ค่าของคุณ",
"TRADEROUTER_SERVER_PUBKEY_NEXT": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_SERVER_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE": "ใส่ค่าของคุณ",
"TRADEROUTER_DRY_RUN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SOLANA_RPC_URL envTRADEROUTER_SERVER_PUBKEY envTRADEROUTER_SERVER_PUBKEY_NEXT envTRADEROUTER_REQUIRE_SERVER_SIGNATURE envTRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE envTRADEROUTER_DRY_RUN envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน traderouter.ai แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: TRADEROUTER_PRIVATE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.13) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Georgia MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Model Context Protocol server for TradeRouter.ai — non-custodial Solana swap, limit, trailing, DCA, TWAP, and combo-order engine for AI agents.
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:
build_swap → MCP sends wallet *address* (public key) to api.traderouter.aiTRADEROUTER_PRIVATE_KEY/protect (Jito MEV-protected bundle)npx -y @traderouter/trade-router-mcp
Or wire it into an MCP client (Claude Desktop, Cursor, Cline, etc.):
{
"mcpServers": { "traderouter": { "command": "npx", "args": ["-y", "@traderouter/trade-router-mcp"], "env": { "TRADEROUTER_PRIVATE_KEY": "your_base58_private_key" } } } }
| OS | Claude 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 |
| Variable | Required | Default | Purpose |
|---|---|---|---|
TRADEROUTER_PRIVATE_KEY | ✅ | — | Solana wallet private key (base58). Local use only. |
SOLANA_RPC_URL | ❌ | https://api.mainnet-beta.solana.com | Custom RPC for reads |
TRADEROUTER_SERVER_PUBKEY | ❌ | baked-in trust anchor | Override 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 | ❌ | true | Verify server signatures on order_filled / twap_execution |
TRADEROUTER_REQUIRE_ORDER_CREATED_SIGNATURE | ❌ | true | Verify server signatures on order_created |
TRADEROUTER_DRY_RUN | ❌ | false | When 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. |
| Tool | Purpose |
|---|---|
get_wallet_address | Get the configured wallet's public address |
build_swap | Build an unsigned swap transaction |
submit_signed_swap | Submit a manually signed transaction |
auto_swap | Build + sign + submit in one call |
get_holdings | Get token holdings for a wallet |
get_mcap | Market cap and price for a token |
get_flex_card | Trade card PNG URL for wallet + token |
place_limit_order | Limit buy/sell by price or market cap |
place_trailing_order | Trailing stop buy/sell |
place_twap_order | TWAP (time-weighted) buy/sell |
place_limit_twap_order | Limit trigger → TWAP execution |
place_trailing_twap_order | Trailing trigger → TWAP execution |
place_limit_trailing_order | Limit trigger → trailing execution (single swap on trigger) |
place_limit_trailing_twap_order | Limit trigger → trailing trigger → TWAP execution |
list_orders | List active orders for a wallet |
check_order | Get status of a specific order |
cancel_order | Cancel an active order |
extend_order | Extend an order's expiry |
connect_websocket | Register a wallet over the persistent WebSocket |
connection_status | Current WebSocket connection state |
get_fill_log | Log of filled orders |
| Endpoint | Purpose |
|---|---|
POST /swap | Build unsigned swap (multi-DEX: Raydium, PumpSwap, Orca, Meteora) |
POST /protect | Submit signed tx via Jito bundle — MEV-protected |
POST /holdings | Wallet scan — catches tokens standard RPC misses |
GET /mcap | Market cap + price |
GET /flex | Trade card PNG generation |
wss://api.traderouter.ai/ws | Persistent WebSocket for limits / trailing / DCA / TWAP / combo orders |
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).
Any MCP server works in LangChain via the official adapter:
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({ "traderouter": { "command": "npx", "args": ["-y", "@traderouter/trade-router-mcp"], "transport": "stdio", "env": {"TRADEROUTER_PRIVATE_KEY": " "}, }, }) tools = await client.get_tools()
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.
| URL | Format | Purpose |
|---|---|---|
| https://traderouter.ai/openapi.json | OpenAPI 3.1 (JSON) | Canonical API contract — generate SDKs in any language |
| https://traderouter.ai/openapi.yaml | OpenAPI 3.1 (YAML) | Same spec, YAML format (regenerated from the JSON) |
| https://traderouter.ai/llms.txt | text | LLM-readable API guide (per llmstxt.org) |
| https://traderouter.ai/SKILL.md | markdown | Anthropic Agent Skills format — full implementation guide |
| https://traderouter.ai/SECURITY.md | markdown | Threat model + data-flow diagram + permissions manifest (mirrors ./SECURITY.md here) |
| https://traderouter.ai/CHANGELOG.md | markdown | Unified changelog across the API / MCP server / Site version tracks |
Quick SDK generation:
# TypeScript
openapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g typescript-axios -o ./sdk-ts
openapi-generator-cli generate -i https://traderouter.ai/openapi.yaml -g python -o ./sdk-py
Email security@traderouter.ai 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).
MIT. See LICENSE.
See CHANGELOG.md.