Skip to main content
Glama
TradeRouter

trade-router-mcp

Official
by TradeRouter

@traderouter/trade-router-mcp

一个用于 TradeRouter.ai模型上下文协议 (Model Context Protocol) 服务器——为 AI 代理提供非托管的 Solana 交易、限价、追踪、DCA、TWAP 及组合订单引擎。

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

这安全吗?

是的,原因如下。 私钥仅从 TRADEROUTER_PRIVATE_KEY 读取一次,用于通过 @solana/web3.js + tweetnacl 进行本地签名,且绝不会被传输、记录或持久化。只有已签名的交易才会离开您的机器。服务器消息通过硬编码的信任锚点进行 Ed25519 验证。请参阅 SECURITY.md 以获取完整的威胁模型、数据流图和权限清单。

签名流程:

  1. 代理调用 build_swap → MCP 将钱包地址(公钥)发送至 api.traderouter.ai

  2. API 返回一个未签名的交易

  3. MCP 使用 TRADEROUTER_PRIVATE_KEY 在本地对交易进行签名

  4. 已签名的交易被提交至 /protect(Jito MEV 保护的捆绑包)

  5. 服务器确认并返回余额变动。私钥绝不会跨网络传输。

Related MCP server: RefundYourSOL

要求

  • 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"
      }
    }
  }
}

操作系统

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_swapauto_swapplace_*_ordercancel_orderextend_order)将返回 { dry_run: true, tool, args } 而不是调用 API。只读工具正常执行。于 1.0.9 版本添加。

工具

工具

用途

get_wallet_address

获取已配置钱包的公钥地址

build_swap

构建未签名的交易

submit_signed_swap

提交手动签名的交易

auto_swap

一次调用完成构建 + 签名 + 提交

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 捆绑包提交已签名交易 — MEV 保护

POST /holdings

钱包扫描 — 捕获标准 RPC 遗漏的代币

GET /mcap

市值 + 价格

GET /flex

交易卡片 PNG 生成

wss://api.traderouter.ai/ws

用于限价 / 追踪 / DCA / TWAP / 组合订单的持久 WebSocket

信任锚点

内置的服务器公钥为 EXX3nRzfDUvbjZSmxFzHDdiSYeGVP1EGr77iziFZ4Jd4。来自服务器的每条 order_filledorder_createdtwap_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()

费用

交易额收取 1% 的固定费用,嵌入在 /protect 的路由中。无订阅费、无 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 代理技能格式 — 完整实现指南

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

安全披露

请发送电子邮件至 security@traderouter.ai 或在此仓库使用 GitHub 安全公告。48 小时内确认。请参阅 SECURITY.md(如果您更喜欢链接到稳定 URL,请参阅 托管版本)。

许可证

MIT。请参阅 LICENSE

更新日志

请参阅 CHANGELOG.md

Available Tools

21 tools
auto_swapB

Build + sign + submit in one step. Requires TRADEROUTER_PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
amountNo
holdings_percentageNo
slippageNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it performs multiple operations in one step and requires a private key, but lacks details on side effects, error handling, or additional requirements. No annotations to compensate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two pithy sentences, immediately informative without extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 6 parameters and no output schema, the description omits explanation of parameters and return value, severely limiting practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds no information about the 6 parameters, failing to explain fields like holdings_percentage, slippage, or amount.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool combines build, sign, and submit in one step, differentiating it from siblings like build_swap and submit_signed_swap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions the requirement of TRADEROUTER_PRIVATE_KEY but provides no guidance on when to use this tool versus alternatives like build_swap or submit_signed_swap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_swapA

