Skip to main content
Glama
the-staq

TradeStaq MCP

Official
by the-staq

TradeStaq MCP Server

npm version License: MIT

Website · Docs · MCP / AI Tools · Pricing

31 AI-powered trading tools for Claude, Cursor, and any MCP client.

Create strategies, backtest them, deploy trading bots, copy top traders, monitor positions, and manage your crypto portfolio, all from conversation. Supports Binance, Bybit, OKX, Bitget, Hyperliquid, dYdX, and more.

"Show me my portfolio" → get_portfolio
"Backtest GhostRider on BTC/USDT for 3 months" → what_if_backtest
"Deploy it on my Binance account" → deploy_bot
"Who are the top traders this month?" → list_top_traders
"Generate a momentum strategy for ETH" → generate_strategy

Quick Start

Option A: Remote server (no install needed)

For MCP clients that support HTTP transport:

{
  "mcpServers": {
    "tradestaq": {
      "url": "https://mcp.tradestaq.com/mcp"
    }
  }
}

No clone, no build. Just add to your MCP config:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "tradestaq": {
      "command": "npx",
      "args": ["-y", "@the-staq/tradestaq-mcp"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "tradestaq": {
      "command": "npx",
      "args": ["-y", "@the-staq/tradestaq-mcp"]
    }
  }
}

Claude Code:

claude mcp add tradestaq -- npx -y @the-staq/tradestaq-mcp

Option C: Clone and build

git clone https://github.com/the-staq/tradestaq-mcp.git
cd tradestaq-mcp
npm install
npm run build

Then point your MCP client to dist/index.js.

Related MCP server: Trading MCP Server

Authenticate

After adding the server, ask your AI assistant to log in:

  • "Log me in to TradeStaq" — uses email/password directly

  • "Authenticate with TradeStaq" — opens a browser window for secure OAuth login

Credentials never enter the chat when using the browser flow. Token is stored locally at ~/.tradestaq/mcp-config.json with restricted permissions (0600).

Tools

Auth

Tool

Description

login

Log in with email and password

authenticate

Log in via browser (OAuth + PKCE)

check_auth

Check authentication status

set_token

Manually set a JWT token

connect_exchange

Connect an exchange account via browser

logout

Remove stored credentials

Market Data

Tool

Description

get_price

Current price, 24h change, volume

get_candles

OHLCV candlestick data (1m to 1d)

list_exchanges

List connected exchange accounts

search_markets

Find trading pairs on a specific exchange

Portfolio

Tool

Description

get_portfolio

Total balance, exchanges, active bots

get_positions

Open positions with live PnL

Strategies

Tool

Description

list_strategies

Browse marketplace or your own strategies

get_strategy

Full strategy details and performance

explain_strategy

Plain-English explanation with risk profile

compare_strategies

Side-by-side metrics comparison

create_strategy

Create a strategy from TradeDroid code

generate_strategy

Generate a strategy from natural language using AI

Backtesting

Tool

Description

what_if_backtest

Run a historical backtest (async, 30-120s)

get_backtest_results

Check status of a running backtest

Bot Management

Tool

Description

list_bots

All bots with status and performance

get_bot_status

Detailed bot metrics and config

deploy_bot

Deploy a strategy as a trading bot

stop_bot

Stop a running bot

close_position

Close an open position (full or partial)

deploy_bot defaults to paper trading. Pass live: true for real money.

Trade History

Tool

Description

get_trade_history

Closed trades with PnL, entry/exit prices

get_performance_metrics

ROI, win rate, Sortino ratio, PnL breakdown

Copy Trading

Tool

Description

list_top_traders

Browse the leaderboard of top traders

follow_trader

Subscribe to copy a trader's trades

Advisor

Tool

Description

suggest_strategies

Match strategies to your risk profile

get_market_context

Trend, volatility, support/resistance for a symbol

Prompt Templates

Trading Assistant — Start a conversation about your portfolio and positions. The AI calls get_portfolio and get_positions to ground its responses in your actual data.

Strategy Builder — Walk through creating, backtesting, and deploying a strategy. Pass an optional goal like "momentum strategy for ETH" to get focused suggestions.

Portfolio Reviewer — Deep analysis of your portfolio, positions, trade history, and performance. Identifies what's working, what isn't, and suggests improvements.

Resources

MCP resources provide browsable data that AI clients can read directly:

Resource

URI

Description

Portfolio

tradestaq://portfolio

Balances, positions, and active bots

Bots

tradestaq://bots

All bots with status and PnL

Strategies

tradestaq://strategies

Strategy catalog with ratings

Architecture

                    stdio                                    HTTPS
┌──────────────┐◄──────────►┐                  ┌────────────────►┌──────────────┐
│Claude Desktop│             │                  │                 │              │
│Cursor / CLI  │             │  tradestaq-mcp   │   Bearer JWT    │  TradeStaq   │
└──────────────┘             │  31 tools        │◄────────────────│  API         │
                             │  3 prompts       │                 │              │
┌──────────────┐  HTTP+SSE  │  3 resources      │                 └──────────────┘
│ Any MCP      │◄──────────►│                  │
│ client (web) │             └──────────────────┘
└──────────────┘
  • Two transports: stdio (local, default) and HTTP+SSE (remote, --http flag)

  • Hosted at https://mcp.tradestaq.com/mcp for remote clients

  • JWT auth via OAuth PKCE or email/password login

  • All tools return structured JSON with error contract

  • Token auto-refresh when expiring within 1 hour

Development

npm run dev        # watch mode with tsx
npm run build      # compile TypeScript
npm run lint       # type check without emitting
npm test           # run tests
npm start          # run server (stdio)
npm run start:http # run server (HTTP+SSE on port 3100)

Error Handling

All tool errors return structured responses:

