Skip to main content
Glama
emile-fortier

paper-trader-mcp

paper_trade_record

Record simulated US equity day-trade orders for backtesting, using historical NBBO quotes to estimate fills without placing live orders.

Instructions

Durably record a simulation-only whole-share US-equity DAY entry intent; never sends a live or broker-paper order. Without submitted_at, the server timestamps receipt. Historical submitted_at requires backtest=true. Regular hours only: pre-open DAY orders wait for the open; after-close or non-session DAY orders later expire.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYesUppercase US equity ticker, for example AAPL or BRK.B.
backtestNo
quantityYesPositive whole-share quantity; fractional shares are unsupported.
latency_msNoAssumed order-to-market latency in milliseconds; defaults to 250 ms. Combined with submitted_at (or the session open for pre-open orders) to determine execution eligibility and the stored fill time.
order_typeYes
request_idYesCaller-generated idempotency key. Reuse only to retry the exact same call; use a new value otherwise.
limit_priceNo
submitted_atNo
position_sideYes
time_in_forceNoday

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/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 clearly explains safety (no live order), durability, timing behavior (pre-open waits, after-close expires), and the submitted_at/backtest constraint. It does not mention idempotency handling or what happens on successful creation, but the output schema covers return values. The description adds valuable behavioral context beyond the schema, so it merits a high score, though it is not exhaustive, preventing a 5.

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 exceptionally concise, using only three sentences to convey the core purpose and critical behavioral constraints. It is front-loaded with the primary action and immediately distinguishes simulation from live execution. Every sentence adds unique value with 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 tool with 10 parameters, 5 required, an output schema, and multiple conditional behaviors, the description covers the most critical operational aspects: the simulation-only nature, the DAY order semantics, regular-hours restrictions, and submitted_at handling. It does not explain idempotency details or the conditional limit_price requirements, but these are partially covered by schema descriptions. Given the complexity and existing schema support, the description is quite complete but leaves some gaps that prevent a 5.

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 description coverage is low (40% per context, though actual text has more). The description adds meaning to submitted_at and backtest ('Without submitted_at, the server timestamps receipt. Historical submitted_at requires backtest=true') and clarifies DAY as time_in_force. However, it does not explain key parameters like order_type, limit_price, or position_side, which have sparse schema descriptions. The description partially compensates for the schema gap but leaves several parameters under-explained.

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 with a specific verb ('Durably record') and a precise resource ('simulation-only whole-share US-equity DAY entry intent'). It explicitly distinguishes from live/broker-paper orders and is clearly differentiated from the sibling tools (e.g., paper_trade_close for closing positions) through the term 'entry intent'.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool: it is for simulation-only entry recording, and it explicitly states 'never sends a live or broker-paper order', which guides the agent against using it for live trading. It also mentions the backtest requirement for historical submitted_at. However, it does not explicitly mention alternatives such as paper_trade_close for closing positions, so it lacks a full when-not-to-use comparison against siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emile-fortier/paper-trader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server