Build an unsigned Solana swap tx via REST. Returns base58 swap_tx. Pass to submit_signed_swap or use auto_swap.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
amountNoLamports (buy only)
holdings_percentageNoBps (sell only, 10000=100%)
slippageNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It discloses that the transaction is unsigned and returns base58, but lacks details on side effects, error conditions, or authentication needs. It gives the core behavioral trait but misses richer context expected for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, with no superfluous words. It front-loads the action and method in the first sentence, and the output and next steps in the second. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no output schema, and no annotations, the description is too sparse to fully understand the tool's behavior. It does not explain the return format beyond 'base58 swap_tx', nor error conditions or dependencies. Given the complexity, more detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only amount and holdings_percentage have descriptions). The description adds no parameter-level information, failing to compensate for the missing schema descriptions. For example, it does not explain wallet_address, token_address, action, or slippage beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it builds an unsigned Solana swap transaction via REST. It specifies the output (base58 swap_tx) and distinguishes from siblings by mentioning submit_signed_swap and auto_swap as next steps or alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage flow: build the unsigned tx, then either pass to submit_signed_swap or use auto_swap. However, it does not explicitly state when not to use this tool or contrast with other swap-related siblings beyond those two.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_orderC

Cancel an active limit or trailing order.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
order_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description only states 'Cancel' without disclosing side effects, authorizations, or behavior for non-existent orders. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no filler, but could benefit from structured bullet points for clarity. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks details on return values, error cases, or steps to get order_id. Incomplete given the context of no output schema and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description adds no meaning beyond parameter names; it does not explain what wallet_address or order_id represent or how to obtain them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it cancels active limit or trailing orders, with a specific verb and resource, and distinguishes from related tools like place_order variants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like check_order or extend_order. No context on prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_orderB

Check the status of a specific order by order_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
order_idYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations; description suggests read-only but lacks details on side effects, auth, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Low complexity but lacks detail on return values or error conditions. Could be more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 0%; description adds no info beyond parameter names. Does not explain wallet_address or order_id format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'check' and resource 'status of a specific order'. Distinguishes from siblings like cancel_order or list_orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use when order_id is known, but no explicit guidance on when not to use or comparison with list_orders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connection_statusC

Return live WS connection state for a wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It does not disclose side effects, whether the tool reads or creates state, or what 'connection state' entails. Insufficient behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded, but extremely minimal. While efficient, it lacks detail that would justify a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple input, the description fails to explain what 'live WS connection state' means or how to interpret results. Incomplete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the tool description adds no meaning to the 'wallet_address' parameter. Cannot infer its format or constraints from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Return' and resource 'live WS connection state' scoped to 'a wallet'. It effectively distinguishes from sibling tools like connect_websocket.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. The description lacks contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_websocketA

Connect WS for a wallet and wait until registered (up to 25s). Call before placing orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses connection and wait with timeout (up to 25s). Lacks details on idempotency, error handling, or what 'registered' means. Without annotations, more behavioral context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with action and constraint. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and usage prerequisite. Missing return value or error scenario details, but simple tool with one parameter and clear context from sibling tools is adequately described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only parameter 'wallet_address' has no schema description. Description mentions 'for a wallet' but doesn't specify format or constraints. Schema coverage is 0%, so description partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it connects a websocket for a wallet and waits for registration, with a specific timeout. It also explicitly says 'Call before placing orders,' distinguishing it from order placement siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call before placing orders,' providing clear when-to-use guidance. Does not mention alternatives or when not to use, but the context implies it's a prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extend_orderC

Extend an order's expiry. expiry_hours is the new total (1–336).

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
order_idYes
expiry_hoursYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clarifies that 'expiry_hours is the new total', implying it overrides the previous expiry rather than adding to it. However, it does not disclose if the order must be active or any authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but could be better structured by front-loading the purpose and separating parameter details. It lacks a clear hierarchy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with three required parameters and no output schema, the description is minimal. It does not explain the return value, side effects, or whether the extension is conditional on order state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description adds meaning only for the expiry_hours parameter (new total). It provides no semantic help for wallet_address or order_id, leaving those unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Extend' combined with 'an order's expiry' clearly indicates the action and resource. It naturally distinguishes from siblings like cancel_order or place_limit_order by focusing on extending the expiry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., placing a new order with a longer expiry). There is no mention of prerequisites or scenarios where extension is applicable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fill_logC