{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Human-readable description",
    "retryable": true,
    "retryAfterMs": 5000
  }
}

Error codes: AUTH_EXPIRED, TIMEOUT, RATE_LIMITED, NETWORK_ERROR, HTTP_4xx, HTTP_5xx.

Security

  • Credentials never enter AI conversation history

  • OAuth PKCE flow with browser-based authentication

  • Token stored with 0600 file permissions

  • Localhost-only OAuth callbacks

  • deploy_bot, stop_bot, close_position, and follow_trader are destructive operations (AI confirms with user)

License

MIT

Available Tools

34 tools
authenticateA

Log in to TradeStaq via browser. Opens a login page in your browser — you authenticate there and the token is saved automatically. No credentials enter the chat.

Scope controls what the agent can do: "mcp:read" (view-only research agents), "mcp:paper" (paper-trade bots, safe default — cannot touch live money), "mcp:live" (full access including live-money deploys, live exchange connections, and wallet charges). Scopes are hierarchical: live implies paper implies read. When in doubt, pick paper first — the server returns 403 insufficient_scope if the agent tries a live action, and the user can always re-authorize with a broader scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoOAuth scope to request. Known values today: "mcp:read" (view-only research agents), "mcp:paper" (paper-trade bots, safe default — cannot touch live money), "mcp:live" (full access including live-money deploys, live exchange connections, and wallet charges). The server may add newer scopes; this parameter is intentionally a string so forward-compat works without an npm bump.mcp:paper

TDQS

A4.7/5.0
Behavior4/5

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

Discloses browser opening, automatic token saving, scope hierarchy, and error behavior. Without annotations, this covers key behavioral traits well, though token persistence details could be added.

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?

Concise with no wasted words; information is front-loaded. Slight structural improvement possible (e.g., separating flow and scope advice) but still highly efficient.

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

Completeness5/5

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

For a simple auth tool with one parameter and no output schema, the description covers flow, scopes, error handling, and relative to siblings, it is fully complete.

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

Parameters5/5

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

The parameter 'scope' is fully covered by schema, and description adds valuable context: explains each scope meaning, hierarchy, and usage advice, exceeding schema info.

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 logs in via browser, opens a login page, saves token, and explains scopes. It distinguishes from siblings by describing the OAuth flow vs. other auth tools.

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

Usage Guidelines5/5

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

Explicitly advises 'pick paper first' for safe defaults, and explains error handling (403 insufficient_scope). Provides clear when-to-use guidance.

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

check_authA

Preflight check before invoking other tools. Returns the authenticated user, OAuth scope on the current token (mcp:read / mcp:paper / mcp:live), tier capabilities (allowLiveTrading, allowAIBuilder, allowNewsTrading, allowMcpServer), Strategy Lab wallet balance (for cost-charging tools like generate_strategy), and the OAuth client name/expiry. Agents should call this at the start of a workflow to pick the narrowest scope needed and to surface cost/balance to the user before committing to a charge. Response is cached server-side for 30s per token.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses caching (30s per token) and lists exact return fields (user, scopes, capabilities, balance, client info). It does not mention side effects, but as a read-only check this is acceptable. Could be slightly more explicit about non-destructiveness.

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?

Front-loaded with primary purpose, then detailed bullet-like list. Every sentence adds information; no wasted words. Efficiently communicates purpose, usage, and return data.

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 output schema or annotations, the description covers all critical aspects: purpose, when to use, return data, caching. Could explicitly reference sibling tools (e.g., 'for actual auth use authenticate or login'), but not required. Overall sufficient for agent decision-making.

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?

No parameters (0 params, 100% schema coverage). The description adds value by detailing what data is returned beyond the empty schema. Baseline for 0 params is 4; the description meets it by explaining output semantics.

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 'Preflight check before invoking other tools' and enumerates the returned data (authenticated user, OAuth scope, tier capabilities, wallet balance, client info). It distinguishes itself from siblings like 'authenticate' and 'login' by focusing on scope selection and cost awareness.

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

Usage Guidelines5/5

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

Explicit guidance: 'Agents should call this at the start of a workflow to pick the narrowest scope needed and to surface cost/balance to the user before committing to a charge.' Also mentions caching behavior (30s), which helps the agent decide when to call.

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

close_positionB

Close an open trading position. WARNING: This executes a market order to close your position.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTrading pair (e.g. BTC/USDT)
tradeIdYesTrade/position ID to close
exchangeIdYesExchange account ID where the position is open
percentageNoPercentage of position to close (100 = full close)

TDQS

B3.4/5.0
Behavior3/5

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

Description discloses that the tool executes a market order, which is a key behavioral trait beyond the lack of annotations. However, it omits other important details like irreversibility, required permissions, or post-close effects.

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?

Extremely concise: two sentences front-loading the main action and a critical warning. Every sentence provides essential information with no waste.

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 the dangerous nature (market order), the description lacks details on expected outputs, error conditions, or prerequisites. An agent would need more context for safe use.

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 100% with descriptions for all parameters. The tool description adds no additional meaning or usage context to the 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 'Close an open trading position' uses a specific verb and resource, clearly stating the tool's function. It distinguishes itself from sibling tools like get_positions by indicating it performs an action rather than retrieval.

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 versus alternatives. The warning about market order execution gives some context but does not specify when not to use or mention alternative tools like limit orders.

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

compare_strategiesC

