Skip to main content
Glama
aswathas

TradeMCP

by aswathas

trademcp_get_price_history

Read-onlyIdempotent

Retrieve historical OHLCV price candles for Indian stocks on NSE or BSE to chart trends, analyze price action, and review period returns.

Instructions

Get historical OHLCV candles for an Indian stock.

Returns the most recent candles with date, open, high, low, close and volume, newest first, along with the period's start/end prices and total return so the caller can chart or analyse the series.

Args: symbol: NSE symbol or company name range: lookback window interval: candle size limit: maximum candles to return exchange: 'NSE' or 'BSE' response_format: 'markdown' or 'json'

Returns: Markdown table of candles, or JSON with 'candles' and 'period_summary'.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of candles to return (1-500)
rangeNoLookback window: 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max6mo
symbolYesNSE symbol or company name, e.g. 'INFY'
exchangeNo'NSE' or 'BSE'NSE
intervalNoBar size: 1d, 1wk, 1mo, 1h, 30m, 15m, 5m1d
response_formatNo'markdown' or 'json'markdown

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), but the description adds real value beyond them: newest-first ordering, the period start/end prices and total return, and the two response formats with their return shapes. It does not mention data recency or rate/source limits, which matters given openWorldHint=true.

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

Conciseness3/5

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

Purpose and return shape are front-loaded, which is good, but the six-line Args block duplicates parameter documentation the schema already provides in full, so several sentences do not earn their place.

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?

With an output schema present and full parameter documentation, the definition covers what an agent needs to call it correctly. Minor gaps remain around data freshness and how range interacts with limit, neither of which is stated.

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?

Schema description coverage is 100%, so the bar is baseline 3, and the Args block largely restates the schema ('range: lookback window', 'interval: candle size') without adding meaning such as allowed enum values or interaction rules between range and limit.

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 historical OHLCV candles for an Indian stock') and the word 'historical' cleanly separates it from the point-in-time siblings such as trademcp_get_quote and from indicator tools like trademcp_get_technical_indicators. An agent can route on this sentence alone.

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?

Usage is only implied via 'so the caller can chart or analyse the series'; there is no explicit when-to-use, when-not-to-use, or named alternative such as 'use get_quote for the current price'. An agent must infer the boundary itself.

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