Return all order_filled events received since process start (capped at 200).

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It mentions capping at 200 and start time but fails to disclose whether events persist, are deleted after retrieval, or require active connection. Behavior around event retention or stream versus snapshot is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded with key information (return all events, capped at 200). No filler words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks details about output format, error cases, and interaction with other tools (e.g., connect_websocket). No output schema, so return structure is wholly unspecified. Incomplete for a reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter wallet_address is described only by its schema type (string). Description adds no format, example, or usage context. Schema coverage is 0%, and description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'order_filled events' with specific constraints (since process start, capped at 200). It distinguishes from sibling tools like list_orders which likely list current orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_orders or check_order. Missing context about prerequisites (e.g., need to connect websocket first).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_flex_cardC

Get the URL for a flex trade card PNG for a wallet and token. GET /flex. Returns the URL to display the image.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It does not state that the operation is read-only, idempotent, or free of side effects. It merely says it returns a URL, leaving the agent to infer safety and side-effect profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two sentences covering purpose and the return value. It is front-loaded and wastes no words. However, it could be slightly more detailed without becoming verbose, so it is not a perfect 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no parameter descriptions, the tool description is insufficiently complete. It does not explain what a 'flex trade card PNG' is, how the URL is generated, or any potential errors. The agent cannot fully understand the tool's behavior from this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning to parameters. It only mentions 'wallet and token' without providing any details on format, examples, constraints, or types beyond the schema field names. This does little to help the agent provide correct values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to get a URL for a flex trade card PNG for a given wallet and token. It adds the HTTP method and endpoint, making the action unmistakable. This distinguishes it from sibling tools like auto_swap or list_orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when no token address is available or for other image retrieval tools. The description does not mention any prerequisites or contexts where the tool is appropriate or inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_holdingsA

Scan SPL token holdings for a Solana wallet. Slow — up to 100s.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It reveals slowness, a key behavioral trait, but lacks details on read-only nature, error handling, or response characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences with no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool, the description covers the purpose and a critical performance note, but is incomplete regarding output format and error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not add any explanation, format, or example for the sole parameter 'wallet_address', providing minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (scan) and resource (SPL token holdings for a Solana wallet), and distinguishes from sibling tools like auto_swap and place_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes the tool is slow (up to 100s), guiding agents to consider latency. However, it does not provide explicit when-to-use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mcapA

Get market cap (and price/pool) data for one or more token addresses. GET /mcap.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensYesComma-separated Solana mint addresses

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully convey behavioral traits. It implies a read operation without mentioning destructive behavior, but it does not disclose authentication needs, rate limits, or data freshness. This is adequate for a simple getter but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence plus the endpoint, with no redundant words. It is front-loaded with the verb and resource, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one required parameter, no output schema, and no annotations, the description provides essential information. It could be improved by mentioning return format or limits, but it is largely sufficient for a straightforward read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with the 'tokens' parameter already described as 'Comma-separated Solana mint addresses'. The description adds minimal extra meaning (e.g., 'for one or more token addresses'), but since coverage is high, the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'market cap (and price/pool) data', and the input 'token addresses'. It also mentions the HTTP endpoint 'GET /mcap'. This is specific and distinguishes from sibling tools like 'auto_swap' or 'place_limit_order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool over alternatives, when not to use it, or any prerequisites. Given the context of many trading-related siblings, explicit guidelines would be valuable but are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_wallet_addressA