Compare multiple strategies side by side on key metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesStrategy IDs to compare

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It only states 'compare side by side' but does not disclose whether the tool is read-only, modifies state, or has side effects. The constraint of 2-5 strategy IDs is present in the schema but not in the description.

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 a single sentence, concise and front-loaded. However, it could be more informative without adding length, e.g., mentioning the output format or key metrics.

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 low complexity, the description adequately states the purpose but lacks details on what 'key metrics' are and the output format. It is minimally sufficient but incomplete.

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 100%, and the description adds no extra meaning beyond what the parameter schema already provides. Baseline 3 is appropriate since the description does not enhance understanding of the 'ids' parameter.

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 compares multiple strategies on key metrics. However, it does not differentiate from siblings like 'suggest_strategies' or 'explain_strategy', missing an opportunity to clarify its unique role.

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 such as 'suggest_strategies' or 'explain_strategy'. The agent is left to infer usage context without explicit exclusions or recommendations.

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

connect_exchangeA

Connect a new exchange account via browser. Opens a page where you securely enter your exchange API keys. Keys never enter the chat.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral burden. It discloses browser interaction and key security (keys never enter chat). However, it omits prerequisites (e.g., logged-in session), side effects (record creation), and post-action behavior (success message or error).

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, front-loaded purpose, no redundant words. Each sentence provides distinct value: first states action, second adds behavioral and security context.

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 zero parameters, no output schema, and no annotations, the description covers the essential flow. Missing post-connection behavior (e.g., success, next steps) but overall adequate for a simple interactive tool.

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?

Input schema has no parameters (100% coverage). The description adds meaning beyond schema by explaining the process (browser page for key entry) and security guarantee. Since no parameters exist, description compensates well.

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 connects a new exchange account via browser for entering API keys. It distinguishes from siblings like authenticate (user auth) and create_paper_exchange (paper trading) by specifying 'exchange account' and 'via browser'.

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 vs alternatives like authenticate or create_paper_exchange. The description implies connection of a real exchange, but no prerequisites, conditions, or exclusion criteria are provided.

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

create_paper_exchangeA

Create a paper-trading exchange with a simulated balance. No API keys required. Paper exchanges let agents test strategies, deploy bots, and place trades without risking real money. Recommended starting point for first-time users and any scope=mcp:paper workflow.

Requires OAuth scope mcp:paper or mcp:live. Session-cookie users (dashboard) can always call this.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesExchange slug, e.g. "binance", "bybit", "okx", "hyperliquid". Use list_exchanges or the web docs for supported options.
accountLabelNoFriendly name shown in dashboard and bot configs, e.g. "BTC Paper Test". Defaults to platform name.
exchangeTypeNo"spot" for cash trading, "futures" for leveraged/perps.spot
initialBalanceUsdtNoSimulated starting balance in USDT. Defaults to 10,000.

TDQS

A4.4/5.0
Behavior4/5

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

Explains no API keys required, simulated balance, no real money. Discloses OAuth scope and session-cookie user access. No annotations provided, so description carries full burden; adequate but could mention rate limits or limits on number of exchanges.

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 paragraphs, front-loaded with purpose and key benefit. No redundant sentences. Efficiently conveys purpose, auth requirements, and usage context.

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?

Fairly complete for a creation tool. Could mention what the response contains (e.g., exchange ID, status) since no output schema exists, but the use case is clear enough for agent invocation.

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?

Schema coverage is 100%. Description adds meaningful examples (e.g., 'binance' for platform, 'BTC Paper Test' for accountLabel) and clarifies enum values (spot vs futures). Justifies baseline 3 plus extra value.

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?

Clearly states it creates a paper-trading exchange with simulated balance. Distinguishes from siblings like connect_exchange (presumably live). Recommends for first-time users and paper workflows.

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?

Recommends as starting point for first-time users and paper workflows. Mentions auth scope requirements. Does not explicitly state when not to use or compare to alternatives, but context from sibling names implies connect_exchange for live.

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

create_strategyC

