Skip to main content
Glama
alpacahq

alpaca-mcp-server

Official
by alpacahq

Get Stock Bars

get_stock_bars
Read-only

Retrieve historical stock price data (OHLCV) for analysis, backtesting, or monitoring market trends. Specify symbols, timeframe, and date range to access aggregated price bars.

Instructions

Retrieve historical price bars (OHLCV) for one or more stocks.

When start is omitted, it is automatically computed as now minus the days/hours/minutes lookback.

Args: symbols: Comma-separated tickers (e.g. "AAPL" or "AAPL,MSFT,GOOG"). timeframe: Bar aggregation period — "1Min", "5Min", "15Min", "30Min", "1Hour", "1Day", "1Week", or "1Month". start: Inclusive start time (RFC 3339). Omit to use relative lookback. end: Inclusive end time (RFC 3339). Omit for current time. days: Days to look back when start is omitted (default 5). hours: Additional hours in the lookback (default 0). minutes: Additional minutes in the lookback (default 0). limit: Max total data points returned across all symbols, 1–10000 (default 1000). adjustment: Price adjustment — "raw", "split", "dividend", "spin-off", or "all". Comma-separated combos allowed (e.g. "split,dividend"). Default "raw". feed: Data feed — "sip" (all US exchanges, default, paid), "iex" (IEX only, free tier), "otc", or "boats". currency: Price currency (ISO 4217, e.g. "USD"). Default USD. sort: Timestamp sort order — "asc" (default) or "desc". asof: As-of date (YYYY-MM-DD) for point-in-time symbol mapping. Useful for backtesting with historical ticker changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolsYes
timeframeNo1Day
startNo
endNo
daysNo
hoursNo
minutesNo
limitNo
adjustmentNoraw
feedNo
currencyNo
sortNoasc
asofNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, indicating safe read operations with potentially large data. The description adds valuable context beyond annotations: it explains the automatic start-time computation, data point limits (1–10000), feed options including paid/free tiers, and backtesting utility with 'asof'. No contradiction with annotations exists.

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 well-structured with a clear purpose statement followed by detailed parameter explanations. It is appropriately sized for a complex tool with 13 parameters, though some sentences could be more concise (e.g., the start omission rule is slightly verbose). Overall, it efficiently conveys necessary information.

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?

Given the tool's complexity (13 parameters, 0% schema coverage) and the presence of an output schema (which handles return values), the description is complete. It covers all parameters, behavioral nuances (lookback computation, limits, feed tiers), and usage context, providing everything needed for an agent to invoke the tool correctly.

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?

With 0% schema description coverage, the description fully compensates by detailing all 13 parameters. It explains each parameter's purpose, format (e.g., comma-separated tickers, RFC 3339 times), allowed values (e.g., timeframe options, adjustment types), defaults, and interactions (e.g., start omission triggers lookback). This adds significant meaning beyond the bare schema.

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 specific verb ('Retrieve') and resource ('historical price bars (OHLCV) for one or more stocks'), distinguishing it from siblings like get_stock_latest_bar (single latest bar) or get_stock_quotes (quotes rather than OHLCV bars). The mention of 'one or more stocks' further clarifies scope.

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 usage with the start-time computation rule ('When start is omitted...'), but does not explicitly state when to use this tool versus alternatives like get_stock_latest_bar or get_crypto_bars. It implies usage for historical data retrieval but lacks explicit sibling differentiation.

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/alpacahq/alpaca-mcp-server'

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