Derive the Solana wallet address from TRADEROUTER_PRIVATE_KEY. Call first at session start — also starts WebSocket connection.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the tool starts a WebSocket connection as a side effect, which goes beyond mere derivation. It does not mention prerequisites like the private key being set, but the description is transparent about the key action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The main action is front-loaded, and the side effect is stated concisely. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description explains the main function and side effect. It does not describe the return format of the wallet address, which is a minor gap, but overall the tool is simple enough that this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so schema description coverage is 100%. The description adds meaning by specifying the source (TRADEROUTER_PRIVATE_KEY), which is not in the schema. This compensates fully for the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it derives a Solana wallet address from TRADEROUTER_PRIVATE_KEY. The verb 'derive' is specific, and the resource is the wallet address. This tool is distinct from siblings like auto_swap or place_order, which handle trading operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly indicates 'Call first at session start' and mentions starting a WebSocket connection, providing clear temporal and contextual guidance. No alternative tools are listed, but the unique initialization role makes this sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ordersC

List all active limit/trailing orders for a wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description indicates a read-only operation but does not disclose behavioral traits such as authentication requirements, rate limits, or potential side effects. It is minimally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is efficient and front-loaded, but it may be too minimal, sacrificing clarity on important details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple structure (one required parameter, no output schema), the description covers the basic purpose and scope. However, it omits details about the response format or any pagination limits, making it adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'wallet_address' parameter beyond implying its purpose. No format, constraints, or additional context are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists all active limit/trailing orders for a wallet, using a specific verb and resource. It distinguishes from sibling tools like 'check_order' (single order) and 'cancel_order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'check_order' or other order management tools. There is no mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_limit_orderC

Place a market-cap-based limit order over WS. action: sell|buy. target: bps vs current mcap at placement.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
targetYes
amountNo
holdings_percentageNo
slippageNo
expiry_hoursNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description mentions 'over WS' implying WebSocket usage but does not disclose behavioral traits like order lifetime, execution guarantees, or required permissions for a mutation operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, concise but not well-structured. Lacks separation of concerns (e.g., parameters, behavior). Could be reorganized for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and no annotations, the description provides minimal context. Missing prerequisites, return values, and usage examples for a complex order placement tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description only explains the 'action' and 'target' parameters. The other six parameters (wallet_address, token_address, amount, holdings_percentage, slippage, expiry_hours) are not described, despite schema coverage being 0%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool places a market-cap-based limit order, specifying the action (sell/buy) and target as bps relative to market cap. This distinguishes it from sibling tools like trailing or TWAP orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., trailing, TWAP, or simple swaps). The description lacks context for selection among many similar siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_limit_trailing_orderC

Place a limit-then-trailing order. Wait for limit, then trailing phase; when trail triggers, single swap. action: limit_trailing_sell|limit_trailing_buy.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
targetYes
trailYes
amountNo
holdings_percentageNo
slippageNo
expiry_hoursNo

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations, the description must fully convey behavior. It explains the two-phase execution ('Wait for limit, then trailing phase; when trail triggers, single swap'), which provides moderate transparency. However, it omits details on order lifecycle (expiry, cancellation, partial fills) and does not mention authorization requirements or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) but sacrifices necessary detail. While brevity is good, it omits vital information like parameter explanations and usage guidance. It is not well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, two-phase order), the description is far from complete. It lacks return value information (no output schema), does not explain how the limit and trail parameters interact, and provides no help for the agent to choose among many sibling order tools. The description is insufficient for reliable tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description should explain all parameters. It only mentions the 'action' enum. Critical parameters like 'wallet_address', 'token_address', 'target', 'trail', 'amount', 'holdings_percentage', 'slippage', and 'expiry_hours' are left completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it places a limit-then-trailing order with a two-phase process (wait for limit, then trailing). It specifies the action field with the allowed values, distinguishing it from simple limit or trailing orders. However, it does not differentiate from the similar 'place_limit_trailing_twap_order' sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description implies it's for limit-then-trailing orders but does not mention when to choose this over limit, trailing, or TWAP variations. No when-not-to-use or prerequisite information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_limit_trailing_twap_orderB

