Skip to main content
Glama
PatrickSUDO

firstrade-mcp-server

by PatrickSUDO

get_account_history

Retrieve brokerage transaction history including fills, dividends, interest, and transfers. Filter by preset or custom date ranges and get results organized by account.

Instructions

Get transaction history (fills, dividends, interest, transfers).

Args: date_range: today|1w|1m|2m|mtd|ytd|ly|cust. Use "ly" for the trailing year, or "cust" with custom_from/custom_to for an explicit window. custom_from: Window start, "YYYY-MM-DD". Required when date_range="cust"; supplying it also implies "cust" so the range arg can be left alone. custom_to: Window end, "YYYY-MM-DD". Defaults to custom_from when omitted.

Returns JSON keyed by account number.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
custom_toNo
date_rangeNo1m
custom_fromNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral load: 'Get transaction history' implies read-only retrieval, and 'Returns JSON keyed by account number' states output shape. It does not mention pagination, auth, or side effects, but those are minimal concerns for a history lookup.

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 tight, scannable, and uses a clear Args list. It would be slightly improved by a concrete example, but the structure serves an agent well.

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?

Covers the core invocation contract (what it does, what the parameters mean, what the response shape is). Missing details like pagination or date range boundaries are minor for a simple read-only history endpoint, and no annotations exist to contradict or supplement.

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 schema provides no parameter descriptions (0% coverage), but the free-text description documents all three parameters, includes allowed values for date_range, states when custom_from is required, and explains custom_to's default. This fully compensates for the structured schema gap.

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?

States a clear verb and resource ('Get transaction history') and enumerates included transaction types (fills, dividends, interest, transfers). It does not explicitly contrast with sibling tools like get_orders or get_account_balance, but the scope is easy to infer.

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?

Documents parameter usage including enum values, the required condition for custom_from when date_range='cust', and the default for custom_to. However, it gives no explicit guidance on when to choose this tool over siblings such as get_orders or get_option_chain.

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