Skip to main content
Glama

Get Backtest Trades

get_backtest_trades
Read-onlyIdempotent

Fetches the closed-trade list for a completed backtest, paginated and sortable — the trade-by-trade detail get_backtest_result deliberately omits. Only closed trades ever appear; a position still open when the backtest's date range ends isn't represented here or anywhere else. Example: sortBy="exitTime", sortDirection="desc", pageSize=5 for the most recently closed trades.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe id returned by submit_backtest.
pageNo1-based page number. Default 1.
sortByNoOne of: number, pnlR, pnlPct, entryTime, exitTime. Defaults to number (closing order).
pageSizeNoTrades per page, 1-100. Default 20.
sortDirectionNo"asc" or "desc". Defaults to asc.
backtestApiKeyNoYour EmidLabs backtest API key. Not needed if this connector was added with a static 'x-api-key' header.
backtestBaseUrlNoDefaults to the public production API.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNoThe trades on this page, in the requested sort order.
pageSizeNo
totalCountNoTotal closed trades across the whole backtest, not just this page.
totalPagesNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the bar is lower. The description adds valuable info: only closed trades ever appear, open positions are not represented anywhere. It does not mention pagination performance or error handling, but the open-position caveat is meaningful beyond annotations, so a 3 is fair.

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 sentences: first defines the tool and its key differentiator, second adds the critical behavioral caveat, third is a concrete example. Every sentence adds value with no filler. Front-loaded and efficiently structured.

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?

The tool has a rich output schema and 100% schema parameter coverage, so the description need not elaborate return format. It covers the essential nuance about closed trades. Slightly less than a 5 because it could mention what happens if the backtest ID is invalid or the backtest isn't completed, but the essentials are covered.

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 all parameters. The description adds an example usage that shows the meaning of sortBy/sortDirection/pageSize, but does not explain each parameter beyond the schema. Baseline 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?

Clear verb+resource ('Fetches the closed-trade list for a completed backtest'), plus specifics: paginated, sortable, and deliberately omits trade-by-trade detail that get_backtest_result provides. This sharply distinguishes it from the sibling tool.

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

Usage Guidelines4/5

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

Explicitly states when to use: for trade-by-trade detail and when get_backtest_result omits it. Also provides a concrete example. It does not explicitly list alternatives like get_backtest_batch_results, but naming the primary alternative is sufficient.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool targets a distinct resource/action: single backtests, batch backtests, trades, confirmation sources, signals, and asset discovery. The batch getter is explicitly differentiated from the single-result getter, and confirmation sources are clearly separated from tradable backtests.

Naming Consistency5/5

Tool names follow a clear verb_noun pattern: submit_backtest, submit_backtest_batch, get_backtest_result, get_backtest_trades, get_confirmation_source, list_available_assets. Modifiers like batch, trades, and signals are consistent and make each tool's role predictable.

Tool Count5/5

Nine tools is well-scoped for a backtesting server: three submission endpoints, four result-fetching endpoints, signal retrieval, and asset discovery. There is no apparent redundancy or tool bloat.

Completeness5/5

The surface covers the full backtest lifecycle: submitting single and batch backtests, retrieving aggregate results, drilling into trades, creating and reading confirmation sources, and discovering available assets. No critical operation appears missing for the stated domain.

Resources