Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Fetch order telemetry for a deployment

get_deployment_order_telemetry
Read-only

A saved-code-only edit does not require live orders or positions. Implement confirmed-fill handling in the strategy runtime without inventing a current fill or deployment. The live evidence requirements below apply only when investigating or preserving state for an existing live deployment. Requires the exact deploymentId from a matching list_deployments row or supplied by the user. If discovery returns no matching deployment and the user has not supplied its deploymentId, live telemetry is unavailable: continue an authorized saved-code repair using the saved revision and supported order/fill lifecycle, and disclose the missing live evidence. Do not probe with placeholders, strategy IDs, bot IDs, or invented deployment IDs; this tool cannot discover a deployment from them. For current bot performance and decision summaries, use show_bot_activity first; it includes recorded fills and orders. Use this separate reader for a targeted order/fill investigation requiring its filters, not to repeat that report. Returns orders tracked for a live bot: active/open orders plus recent terminal orders (filled, partially_filled, canceled, rejected, expired) updated in the last 24 hours. Order snapshots may include imported broker-account orders. A botId or deploymentId wrapper does not prove that this strategy submitted an order. Establish attribution from matching order_id submission/fill events in deployment logs, revision and run timing, and user corrections before diagnosing strategy behavior. Orders predating this run may be recovered strategy orders or unrelated account trades; do not infer either from symbol or wrapper alone. Each order includes timestamp, symbol, action (buy/sell), quantity/filled quantity, fill price, order_id, status, reason, and available option metadata. For an existing live deployment, after verifying attribution, use this as primary evidence for latest bot-owned fills, latest buy, cost basis, entry price, sell-trigger basis, and questions like 'why didn't it sell'. When this conflicts with get_deployment_position_telemetry avg_fill_price, state the conflict and prefer the newest relevant bot-owned filled order for latest-fill logic. This tool does not replace get_deployment_position_telemetry: for live fill-basis/code-fix work on that resolved deployment, attempt positions separately even if orders fail, and do not treat list_deployments as a substitute for either evidence tool. A concrete fill supplied by the user is recovery evidence only after live order/position tools fail or are unavailable; do not skip this tool just because the user gave a fill. If order tools fail but the user supplied a concrete bot-owned fill, continue the requested code fix using that supplied fill instead of stopping; record/use the supplied fill in executable strategy state as the bootstrap latest verified fill until live order evidence replaces it, not only in prose and not as an unset placeholder. If the user says to stop using position.avg_fill_price or says it is stale/wrong, the saved code must remove executable calls such as position.avg_fill_price, getattr(position, 'avg_fill_price'), or average_fill_price(...) instead of keeping them as fallback logic. Do not solve this by trying orders first and then falling back to avg_fill_price; hold/skip, keep the last verified bot-owned fill, or use the concrete bot-owned fill supplied by the user instead. Supports filtering by status (e.g. 'filled,canceled'), symbol (case-insensitive), hoursAgo, includeOpen, and time window (via ISO-8601 or Unix epoch). Results are paginated — use nextToken from the response to fetch subsequent pages. For live order analysis, use includeOpen=true, sort='desc', a small limit, and status/statuses filters when relevant. Default sort is newest-first (desc). This is not the first reader for a general activity summary: show_bot_activity includes recent orders with their dates. Use this for a requested detailed filtered order investigation such as 'show me all filled orders for AAPL'.

Input Schema

NameRequiredDescriptionDefault
sortNo
limitNo
statusNo
symbolNo
hoursAgoNo
statusesNo
nextTokenNo
endTimeIsoNo
includeOpenNo
deploymentIdYes
endTimestampNo
startTimeIsoNo
startTimestampNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, but the description adds substantial beyond-schema behavior: the 24-hour terminal-order window, inclusion of imported broker-account orders, pagination via nextToken, attribution requirements (matching order_id events and revision/run timing), and conflict resolution rules against get_deployment_position_telemetry avg_fill_price. These are real operational caveats an agent could not infer from the annotation.

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

Conciseness2/5

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

Roughly 400 words with poor front-loading: the opening sentence is about saved-code repairs not requiring live orders, which does not describe this tool at all. Large portions read as workflow/policy instructions for the calling agent rather than tool documentation. Useful content exists but is not structured for scanning; the return-format and filtering guidance should come first.

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 13-parameter, no-output-schema tool, the description is complete enough to call correctly: return fields are enumerated (timestamp, symbol, action, quantity/filled quantity, fill price, order_id, status, reason, option metadata), pagination is described, and attribution caveats are covered. Minor shortfall is the imprecise mapping of the four time-window parameters and the status-vs-statuses relationship.

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?

With 0% schema description coverage across 13 parameters, the description carries the burden and largely meets it: it documents status (with example 'filled,canceled'), statuses, case-insensitive symbol, hoursAgo, includeOpen, time window via ISO-8601 or Unix epoch, default sort=desc, limit sizing guidance, and nextToken pagination. Gaps remain: it never clarifies the distinction or precedence between status and statuses, or maps the prose 'time window' cleanly onto the four separate start/end ISO/epoch fields.

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 core purpose is stated precisely: 'Returns orders tracked for a live bot: active/open orders plus recent terminal orders (filled, partially_filled, canceled, rejected, expired) updated in the last 24 hours.' It also explicitly distinguishes itself from show_bot_activity and get_deployment_position_telemetry. However, the actual purpose statement is buried mid-paragraph behind workflow policy text, so an agent must read past several sentences before learning what the tool does.

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?

This is the description's strongest quality. It names alternatives and the conditions selecting them: 'For current bot performance and decision summaries, use show_bot_activity first,' 'Use this separate reader for a targeted order/fill investigation requiring its filters, not to repeat that report,' and 'For live order analysis, use includeOpen=true, sort=desc, a small limit, and status/statuses filters.' It also states when NOT to use placeholders or invented IDs. Routing is explicit and actionable.

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.