Place a limit-then-trailing-then-TWAP order. Limit → trail → on trail trigger, execute via TWAP. action: limit_trailing_twap_sell|limit_trailing_twap_buy.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
targetYes
trailYes
frequencyYes
durationYes
amountNoLamports (buy) or raw token units (sell)
holdings_percentageNoSell only: bps
slippageNo
expiry_hoursNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the behavioral sequence (limit → trailing → on trigger TWAP), which is valuable. However, with no annotations provided, the description carries full burden. It lacks details on side effects, required permissions, or failure behavior, so it is only moderately transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that efficiently convey the order type and the action parameter. Every sentence adds value, and the structure is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, 7 required, no output schema), the description is incomplete. It does not explain return values, side effects, or provide enough context for an agent to understand the full behavior. More details are needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18%, so most parameters lack explanations. The description only clarifies the 'action' parameter's enum values. Parameters like 'target', 'trail', 'frequency', and 'duration' are left unexplained, making it hard for an agent to use correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Place' and the resource 'limit-then-trailing-then-TWAP order'. It explains the sequential logic and provides the action enum values. This differentiates it from sibling tools like place_limit_order, place_trailing_order, and place_twap_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when-not-to-use, or compare with other order types. This forces the agent to infer use cases from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_limit_twap_orderB

Place a limit-then-TWAP order. Wait for limit target (bps), then execute via TWAP. action: limit_twap_sell|limit_twap_buy.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
targetYesTarget mcap bps vs entry
frequencyYes
durationYes
amountNoLamports (buy) or raw token units (sell)
holdings_percentageNoSell only: bps
slippageNo
expiry_hoursNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only states the order type and action, omitting whether it's destructive, requires authorization, or has rate limits. No mention of order lifecycle or failure handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose. However, the parameter details could be better structured (e.g., listing key params). Still, it wastes no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 params, no output schema, many siblings), the description lacks completeness. It does not explain return values, prerequisites, or how to use correctly. A more detailed description is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 30% (target, amount, holdings_percentage have descriptions). The description adds no parameter meanings beyond the action enum. For a 10-parameter tool, this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool places a 'limit-then-TWAP order' and specifies the action enum values. This distinguishes it from siblings like place_limit_order or place_twap_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the order flow (wait for limit target, then TWAP) but provides no guidance on when to prefer this over other limit or TWAP combinations. No exclusions or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_trailing_orderC

Place a trailing stop or trailing buy over WS. action: trailing_sell|trailing_buy. trail: bps distance.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
trailYes
amountNo
holdings_percentageNo
slippageNo
expiry_hoursNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It mentions 'over WS' but does not explain order lifecycle, error handling, or state changes. Lacks details on connectivity, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise at two sentences, but brevity sacrifices clarity. Could be better structured with parameter explanations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema and many siblings, this description is insufficient. Missing return info, parameter tips, and usage examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description only mentions action and trail, ignoring 6 other parameters like wallet_address, amount, slippage. No added meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool places a trailing stop or buy order, specifying action types and trail meaning. It distinguishes from some siblings like limit or TWAP orders, but does not explicitly differentiate from similar trailing order variants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines on when to use this tool vs alternatives like place_limit_trailing_order or place_trailing_twap_order. No context about prerequisites or best practices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_trailing_twap_orderB

Place a trailing-then-TWAP order. When trail triggers, execute via TWAP. action: trailing_twap_sell|trailing_twap_buy.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
trailYesTrail bps
frequencyYes
durationYes
amountNoLamports (buy) or raw token units (sell)
holdings_percentageNoSell only: bps
slippageNo
expiry_hoursNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It explains the order sequence but omits details on execution, side effects, permissions, or irreversibility. For a complex order with 10 parameters, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. First sentence states purpose, second adds action enum and trigger explanation. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 params, no output schema, and no annotations, the description is insufficient. It lacks details on edge cases, parameter semantics (e.g., how amount differs buy/sell), and what happens on trigger failure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 30% (descriptions for trail, amount, holdings_percentage). The description adds the composite behavior logic but does not elaborate on parameters like frequency, duration, or slippage. It partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Place a trailing-then-TWAP order' and explains the composite behavior (trail triggers, then TWAP execution). This distinguishes it from siblings like place_trailing_order and place_twap_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives. The description implies usage for combined trailing/TWAP orders but does not contrast with other order types or specify prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_twap_orderC