Create a new trading strategy from TradeDroid code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesTradeDroid strategy code
nameYesStrategy name
marketNofutures
timeframeNo1h
descriptionNoWhat the strategy does

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 only states basic creation behavior. It omits details about what happens during creation (e.g., validation, storage, 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?

The description is a single concise sentence, but it could be more informative without sacrificing brevity.

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 explanation of 'TradeDroid code', no output schema, missing behavioral details, making it incomplete for an agent to use correctly.

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 only 60% (3 of 5 parameters have descriptions). The description adds no additional parameter semantics beyond repeating 'from TradeDroid code'.

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 creates a new trading strategy from TradeDroid code, which is specific and distinguishes it from sibling tools like generate_strategy or explain_strategy.

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 vs alternatives such as generate_strategy, nor any conditions or prerequisites mentioned.

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

deploy_botA

Deploy a strategy as a trading bot. Defaults to paper trading for safety.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNoIf true, trades with real money. Defaults to paper.
nameNo
symbolNoBTC/USDT
leverageNo
stopLossNoStop loss % (e.g. 5)
exchangeIdYesExchange account ID
strategyIdYesStrategy ID to deploy
takeProfitNoTake profit % (e.g. 10)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description is the sole source of behavioral info. It discloses a key safety default (paper trading) but omits details about live mode behavior, authentication needs, or potential destructive outcomes.

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, well-structured sentence that immediately conveys the tool's purpose and a critical safety detail. No wasted 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 tool's complexity (8 parameters, no output schema), the description lacks information about return values, error conditions, or prerequisites. It does not tell the agent what happens upon successful deployment or what formats are returned.

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 63% (moderate). The description adds minimal extra meaning beyond the schema, only clarifying the live parameter's default. For parameters without schema descriptions (e.g., name, symbol), no additional context is 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 clearly states the tool's action ('Deploy a strategy as a trading bot') and distinguishes it from sibling tools like stop_bot or list_bots. It also adds a key behavior (defaults to paper trading) that differentiates it from live deployments.

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 mentions a default safety behavior (paper trading) but provides no guidance on when to use this tool versus alternatives like create_strategy or what_if_backtest. It does not specify prerequisites or contraindications.

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

explain_strategyA

Get a plain-English explanation of a strategy: what it does, risk profile, best market conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesStrategy ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses outputs (what it does, risk profile, market conditions) but does not mention any behavioral traits like no side effects, data freshness, or required permissions.

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?

A single, concise sentence that is front-loaded with the main purpose and includes key details. No wasted 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?

For a simple tool with one parameter and no output schema, the description adequately covers purpose and outputs. Could be improved by mentioning that the explanation is generated or based on historical data, but it is already fairly complete.

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% for the single 'id' parameter. The tool description adds no additional meaning beyond the schema's 'Strategy ID', so baseline 3 is appropriate.

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 provides a 'plain-English explanation of a strategy' and specifies what it covers: functionality, risk profile, and best market conditions. This is specific and distinct from sibling tools like 'get_strategy' which likely returns raw data.

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 implies when to use (when an explanation is needed) but provides no explicit guidance on when not to use or alternatives among siblings like 'get_strategy' or 'compare_strategies'.

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

export_backtestA

Get export links for a completed backtest. Returns CSV and PDF download URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBacktest ID

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, but the description discloses the prerequisite (completed backtest) and output format (CSV and PDF download URLs). Lacks details on link expiration or auth needs, but is adequate for a simple 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?

Two sentences are concise, front-loaded with the purpose, and contain 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?

For a single-parameter tool with no output schema, the description covers the purpose, prerequisite, and output format adequately. Could mention link expiration or auth, but not essential.

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 provides 'Backtest ID' for the id parameter. Description does not add additional meaning beyond context, meeting the baseline for high schema coverage.

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 'Get export links for a completed backtest' with a specific verb and resource, and distinguishes from siblings like get_backtest_results and export_bot_trades by focusing on export links.

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 the backtest must be completed, but provides no explicit guidance on when to use this tool versus related tools like get_backtest_results or export_bot_trades.

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

export_bot_tradesB

Export a bot's trade history as structured data. Returns all trades with PnL, entry/exit prices, and performance summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBot ID
formatNosummary = stats + recent trades, full = all tradessummary

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose side effects, file generation, permissions, or whether the tool is read-only. The term 'Export' may imply file download but is not clarified.

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. Front-loaded with the core action and follow-up on return content.

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?

The description covers the basic purpose and return data but lacks details on output format, pagination, or any limitations. For a simple tool with no output schema, it is adequate but not thorough.

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 100%, so baseline is 3. The description adds some context about returned data (PnL, prices, summary) but does not elaborate on parameter behavior beyond what the schema covers.

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 exports a bot's trade history as structured data, mentioning specific elements like PnL and prices. It distinguishes from siblings like export_backtest and get_trade_history, though not explicitly.

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 such as get_trade_history or export_backtest. The description only states what the tool does without context.

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

follow_traderA

Subscribe to copy a top trader's trades. WARNING: This commits capital to copy trading.

ParametersJSON Schema
NameRequiredDescriptionDefault
masterIdYesID of the trader to follow
exchangeIdYesYour exchange account to trade on
multiplierNoTrade size multiplier relative to the master's trades

TDQS

A4/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 cover behavioral traits. It warns about capital commitment, which is key, but does not disclose other important details like reversibility, fees, or execution timing.

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 with one sentence plus a warning. Every word adds value, and the structure is clear and front-loaded.

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 output schema or annotations, the description provides the essential purpose and a critical behavioral warning. It is reasonably complete for a tool that commits capital, though more detail on the follow process would enhance completeness.

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 100% and each parameter has a brief description. The tool description does not add extra semantic value beyond the schema, so the baseline score of 3 is appropriate.

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 ('subscribe to copy') and the resource ('top trader's trades'), making the purpose unambiguous. It distinguishes itself from siblings by being the only tool focused on copying trades.

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 warning 'commits capital' provides important usage context, but the description does not explicitly state when to use this tool versus alternatives (e.g., strategy creation tools) or when not to use it.

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

generate_strategyB

Generate a trading strategy from a natural language description using AI. Describe what you want and AI creates the TradeDroid code.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNofutures
timeframeNoPrimary timeframe (e.g. 1h, 4h, 1d)1h
descriptionYesNatural language description of the strategy you want (e.g. "momentum strategy for ETH that buys on RSI oversold and sells on RSI overbought")

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It states the tool generates a strategy but does not disclose side effects (e.g., whether the strategy is saved automatically), required permissions, or behavior on ambiguous input.

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 that front-load the purpose and mechanism. Every word adds value with no redundancy.

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?

No output schema and no annotations, so description must cover return value and integration points. It omits what the generated code means, how to deploy it, and how this differs from manual strategy creation.

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 67% (2 of 3 params described), so baseline is 3. The description does not add any parameter details beyond what the schema provides (e.g., default values, enum options).

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?

Clearly states 'Generate a trading strategy' and distinguishes from siblings by specifying 'using AI' and 'natural language description'. The mention of 'AI creates the TradeDroid code' adds specificity about the output.

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 like 'create_strategy' or 'suggest_strategies'. The description implies usage for natural language inputs but lacks when-not-to-use or comparison context.

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

get_backtest_resultsA

Check status/results of a previously started backtest.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesBacktest job ID

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Check status/results,' implying a read-only operation but not explicitly stating it is non-destructive or detailing any 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.

Conciseness4/5

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

The description is a single, concise sentence with no wasted words, though it could benefit from slightly more detail on output or usage.

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 tool with one parameter and no output schema, the description is adequate but lacks details on the return format or potential statuses.

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?

The schema provides 100% coverage with a clear description for the sole parameter ('Backtest job ID'). The tool description adds no additional meaning 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 verb 'check' and the resource 'status/results of a previously started backtest,' accurately distinguishing it from sibling tools like run_backtest or export_backtest.

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 phrase 'previously started' implies it should be used after initiating a backtest, but no explicit when-not or alternative tools are mentioned.

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

get_bot_statusC

Get detailed status and performance for a specific bot.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBot ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It only states a read operation ('get') but does not disclose whether authentication is required, if there are any side effects, rate limits, or limitations. The minimal description provides insufficient behavioral insights for an agent.

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 that front-loads the verb and resource. Every word is informative and no repetition or fluff exists.

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 is simple with one parameter and no output schema, the description should elaborate on the return value (e.g., fields like running state, last activity). It does not, leaving the agent unaware of what 'status and performance' entails, which is a notable gap.

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?

The input schema covers the single parameter 'id' with description 'Bot ID' (100% coverage). The description adds no extra meaning beyond this, so baseline 3 is appropriate. No additional param explanation is needed.

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 'Get detailed status and performance for a specific bot' clearly states the verb (get) and resource (status and performance for a specific bot), distinguishing it from sibling tools like list_bots or deploy_bot. However, it lacks specificity on what 'detailed status' includes, such as health metrics or running state.

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 usage context is provided. There is no indication of when to use this tool versus alternatives like list_bots (which might provide an overview) or other status-checking tools. No exclusions or prerequisites are mentioned.

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

get_candlesC

Get OHLCV candlestick data for a trading pair.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
symbolYesTrading pair (e.g. BTC/USDT)
exchangeNo
timeframeNo1h

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 carries the burden of behavioral disclosure. It only says 'get data' without stating any behavioral traits like rate limits, data ordering, or time range handling. Very minimal disclosure.

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 very short (one sentence), which is concise but it lacks essential information. It is under-specified for a tool with 4 parameters and no output schema.

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 data retrieval tool with no output schema, the description should explain return values or data format. It also neglects to mention the meaning or constraints of the 'exchange' and 'limit' parameters. Incomplete.

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 only 25% (only 'symbol' has a description). The description does not add any meaning to other parameters like 'timeframe', 'limit', or 'exchange'. It fails to compensate for the low schema coverage.

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 verb 'Get' and the resource 'OHLCV candlestick data' for a trading pair. It is specific enough to convey the basic purpose, but does not distinguish from siblings like get_price or get_market_context.

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 such as get_price (for current price) or get_market_context (for broader market data). The description lacks any contextual comparison.

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

get_market_contextB

Get market context for a symbol: trend direction, volatility level, support/resistance levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTrading pair (e.g. BTC/USDT)
timeframeNoCandle timeframe4h
exchangeIdYesExchange account ID (use list_exchanges to find)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool retrieves market context but does not mention whether it is read-only, if authentication is required, what side effects exist, or how the outputs are computed. This is insufficient for safe invocation.

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 that immediately fronts the key information: the tool's action and the three outputs. It contains no extraneous words and is efficiently structured.

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?

The tool has no output schema, so the description should explain the return format. It lists three concepts but does not specify what form they take (e.g., numerical values, strings, objects). Also missing prerequisites (e.g., valid exchange connection) and error conditions.

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% (all three parameters have descriptions). The tool description adds no extra meaning beyond repeating the parameter names; it does not clarify value ranges, formatting, or relationships. Baseline 3 is appropriate given high coverage.

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 market context' and specifies the resource 'for a symbol'. It enumerates three outputs (trend direction, volatility level, support/resistance levels), which distinguishes it from sibling tools like get_candles (raw data) or get_price (single price).

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 get_candles or get_portfolio. No explicit context or exclusions are given, leaving the agent to infer appropriate use from the purpose alone.

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

get_performance_metricsB

Get trading performance metrics: ROI, win rate, PnL, Sortino ratio.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeRangeNoTime range for metrics30d
tradeTypeNoFilter by trade type
exchangeIdNoFilter by exchange ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description must carry the full burden. It only lists metrics retrieved but omits details like authentication needs, whether calculations are real-time or cached, or how missing data is handled.

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 that is front-loaded with purpose. No unnecessary words, but could include more detail without being verbose.

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 no output schema, the description should explain return values or metrics format. It mentions metric names but not structure, unit, or aggregation method. Incomplete for a metrics tool.

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 100%, so the schema fully describes parameters. The description adds no extra parameter information beyond listing metrics, which is already implied. Baseline 3 is appropriate.

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' and the resource 'trading performance metrics', listing specific metrics (ROI, win rate, PnL, Sortino ratio). This distinguishes it from sibling tools like get_portfolio or get_positions.

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 vs alternatives, prerequisites, or when not to use it. With many sibling tools that could be related (e.g., get_strategy, get_backtest_results), this is a significant gap.

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

get_portfolioA

Get portfolio overview: total balance, exchanges, and active bots.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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. Describes output but does not disclose if the operation requires authentication, has side effects, data freshness, or any behavioral traits beyond the mere retrieval.

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, well-structured sentence that front-loads the purpose and includes specific output details. Every word earns its place with no redundancy.

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 zero-parameter read tool, the description is adequate but not rich. Given no output schema, more detail on return structure or expected fields would improve completeness. Still meets minimum viability.

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?

No parameters (0), schema coverage 100% already reflects that. Description adds value by specifying what the output contains (balance, exchanges, active bots), which is beyond the empty 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?

Description clearly states verb 'Get' and resource 'portfolio overview', listing included components (balance, exchanges, active bots), distinguishing from siblings like get_bot_status or get_positions.

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. With many sibling tools (e.g., get_bot_status, get_performance_metrics), the description should indicate typical use cases or exclusion criteria.

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

get_positionsA

Get all open trading positions with current PnL.

ParametersJSON Schema
NameRequiredDescriptionDefault
exchangeNoFilter by exchange name

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it's a read operation but lacks behavioral traits such as permissions, rate limits, or response format details.

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 with no redundant words, efficiently conveying the tool's purpose.

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 list tool with one optional parameter and no output schema, the description is adequate but lacks details on output format, pagination, or interpretation of 'current PnL'.

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 100% with the 'exchange' parameter already described. The description adds no additional meaning beyond the schema, meeting the baseline.

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' and resource 'open trading positions with current PnL', which is specific and distinguishes it from sibling tools like get_portfolio.

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?

Usage is implied ('when you need open positions with PnL'), but no explicit comparison to alternatives like get_portfolio or get_trade_history, nor any when-not-to-use guidance.

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

get_priceB

Get the current price of a trading pair (e.g. BTC/USDT).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTrading pair (e.g. BTC/USDT)
exchangeNoExchange name (e.g. binance, bybit)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states that it 'gets' the price, without disclosing whether the price is real-time, cached, or subject to rate limits. The behavioral implications of a read operation are not explicitly described.

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 with no unnecessary words. It efficiently communicates the tool's purpose.

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?

No output schema exists, but the description does not explain the return format (e.g., price as number, currency unit). It is adequate for a simple tool but leaves some ambiguity about what the agent will receive.

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%, and both parameters have basic descriptions. The description adds no additional meaning beyond the schema, only repeating the example BTC/USDT already present in the symbol parameter. Baseline score of 3 is appropriate.

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 retrieves the current price of a trading pair with an example. It uses a specific verb ('get') and resource ('price'), and among sibling tools like get_candles or get_market_context, it uniquely focuses on the current price.

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 such as get_candles (historical data) or get_market_context (broader market info). The description does not mention prerequisites like authentication or exchange connection.

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

get_strategyB

Get detailed info about a specific strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesStrategy ID

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it gets info. No disclosure of authentication needs, error handling, or side effects. Minimal behavioral insight.

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?

Extremely concise single sentence with no unnecessary words. Every element serves a purpose.

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 read tool with one required parameter and no output schema, the description is minimally adequate but lacks details on return format, required auth, or error conditions. Not fully complete.

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 100% with a single parameter 'id' described as 'Strategy ID'. The description adds no extra meaning beyond what the schema provides, so baseline 3 is appropriate.

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 retrieves detailed information about a specific strategy, using a specific verb and resource. It distinguishes from sibling tools like list_strategies and compare_strategies.

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 like list_strategies for overviews or compare_strategies for comparisons. Missing 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.

get_trade_historyB

Get your closed trade history with PnL, entry/exit prices, and duration.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
limitNoNumber of trades to return (max 200)
symbolNoFilter by trading pair symbol
exchangeNoFilter by exchange name

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must carry burden. Mentions output content but does not disclose authentication needs, side effects (read-only), rate limits, or behavior when no trades exist.

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 that is front-loaded with purpose and key data points. Efficient but lacks structure (e.g., bullet points or examples).

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?

No output schema and no annotations. Description is minimal and does not cover return format, pagination behavior, error handling, or edge cases given complexity of sibling tools.

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 100%, so baseline 3. Description adds no extra meaning beyond schema parameter descriptions. Does not elaborate on parameter usage or formatting.

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?

Clearly states the verb 'Get', resource 'closed trade history', and included data (PnL, entry/exit prices, duration). Distinguishes from sibling tools like get_positions.

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 (e.g., get_positions for open trades). No when-not-to-use or exclusions.

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

list_botsA

List all your trading bots with status and performance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description implies a read-only listing operation but does not disclose authentication requirements, pagination behavior, or how performance is computed. The term 'list' suggests no side effects, but more detail is needed for full transparency.

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, clear sentence with no wasted words. It front-loads the action and key details, making it easy to scan.

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 tool with no parameters and no output schema, the description is adequate but could be improved by specifying what 'status' and 'performance' entail (e.g., returned fields). Given the low complexity, it meets minimum viability.

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?

There are zero parameters in the schema, so schema coverage is trivially 100%. The description adds no additional parameter info, which is acceptable since there are none. A score of 3 reflects the baseline for high coverage.

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 (list), the resource (trading bots), and the scope (all your bots including status and performance). It effectively distinguishes from sibling tools like get_bot_status which target a single bot.

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 such as get_bot_status or get_performance_metrics. The description does not specify any context, exclusions, or when not to use it.

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

list_exchangesA

List your connected exchange accounts with their IDs, platform names, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It discloses the output fields (IDs, platform names, status) but does not explicitly state it is a read-only operation with no side effects. However, this is implied by 'list'.

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, efficient, no wasted words.

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

Completeness5/5

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

For a simple parameterless list tool with no output schema, the description adequately explains purpose and return fields. Complete for its complexity.

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?

No parameters, so description does not need to add meaning. Baseline 4 for zero 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 the tool lists connected exchange accounts and specifies the output fields (IDs, platform names, status). Verb 'list' and resource 'exchange accounts' are specific.

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?

No explicit when/when-not instructions or alternatives. Implied usage is obvious for listing connected accounts, but given siblings like 'check_auth' or 'connect_exchange', more guidance could help.

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

list_strategiesB

List available trading strategies.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownedNoIf true, only show your own strategies

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states the action without disclosing behavioral traits like side effects, authentication requirements, or data freshness. Minimal transparency.

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, front-loaded with key verb and resource. No extraneous words; every element is essential.

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 listing tool with one optional parameter and no output schema, the description is adequate but lacks details on return format or ordering. Could be more complete given the number of sibling tools.

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 100% and the schema already describes the 'owned' parameter. The description adds no additional meaning beyond what the schema provides, so 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 'List available trading strategies' uses a specific verb ('list') and resource ('trading strategies'), clearly distinguishing it from sibling tools like 'get_strategy' or 'create_strategy'.

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 such as 'suggest_strategies' or 'compare_strategies'. The context of when to list vs other operations is not provided.

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

list_top_tradersA

Browse the leaderboard of top-performing traders you can copy.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of traders to return (max 50)
periodNoLeaderboard time period30d
sortByNoSort criteriaroi

TDQS

A3.8/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 convey behavioral traits. It states 'Browse,' indicating a read-only operation, and provides no hints of destructive actions or auth requirements. The description is adequate but does not fully disclose scope or side effects, earning a mid-range score.

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 conveys the core functionality without any unnecessary words. It is well-structured and immediately understandable.

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 simplicity of the tool (3 optional parameters, no output schema), the description is nearly complete. It clearly communicates the overall function. However, it could briefly mention the returned data structure or the nature of the leaderboard, but this is a minor gap.

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?

The input schema covers 100% of parameters with descriptions, so the description adds no additional meaning beyond the schema. The tool's description does not elaborate on parameter usage beyond what is already in the schema, resulting in a baseline score of 3.

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 browse a leaderboard of top-performing traders for copying. It uses specific verbs ('Browse') and resource ('leaderboard of top-performing traders'), and implicitly distinguishes from sibling tools like 'list_bots' or 'list_exchanges'.

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 implies usage for finding traders to copy but does not explicitly state when to use this tool vs. alternatives (e.g., 'search_markets' or 'follow_trader'). No exclusions or prerequisites are mentioned. It meets the minimum viability but lacks explicit guidance.

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

loginB

Log in to TradeStaq with email and password.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesYour TradeStaq email address
passwordYesYour TradeStaq password

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must disclose side effects. It only says 'log in' without mentioning token issuance, session creation, or potential rate limits. Security implications are omitted.

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?

Extremely concise single sentence. Front-loaded with purpose, but could add more value without verbosity.

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?

Adequate for a simple authentication tool with fully described parameters. Lacks expected output description (e.g., token) and error handling guidance.

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 descriptions for both parameters exist (email and password). The description adds no extra meaning; baseline of 3 is appropriate given 100% schema coverage.

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 action (log in) and the resource (TradeStaq) with required credentials (email and password). It is specific and distinct from siblings like 'authenticate' and 'logout'.

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 'authenticate', nor any prerequisites (e.g., must not already be logged in) or post-conditions.

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

logoutB

Remove stored TradeStaq credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 only states 'remove stored credentials', but doesn't mention side effects like session termination, reversibility, or authentication requirements.

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 a single sentence with no wasted words. It is concise, though slightly more detail could have been added without harming clarity.

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 tool with 0 parameters and no output schema, the description is too sparse. It fails to explain what 'removing credentials' entails, what the user should expect, or error conditions.

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?

There are no parameters, so the schema coverage is 100%. The description doesn't need to add parameter info, and the baseline of 4 is appropriate.

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 removes stored credentials, which is a specific action. However, it doesn't differentiate from sibling tools like 'login' or 'authenticate', which might also involve credential management.

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. The description is purely functional, without mentioning prerequisites or context.

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

search_marketsA

Search for trading pairs on a specific exchange. Use list_exchanges to find your exchange IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (e.g. "BTC", "ETH/USDT")
exchangeYesFilter by exchange

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as whether the operation is read-only, rate limits, or permissions required.

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, no unnecessary words, front-loaded with the main purpose.

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?

The description is adequate for a simple search tool but omits details about the return format, which would be useful since no output schema exists.

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 100%, so the schema already documents both parameters. The description adds no additional meaning 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?

The description clearly states it searches for trading pairs on a specific exchange, which distinguishes it from siblings like get_price or list_exchanges.

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?

Provides a direct reference to list_exchanges for finding exchange IDs, offering clear context for usage, though it doesn't explicitly state when not 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.

set_tokenC

Manually set a JWT token. For advanced use only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesJWT token from TradeStaq
baseUrlNoAPI base URL (default: https://tradestaq.com)

TDQS

C2.9/5.0
Behavior2/5

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

The description discloses that this is a manual token-setting action, but no annotations exist. It does not cover side effects (e.g., overriding existing token), authentication needs, error behavior, or whether the token is validated. For a potentially sensitive operation, more transparency is needed.

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 short sentences with no extraneous words. Every part earns its place.

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?

The description lacks any information about tool complexity, return values (no output schema), or success/failure behavior. For an advanced-use tool, more context is needed to ensure safe invocation.

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 100%, and the description does not add any value beyond the schema's parameter descriptions. According to rules, baseline is 3 when schema covers all parameters, and the description fails to add additional meaning.

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 action ('set') and resource ('JWT token'), and the hint 'advanced use' differentiates it from simpler auth tools like authenticate or login. However, it does not explicitly distinguish from siblings that also deal with tokens.

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 only guidance is 'For advanced use only', which implies caution but does not specify when to use this tool versus alternatives like authenticate or login. No exclusions or prerequisites are provided.

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

stop_botB

Stop a running trading bot. Open positions remain.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBot ID to stop

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 only states the effect (bot stops) and that open positions remain. It fails to mention potential side effects, reversibility, permission requirements, or response behavior, which is insufficient 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?

Two short sentences with no extraneous words; the main action is front-loaded. Every sentence contributes value.

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 that there is no output schema and the tool performs a mutation, the description should indicate the return value or confirmation behavior, and whether the bot must be running. It lacks these details, leaving the agent uncertain about the outcome.

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 100% and the schema description for 'id' is already clear. The tool description does not add any additional meaning beyond the schema, so baseline 3 is appropriate.

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 ('Stop') and the resource ('a running trading bot'), and adds a critical scope clarification ('Open positions remain'), which distinguishes it from related tools like deploy_bot or get_bot_status.

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, no prerequisites (e.g., bot must be running), and no conditions under which the tool should not be used.

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

suggest_strategiesA

Suggest trading strategies matching your risk profile. Filters by risk tolerance, max drawdown, preferred assets, and minimum Sharpe ratio.

ParametersJSON Schema
NameRequiredDescriptionDefault
minSharpeNoMinimum Sharpe ratio
maxDrawdownNoMaximum acceptable drawdown % (e.g. 15)
riskToleranceNoRisk tolerance levelmoderate
preferredAssetsNoPreferred assets like ['BTC', 'ETH']

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It implies a read-only operation (suggesting strategies) but does not explicitly state non-destructiveness, authentication requirements, or any side effects. The description is adequate but lacks explicit behavioral disclaimers.

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 concise (two sentences) and front-loads the core action. Every word contributes to explaining the tool's purpose. However, it could be tightened slightly without losing meaning.

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?

The description does not explain the output format (e.g., list of strategies with details), ordering, or any limitations. Given the absence of an output schema, the description should provide more context about what the agent can expect as a result.

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 all four parameters having individual descriptions. The main description merely summarizes these parameters without adding new meaning (e.g., data types, valid ranges, or interplay between filters). Baseline score of 3 applies as the description adds no 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 uses the specific verb 'suggest' and specifies the resource 'trading strategies' while listing explicit filtering criteria (risk tolerance, max drawdown, preferred assets, Sharpe ratio). This clearly distinguishes the tool from siblings like 'list_strategies' or 'generate_strategy' by emphasizing personalization based on risk profile.

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 implies usage when a user wants strategies matching their risk profile, but it does not explicitly state when not to use the tool or provide alternatives (e.g., compare_strategies, explain_strategy). The differentiation from siblings is implicit rather than explicit.

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

what_if_backtestA

Run a backtest on a strategy. Async, may take 30-120 seconds. Returns full performance metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo3m
symbolNoBTC/USDT
exchangeYesExchange account ID (use list_exchanges to find)
timeframeNoCandle timeframe (e.g. 1h, 4h, 1d)1h
strategyIdYesStrategy ID to backtest
initialBalanceNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations present, so description carries full burden. It discloses async nature and timing, but lacks details on idempotency, concurrency limits, or side effects. Adds moderate value.

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?

Three concise sentences covering purpose, async behavior, and return type. No unnecessary words, front-loaded with key information.

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?

Covers high-level purpose and async timing, but lacks parameter guidance, error scenarios, or output specifics. No output schema, and many sibling tools exist. Adequate but not comprehensive.

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% (some params described). Description adds no param details, failing to compensate for the uncovered parameters. Baseline of 3 not justified due to incomplete coverage.

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 action ('Run a backtest') and the resource ('on a strategy'). It differentiates from sibling tools like 'get_backtest_results' which retrieves existing results.

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?

Provides timing guidance ('Async, may take 30-120 seconds') but no explicit when-to-use or alternatives for already-run backtests. Limited differentiation from related tools.

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. 34 tool updatesv1.0.0
    • First observedauthenticate
    • First observedcheck_auth
    • First observedclose_position
    • First observedcompare_strategies
    • First observedconnect_exchange
    • First observedcreate_paper_exchange
    • First observedcreate_strategy
    • First observeddeploy_bot
    • First observedexplain_strategy
    • First observedexport_backtest
    • First observedexport_bot_trades
    • First observedfollow_trader
    • First observedgenerate_strategy
    • First observedget_backtest_results
    • First observedget_bot_status
    • First observedget_candles
    • First observedget_market_context
    • First observedget_performance_metrics
    • First observedget_portfolio
    • First observedget_positions
    • First observedget_price
    • First observedget_strategy
    • First observedget_trade_history
    • First observedlist_bots
    • First observedlist_exchanges
    • First observedlist_strategies
    • First observedlist_top_traders
    • First observedlogin
    • First observedlogout
    • First observedsearch_markets
    • First observedset_token
    • First observedstop_bot
    • First observedsuggest_strategies
    • First observedwhat_if_backtest

TDQS

B3.3/5.0

Scored across 34 tools

Disambiguation4/5

Most tools have clearly distinct purposes, with only minor overlap among auth-related tools (authenticate, login, set_token) and portfolio vs positions vs trade history. Descriptions are sufficiently detailed to resolve ambiguity.

Naming Consistency5/5

Tool names consistently follow the verb_noun pattern (e.g., close_position, create_strategy, list_bots). Only login/logout deviate, but that's standard for auth verbs. The pattern is predictable and uniform.

Tool Count3/5

34 tools is above the typical 3-15 range for a well-scoped server. While the domain is broad (strategy management, backtesting, bots, portfolio, copy trading), the number feels heavy and may overwhelm agents.

Completeness3/5

The tool surface covers core trading workflows but lacks update and delete operations for strategies and bots. Create and deploy are present, but modifications and deletions are absent, creating notable gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform cryptocurrency trading analysis and execution with 38+ tools including real-time market data, technical indicators, risk management, and support for both paper trading and live execution on Hyperliquid.
    7
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides a comprehensive suite of 20 tools for cryptocurrency trading and technical analysis across 100+ exchanges like Binance and MEXC via CCXT. It enables users to execute orders, track positions, and scan for market opportunities through Claude Desktop using natural language.
    20
    10 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    AI-powered trading toolkit with backtesting, live sentiment, Yahoo Finance data, and 30+ technical analysis tools, integrated as an MCP server for Claude and other AI clients.
    37
    4,378
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    The most complete AI-powered trading toolkit for Claude and MCP clients, offering backtesting, live sentiment, Yahoo Finance, and 30+ technical analysis tools in one MCP server.
    MIT