Skip to main content
Glama
PublicDotCom

Public.com MCP Server

Official
by PublicDotCom

get_order

Read-only

Retrieve a specific order’s status and fill details by order ID, including timestamps and market session; lookups cover orders from the last 30 days.

Instructions

Get the status and details of a specific order, including its fills.

Returns the order with trades (each fill's tradeId, quantity, price, side and timestamp), filledAt, replacedAt, lastModified and equityMarketSession. equityMarketSession reports the session as REGULAR, REST_OF_DAY or TWENTY_FOUR_HOURS — a different vocabulary from place_order's equity_market_session argument (CORE / EXTENDED / TWENTY_FOUR_HOURS); never feed one into the other.

Only orders created within the last 30 days can be looked up; older orders return a not-found error. Order placement is asynchronous, so this may also return an error for an order that was just placed and has not yet been indexed.

An order that belongs to a bracket carries a bracketId — the order ID of the bracket's entry order. Pass that ID to get_orders to find the sibling legs.

Args: order_id: The UUID of the order to look up. account_id: Account ID. Optional if PUBLIC_COM_ACCOUNT_ID is set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
order_idYes
account_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), yet the description adds substantial unpublished behavior: the 30-day retention limit, not-found semantics for aged orders, async indexing errors on just-placed orders, and the equityMarketSession vocabulary mismatch with place_order (REGULAR/REST_OF_DAY vs. CORE/EXTENDED) with an explicit warning never to feed one into the other. That is exactly the beyond-annotations context an agent needs.

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?

Front-loaded with the core purpose, then tight paragraphs on returns, constraints, and bracket semantics. It is information-dense rather than padded, though the enumerated return fields (trades, filledAt, replacedAt, etc.) partially restate what the output schema already exposes.

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?

Even though an output schema exists (so return values needn't be explained), the description goes further by covering the retention window, failure modes, bracket-leg navigation, and a cross-tool vocabulary trap. Nothing an agent needs to call this correctly is missing.

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 description coverage is 0%, so the description must carry the load, and it does: order_id is documented as the UUID of the order, and account_id is described as optional when PUBLIC_COM_ACCOUNT_ID is set. Both parameters gain meaning the bare schema (title-only) does not provide.

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?

States a specific verb and resource — 'Get the status and details of a specific order, including its fills' — which cleanly distinguishes it from get_orders, search_orders and get_history without needing their schemas. The singular 'a specific order' vs. the plural listing siblings makes the scope unambiguous.

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 real usage context: a 30-day lookup window, a not-found error for older orders, and a race-condition error for freshly placed orders. It also instructs the agent to pass a bracketId to get_orders to find sibling legs, which routes to an alternative — but it never explicitly contrasts get_order with get_orders/search_orders for the primary lookup case.

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