Place a TWAP (time-weighted) buy or sell order. Splits total amount into frequency slices over duration seconds. action: twap_buy|twap_sell.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYes
token_addressYes
actionYes
frequencyYesNumber of executions
durationYesTotal run time in seconds (max 30 days)
amountNoTotal lamports (buy) or raw token units (sell)
holdings_percentageNoSell only: bps of holdings at creation
slippageNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description only discloses the basic order splitting behavior. It does not mention side effects like order creation, destruction, authorization needs, or rate limits—important for a trading action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two sentences, front-loading the key purpose. However, the second sentence could be integrated more efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema, multiple sibling variants), the description omits critical context such as prerequisites, error handling, order lifetime, and differentiation from similar TWAP orders.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, placing the burden on the description to add meaning. The description only restates the action enum values already in the schema, adding no new insight for other parameters like wallet_address, token_address, or slippage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool places a TWAP buy or sell order and explains the slicing mechanism. However, it does not distinguish this TWAP order from sibling tools like place_limit_twap_order or place_trailing_twap_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as limit or trailing TWAP orders. There is no explicit context about prerequisites or scenarios where this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_signed_swapB

Submit a base64-encoded signed Solana transaction via MEV-protected lane.

ParametersJSON Schema
NameRequiredDescriptionDefault
signed_tx_base64Yes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden. It discloses submission via an MEV-protected lane, which is a behavioral trait, but does not explain implications, success conditions, or other behaviors like gas fees or transaction status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key action and context without any wasted words. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and minimal annotations, the description is adequate but incomplete. It states the action but lacks context on return values, prerequisites, or how it integrates with sibling tools like build_swap. For a submission tool, more detail about expected outcomes would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description does not add meaning beyond the parameter name 'signed_tx_base64'. The name is self-explanatory, but no format, constraints, or examples are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Submit') and clearly identifies the resource ('base64-encoded signed Solana transaction via MEV-protected lane'). It distinguishes itself from siblings like build_swap or auto_swap by specifying that the transaction is already signed and submitted through an MEV-protected lane.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., after building and signing a swap). No explicit when-not-to-use or comparison to siblings is included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updatesv1.0.10
    • First observedauto_swap
    • First observedbuild_swap
    • First observedcancel_order
    • First observedcheck_order
    • First observedconnect_websocket
    • First observedconnection_status
    • First observedextend_order
    • First observedget_fill_log
    • First observedget_flex_card
    • First observedget_holdings
    • First observedget_mcap
    • First observedget_wallet_address
    • First observedlist_orders
    • First observedplace_limit_order
    • First observedplace_limit_trailing_order
    • First observedplace_limit_trailing_twap_order
    • First observedplace_limit_twap_order
    • First observedplace_trailing_order
    • First observedplace_trailing_twap_order
    • First observedplace_twap_order
    • First observedsubmit_signed_swap

TDQS

B3.2/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target distinct actions (swap, order types, connection, data). However, the variety of order placement tools (limit, trailing, TWAP, and composite types) could cause minor confusion, though their descriptions differentiate them.

Naming Consistency4/5

Tools follow a consistent verb_noun pattern in snake_case (e.g., cancel_order, get_holdings). Minor inconsistencies like 'connection_status' vs 'connect_websocket' and 'auto_swap' using an adverb instead of a verb are present but not disruptive.

Tool Count4/5

21 tools is slightly high but justified by the server's breadth (swap, multiple order types, connection, data). Each tool serves a specific purpose, though some consolidation could reduce the count.

Completeness4/5

Covers core trading lifecycle: swaps, order placement/cancellation/check, connection setup, and data queries. Missing: historical trade log beyond in-memory events and token price discovery (only market cap), but these are minor gaps for the intended use.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers