Skip to main content
Glama
finstacklabs

finstack-mcp

by finstacklabs

FinStack MCP

95 free tools for Indian + global markets. Works inside Claude, Cursor, and any MCP client.

Open-source market intelligence for Indian equities, global markets, and MCP-native AI workflows. Ask one question like Should I buy Reliance? and get debate, sentiment, smart-money, risk, peer context, and ranking in one stack.

PyPI License: MIT Python 3.10+

pip install finstack-mcp

Or run without installing:

uvx finstack-mcp

Ask Claude things like:

"Give me a full stock brief on Reliance"
-> 6 AI agents debate: FII Desk + Algo Trader + Value Investor + Retail Pulse + Macro Analyst + Options Flow
-> Consensus: BUY/HOLD/SELL with reasoning

"Is someone accumulating HDFC Bank quietly?"
-> Checks OI buildup, block deals, promoter buying, volume spike simultaneously

"What's the social buzz on TCS before results?"
-> StockTwits + Reddit + Economic Times -> 67% bullish | Signal: HOLD

"Will Nifty go up tomorrow?"
-> RSI + FII flow + PCR + VIX + G-Sec + GIFT Nifty -> 63% probability up

"Should I take a NIFTY CE or PE today?"
-> Intraday F&O setup -> BUY_CE / BUY_PE / NO_TRADE with ATM strike zone, confidence, and approval-ready summary

"Give me the 8:15 AM F&O brief"
-> GIFT Nifty + VIX + NIFTY setup + BANKNIFTY setup -> ready-to-forward morning note

"Scan my portfolio for risk"
-> Sector concentration, pledged promoters, FII exposure, XIRR, diversification score

"Is this Telegram stock tip channel a scam?"
-> Accuracy %, avg return %, pump-and-dump probability scored

Demo preview

Stock brief in action

Stock Brief Demo

Agent battle visualization

Agent Battle Demo

Example outputs

Stock Brief Output

FII Flow Output

Related MCP server: NSE/BSE MCP Server

Launch resources

Why this is different

  • Built for Indian markets first, not as a US-market wrapper with a few NSE tickers added later

  • MCP-native, so it works inside Claude, Cursor, and other agent workflows instead of being just another dashboard

  • Combines data, scoring, debate, and research workflows instead of forcing users to stitch 5 paid tools together

  • Includes tools competitors usually do not offer at all: stock debate, watchlist ranking, stock timeline, Telegram tracker, GST-to-stock context, and budget analyzer


What this replaces

Tool

What you pay

finstack-mcp

Bloomberg Terminal

$31,980 / yr

FREE

Bloomberg ESG + Credit

$24,000 / yr

FREE

Sensibull (Options Greeks)

โ‚น15,600 / yr

FREE

Morningstar (MF flows)

$17,500 / yr

FREE

Zerodha real-time data

โ‚น6,000 / yr

FREE via Angel One

Screener.in Pro

โ‚น4,999 / yr

FREE

Trendlyne Pro

โ‚น4,950 / yr

FREE


Install + connect (2 minutes)

pip install finstack-mcp

Claude Desktop

Add to claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "finstack": {
      "command": "python",
      "args": ["-m", "finstack.server"]
    }
  }
}

Restart Claude Desktop. Done.

Cursor / Windsurf / Cline

{
  "mcpServers": {
    "finstack": {
      "command": "python",
      "args": ["-m", "finstack.server"]
    }
  }
}

Add to your IDE's MCP config file and reload.

uvx (no install needed)

{
  "mcpServers": {
    "finstack": {
      "command": "uvx",
      "args": ["finstack-mcp"]
    }
  }
}

Works with: Claude Desktop ยท Cursor ยท Windsurf ยท Cline ยท Continue.dev ยท Zed ยท Jan.ai ยท LibreChat ยท any MCP client


Remote MCP publishing roadmap

If you want finstack-mcp to move beyond local desktop config and become available through connector ecosystems, keep the local python -m finstack.server setup for developers and add a hosted remote MCP version for public distribution.

What to build for remote HTTP

  • Expose FinStack through a public MCP endpoint over HTTPS, preferably Streamable HTTP or SSE.

  • Add OAuth before opening it to outside users.

  • Keep tool descriptions narrow, clear, and safe.

  • Add rate limiting, monitoring, and a visible support contact.

  • Publish a privacy policy and terms before any official submission.

ChatGPT / OpenAI path

  • Host a remote MCP server that is reachable over HTTPS.

  • Test it first as a custom connector or custom app in ChatGPT.

  • Add connector-friendly read tools such as search and fetch if you want broader compatibility with OpenAI connector flows.

  • Keep FinStack-specific tools like get_stock_brief, get_stock_debate, get_social_sentiment, and analyze_portfolio as domain tools on top.

Claude / Anthropic path

  • First make sure the server works as a custom connector.

  • Then prepare for directory review instead of assuming instant listing.

  • Anthropic reviews third-party MCP servers for safety, security, privacy, and compatibility before directory inclusion.

  • Directory listing is not guaranteed even if the server is technically valid.

Practical submission checklist

  • Public HTTPS MCP endpoint

  • OAuth login flow

  • Stable server uptime

  • Safe tool scope and descriptions

  • Privacy policy

  • Terms of service

  • Support email or issue tracker

  • Clear docs and example prompts

  • No tool behavior that encourages bypassing model safety policies

  • Local stdio MCP: best for developers and power users

  • Hosted remote MCP: best for connectors and wider distribution

  • Separate hosted FinStack web UI: best place for premium visuals like Agent Battle

This keeps MCP as the execution layer and your own frontend as the premium experience.


95 tools across 10 categories

Indian Markets (live data)

  • NSE/BSE real-time quotes, OHLCV history, market status

  • Nifty 50, Bank Nifty, Sensex indices

  • FII/DII institutional flows (daily + historical)

  • Bulk & block deals, circuit breaker scanner, 52W high/low scanner

  • Mutual fund NAV, corporate actions, earnings calendar, IPO calendar

AI Intelligence (unique to finstack-mcp)

  • get_stock_brief โ€” 6 AI agents debate any stock โ†’ BUY/HOLD/SELL consensus

  • get_stock_debate โ€” 3-round sequential agent debate with rebuttals and emergent consensus

  • get_social_sentiment โ€” StockTwits + Reddit + ET RSS โ†’ sentiment signal

  • detect_unusual_activity โ€” OI buildup + block deals + promoter change + volume spike

  • get_nifty_outlook โ€” 6-signal probability model for next session direction

  • get_fno_trade_setup โ€” NIFTY / BANKNIFTY options call: BUY_CE, BUY_PE, or NO_TRADE with ATM strike guidance

  • predict_earnings โ€” beat/miss probability before quarterly results

  • get_fii_retail_divergence โ€” highest-conviction Indian market signal

  • get_morning_fno_brief โ€” daily NIFTY/BANKNIFTY F&O brief with approval-ready setup summary

Research & Ranking

  • scan_watchlist โ€” batch-rank a watchlist so automation can surface top buys and top risks

  • get_stock_signal_score โ€” automation-friendly score with factor impacts, supports, and risks

  • get_stock_timeline โ€” one feed for news, results, insider, bulk deals, sentiment, pledge, and smart money

  • get_sector_peer_context โ€” sector strength plus peer rank / valuation context

  • evaluate_signal_quality โ€” honest proof layer for the price-action core before making accuracy claims

Portfolio & Risk

  • analyze_portfolio โ€” P&L, XIRR, sector concentration, risk flags, diversification score

  • get_mf_overlap โ€” fund overlap % from AMFI public disclosures

  • get_pledge_alert โ€” promoter pledge early warning with QoQ velocity

  • scan_pledge_risks โ€” batch pledge scan across your watchlist

  • predict_circuit โ€” lower circuit risk prediction

  • detect_pump โ€” pump-and-dump pattern detector for small/micro caps

Broker Integrations (zero-delay live data)

  • Angel One SmartAPI โ€” live quotes, Level 2 depth, intraday candles

  • Fyers API v3 โ€” live quotes + candles

  • ICICI Breeze โ€” live quotes + candles

  • Dhan SmartAPI โ€” live quotes + candles

  • Upstox API v2 โ€” live quotes + candles

Options & Greeks

  • Full NSE options chain with PCR, Open Interest, Max Pain

  • Black-Scholes Greeks: Delta, Gamma, Theta, Vega, Rho

  • OI analytics, IV summary, top OI strikes

Market Intelligence

  • India VIX + signal, GIFT Nifty pre-market

  • NSE insider trading (SAST filings), promoter shareholding + pledge %

  • RBI policy rates, India macro (CPI, GDP, CAD)

  • AMFI mutual fund flows, India G-Sec yield curve

  • get_sebi_alerts โ€” SEBI enforcement order tracker (early crash warning)

  • get_morning_brief โ€” 8:15 AM pre-market brief

Never-built-before (India-specific)

  • correlate_gst_to_stocks โ€” GST monthly data as 1-3mo sector leading indicator

  • get_agm_brief โ€” AGM/EGM unusual resolution detector (debt raise, salary hike, pledge approval)

  • get_insider_signal โ€” SEBI SAST insider buy/sell pattern vs forward returns

  • get_telegram_tracker โ€” Dalal Street tip channel accuracy + pump-and-dump scoring

  • analyze_budget_live โ€” paste FM speech โ†’ instant sector/stock signals (Feb 1st)

  • get_budget_impact โ€” historical Union Budget winners + losers by year

Fundamentals

  • Income statement, balance sheet, cash flow (Indian + US)

  • Key ratios: P/E, ROE, margins, debt/equity, growth

  • Company profile, dividend history (10-year), stock comparison

Global + Crypto + Tax

  • US, EU, global equities โ€” quotes + history

  • Crypto: BTC, ETH, SOL, 100+ coins (CoinGecko)

  • Forex: USD/INR, EUR/INR, 50+ pairs

  • SEC filings (10-K, 10-Q, 8-K)

  • LTCG/STCG tax calculator (post-July 2024 Budget rules โ€” nobody else has this)


Accuracy and evaluation

FinStack should be presented as a decision-support engine, not as a guaranteed prediction machine.

  • get_stock_signal_score is a ranking layer for triage, screening, and automation

  • evaluate_signal_quality is an honest proof layer for the price-action core

  • the full live system also uses sentiment, insider activity, pledge risk, macro, and peer context, so one backtest number should not be marketed as "the accuracy of FinStack"

  • safest language for users: signal engine, research assistant, multi-factor ranking, and decision-support


Comparison vs Indian market tools

Feature

finstack-mcp

Screener.in

Tickertape

Sensibull

Trendlyne

TradingView

AI agents debate a stock

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Social sentiment (Reddit + StockTwits)

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Nifty direction probability

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Telegram tip channel tracker

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Budget speech live analyzer

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

GST โ†’ sector stock predictor

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Pump-and-dump detector

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Promoter pledge early warning

โœ…

โŒ

โœ… paid

โŒ

โœ… paid

โŒ

Options Greeks

โœ… free

โŒ

โŒ

โœ… โ‚น1,300/mo

โŒ

โœ… paid

FII/DII flows

โœ… free

โŒ

โœ…

โœ…

โœ… paid

โŒ

Fundamentals (P/E, ROE, etc.)

โœ… free

โœ… free

โœ…

โŒ

โœ…

โœ… paid

Works inside Claude / Cursor

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Price

Free

โ‚น4,999/yr

โ‚น2,800/yr

โ‚น15,600/yr

โ‚น4,950/yr

$168/yr


Real-time data (optional)

Without setup: 15-minute delayed data (yfinance โ€” free, no API key). With Angel One: zero delay, Level 2 order book, intraday candles.

pip install finstack-mcp[broker]
ANGEL_API_KEY=your_key
ANGEL_CLIENT_ID=your_client_id
ANGEL_PASSWORD=your_pin
ANGEL_TOTP_SECRET=your_totp_secret

Free account at smartapi.angelbroking.com. Your key stays local in .env โ€” never leaves your machine.

Other brokers: Fyers, ICICI Breeze, Dhan, Upstox also supported.


Data sources

Source

Covers

Key needed

yfinance

NSE/BSE/US equities, crypto, forex, history

None

NSE direct API

FII/DII, options chain, insider trading, corporate actions

None

BSE India API

Credit ratings, ESG/BRSR

None

SEC EDGAR

US filings (10-K, 10-Q, 8-K)

None

CoinGecko

Crypto market data

None

World Bank

India macro: CPI, GDP, CAD

None

AMFI / mfapi.in

Mutual fund NAV, AUM, SIP flows

None

StockTwits

Trader sentiment (pre-tagged bullish/bearish)

None

Reddit (praw)

r/IndiaInvestments + r/DalalStreetTalks

Optional free

Finance Ministry

Monthly GST collection data

None

SEBI public filings

Enforcement orders, insider SAST disclosures

None

Angel One SmartAPI

Real-time NSE, Level 2 depth, intraday

Free account


Troubleshooting

Claude says "finstack not found" after install

  • Restart Claude Desktop fully (quit from system tray, not just close)

  • Config path on Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Verify Python is in PATH: python --version

pip install fails

python -m pip install --upgrade pip
pip install finstack-mcp

Angel One TOTP fails

  • TOTP secret โ‰  password. Find it in Angel One app โ†’ Profile โ†’ Enable TOTP โ†’ secret key

  • Install: pip install finstack-mcp[broker]


Development

git clone https://github.com/finstacklabs/finstack-mcp.git
cd finstack-mcp
pip install -e .[dev]
pytest -q

PRs welcome. Adding a new broker: create src/finstack/data/broker_X.py and register in tools/.



MIT License ยท finstacklabs.github.io

Available Tools

95 tools
amfi_fund_flowsA

AMFI mutual fund industry data: total AUM, SIP flows, scheme count by category.

Morningstar Direct charges $17,500/year for mutual fund flow data. AMFI (Association of Mutual Funds in India) publishes all data free.

Provides:

  • Total industry AUM (approximate)

  • Monthly SIP inflow figures

  • Total folios and investor count

  • Scheme breakdown by category (Equity, Debt, Hybrid, ETF, ELSS, etc.)

  • Links to detailed AMFI data portal

Examples: amfi_fund_flows() โ†’ India mutual fund industry overview and flows

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions that the AUM data is 'approximate' and that data is monthly, which provides some insight, but lacks details on rate limits, authentication needs, or side effects.

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 moderately concise, with a clear list of provided data and a relevant pricing note. It is front-loaded with the core purpose. However, the pricing information could be considered slightly tangential.

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?

Given zero input parameters and the presence of an output schema, the description adequately covers the main outputs (AUM, SIP flows, folios, scheme breakdown). It does not repeat the output schema but adds context about data sources and approximation.

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?

The tool has zero parameters, and the description adds meaning by explaining what the tool returns, which goes beyond the empty schema. According to guidelines, 0 parameters gets a baseline of 4.

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 provides AMFI mutual fund industry data, including specific data points like total AUM, SIP flows, and scheme counts by category. It distinguishes itself from sibling tools by focusing on industry-level aggregate data, which is unique among the listed siblings.

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 context by mentioning that similar data costs $17,500/year from Morningstar Direct, implying this tool offers a free alternative. However, it does not explicitly state when to use this tool versus alternatives, nor provide exclusions.

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

analyze_budget_liveA

Real-time budget speech analyzer โ€” use on Feb 1st as FM speaks.

Paste the Finance Minister's speech text (any length, even partial). Returns instant sector + stock impact mapping.

"FM just said โ‚น2L Cr for infrastructure โ†’ BUY L&T, NTPC, IRB Infra"

Detects mentions of: Infrastructure, Defence, Pharma, Renewable Energy, Real Estate, Agriculture, Auto, FMCG, IT/Digital, Steel, Telecom, Tax changes.

Args: text: Budget speech transcript text (paste directly from live broadcast)

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It mentions the tool returns 'instant sector + stock impact mapping' and lists sectors detected, but does not disclose any behavioral traits like rate limits, authentication needs, or what happens if used outside the designated date.

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?

The description is relatively detailed with an example and a list of detected sectors. It is front-loaded with purpose but could be more concise; some sentences like the example could be shortened.

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?

Given only one parameter and presence of an output schema (as per context), the description covers the use case well, including input format, output concept, and sectors detected. It is sufficient for an agent to understand and invoke the tool.

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?

The only parameter 'text' has 0% schema description coverage. The description adds a clear semantic explanation: 'Budget speech transcript text (paste directly from live broadcast)', which is more informative than the schema's bare type definition.

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 is a 'Real-time budget speech analyzer' and specifies the use case: on Feb 1st as the FM speaks. It differentiates from siblings like 'get_budget_impact' by emphasizing real-time usage and providing an example of input-output.

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 explicitly states when to use ('on Feb 1st as FM speaks') and what input to provide ('Paste the Finance Minister's speech text'). It does not explicitly state when not to use or list alternatives, but the context is clear enough.

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

analyze_portfolioA

Portfolio X-ray: deep risk + return analysis for your holdings.

Input format โ€” list of holdings: [ {"symbol": "RELIANCE", "qty": 10, "avg_price": 2400, "buy_date": "2024-01-15"}, {"symbol": "TCS", "qty": 5, "avg_price": 3800} ]

Returns:

  • total invested, current value, P&L, P&L %

  • XIRR (if buy_date provided)

  • per-holding breakdown with sector

  • sector concentration % (flags if > 40% in one sector)

  • risk flags: pledged promoters, single stock > 30%, FII reducing

  • diversification score (0โ€“100)

Args: holdings: list of {symbol, qty, avg_price, buy_date (optional)}

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the analysis and return values but does not explicitly state that the tool is read-only or non-destructive. It also omits details on rate limits, data freshness, or error handling. For an analysis tool, the disclosure is adequate but not thorough.

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 an intro, input format, and output list. It is reasonably concise but could be trimmed slightly (e.g., the output list could be more compact). Overall, it balances detail and readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and that an output schema exists (though not shown), the description covers key return values. However, it lacks details on error cases, data sources, or time periods for analysis. The presence of sibling tools like 'portfolio_analysis' suggests potential gaps in scope differentiation.

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 input schema has 0% description coverage, leaving parameters undefined. The description compensates fully by specifying the required fields (symbol, qty, avg_price) and the optional buy_date, along with a concrete example and array format. This adds essential meaning beyond the generic schema.

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?

The description clearly states it performs 'deep risk + return analysis for your holdings' and lists specific outputs like P&L, XIRR, sector concentration, and risk flags. This makes the tool's purpose specific and actionable. However, it does not explicitly differentiate from the sibling tool 'portfolio_analysis', which may cause ambiguity.

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

Usage Guidelines2/5

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

The description lacks explicit guidance on when to use this tool versus alternatives. With many sibling tools, especially 'portfolio_analysis', it does not explain scenarios where one is preferred over the other. No 'use this when' or 'instead of' hints are provided.

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

backtest_strategyA

Backtest a Simple Moving Average (SMA) crossover strategy. [PRO]

Tests: Buy when short SMA crosses above long SMA, sell when it crosses below. Compares strategy return vs buy-and-hold.

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL, TCS) short_window: Short SMA period in days (default: 20) long_window: Long SMA period in days (default: 50) period: Backtest period: 1y, 2y, 5y (default: 2y) initial_capital: Starting capital (default: 100000)

Examples: backtest_strategy("RELIANCE") โ†’ Default 20/50 SMA backtest backtest_strategy("AAPL", 10, 30, "5y") โ†’ Custom 10/30 SMA, 5 years backtest_strategy("TCS", 50, 200, "5y", 500000) โ†’ Golden cross, 5L capital

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo2y
symbolYes
long_windowNo
short_windowNo
initial_capitalNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

The description explains the strategy logic (cross conditions) and compares to buy-and-hold. Since no annotations exist, it adequately covers behavior. The presence of an output schema reduces the need to describe return values.

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 sections (PRO tag, strategy, args, examples) and is informative without being excessively long. Minor redundancy (repeating defaults in examples) could be trimmed.

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?

The description covers the strategy, parameters, and examples adequately. It might benefit from mentioning data prerequisites or output format, but the output schema exists. Overall complete for a backtesting tool.

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 listing and explaining all five parameters, including defaults and examples (e.g., symbol, short_window, long_window, period, initial_capital).

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: backtesting a Simple Moving Average (SMA) crossover strategy. It uses specific verbs and resources, distinguishing it from the many sibling tools.

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 usage context and examples, showing when to use this tool for SMA crossover backtesting. However, it does not explicitly mention when not to use it or suggest alternative tools.

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

balance_sheetA

Get balance sheet for a company.

Returns total assets, total liabilities, shareholder equity, cash, debt, inventory, receivables, and more.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT) quarterly: If True, quarterly data. If False (default), annual.

Examples: balance_sheet("HDFCBANK") โ†’ HDFC Bank annual balance sheet balance_sheet("AAPL", quarterly=True) โ†’ Apple quarterly balance sheet

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
quarterlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description implies a read-only data retrieval but does not disclose any behavioral traits such as data latency, required permissions, or limits. It is minimally adequate.

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 well-structured with a brief summary, return items listed, an Args section, and examples. Every part serves a purpose with no redundant text.

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 presence of an output schema, the description does not need to detail return values. It provides all necessary information for an agent to invoke the tool correctly, including parameter usage and example calls.

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?

Both parameters are explained with examples and default values. The description adds significant meaning beyond the schema, clarifying that symbol is a stock ticker and quarterly controls annual vs quarterly data.

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 'Get balance sheet for a company' with a specific verb and resource. It lists the items returned and provides examples, distinguishing it from sibling tools like cash_flow and income_statement.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description is self-contained but fails to mention that this is for balance sheet data only, not for other financial statements or ratios.

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

broker_setup_statusA

Check Angel One SmartAPI integration status and get setup instructions.

Shows whether your Angel One credentials are configured and working. Also explains how to set up if not configured yet.

Your API key stays in your local .env file โ€” never committed to GitHub. The open-source code only reads environment variables, never stores keys.

Examples: broker_setup_status() โ†’ Check if Angel One is connected + setup guide

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses security-relevant behavior (API key stays in local .env, never committed) and explains it shows status and instructions. However, it does not detail return values or error handling, which might be covered by the output schema.

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 concise, with a clear front-loaded purpose sentence. The security note and example add value without unnecessary length. It earns its place but could be slightly tighter.

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?

Given zero parameters and an existing output schema, the description adequately covers the tool's functionality and adds security context. It is complete for a simple status check tool, though it could mention output specifics.

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?

The tool has zero parameters, so the description cannot add parameter semantics. The schema coverage is 100% trivially. The description adds context about the tool's purpose and security, which is valuable beyond the empty 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 'Check Angel One SmartAPI integration status and get setup instructions', which is a specific verb-resource pair. It explicitly names 'Angel One', distinguishing it from sibling broker status tools like fyers_status and icici_status.

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 indicates when to use the tool: to check if Angel One credentials are configured and working, and to get setup instructions. It provides clear context but does not explicitly state when not to use or list alternatives, though the sibling tools suggest other brokers.

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

brsr_esgB

BRSR (Business Responsibility & Sustainability Report) ESG data for listed companies.

SEBI mandates BRSR from India's top 1000 listed companies since FY2022-23. Bloomberg and LSEG charge $24,000+/year for ESG scores. SEBI makes BRSR filings publicly available. We surface them free.

Provides:

  • BRSR filing links (PDF) for last 3-5 years

  • BRSR framework: 9 principles covering ESG topics

  • Environment disclosures (GHG, energy, water, waste)

  • Social disclosures (employees, safety, CSR)

  • Governance disclosures (ethics, stakeholder engagement)

  • Direct links to NSE/BSE BRSR portals

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: brsr_esg("TCS") โ†’ TCS BRSR filings and ESG framework coverage brsr_esg("RELIANCE") โ†’ Reliance sustainability disclosures

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description lists the types of data provided but lacks details on limitations (e.g., only top 1000 companies, data freshness), error handling, or authentication. It implicitly mentions the scope via SEBI mandate but does not disclose behavioral traits like rate limits or response format beyond what is listed.

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?

The description is front-loaded with the core purpose but includes several paragraphs of background (e.g., comparison to paid sources) that are informative but not essential for tool invocation. The list of disclosures adds redundancy. It could be trimmed to improve conciseness.

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?

Given the single parameter and existence of output schema, the description sufficiently covers what output to expect, including specific data types like filing links and disclosure categories. It is complete enough for a data retrieval tool, though it does not mention potential errors or empty results.

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?

The single parameter 'symbol' is described as NSE stock symbol with concrete examples (RELIANCE, TCS), adding meaning beyond the schema which only defines type string. This compensates well for the 0% schema description coverage, though it does not include constraints like uppercase or format.

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?

The description clearly states the tool provides BRSR ESG data for listed companies, including filing links and disclosures. While it does not explicitly start with a verb, the purpose is unambiguous and specific. It does not explicitly differentiate from siblings but is sufficiently distinct.

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

Usage Guidelines2/5

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

The description provides background on BRSR mandate and free availability but does not explicitly guide when to use this tool versus alternatives. No exclusions, prerequisites, or contextual usage tips are given, leaving the agent without clear selection criteria.

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

bse_quoteA

Get real-time BSE (Bombay Stock Exchange) quote for an Indian stock.

Returns current price, change, volume, market cap, and key ratios.

Args: symbol: BSE stock symbol (e.g., RELIANCE, TCS, INFY)

Examples: bse_quote("RELIANCE") โ†’ Reliance Industries BSE price bse_quote("TCS") โ†’ TCS BSE price

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided. Description states it returns real-time data with price, change, volume, etc., but does not disclose side effects, auth needs, or data freshness. Adequate for a read tool.

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?

Two paragraphs with clearly separated args and examples. No fluff. Could be slightly more structured but overall efficient.

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?

Given simplicity (1 param) and presence of output schema (context signal), description covers return fields and parameter. Adequate for selection and invocation.

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 coverage 0% but description adds examples (e.g., RELIANCE, TCS) and explains symbol field meaning, compensating effectively. Parameter is well-illustrated.

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 'Get real-time BSE quote for an Indian stock' with specific verb and resource. It lists return fields and distinguishes from siblings like nse_quote by explicitly naming the exchange.

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

Usage Guidelines2/5

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

No guidance on when to use vs alternatives. Does not mention prerequisites, exclusions, or context where it should not be used.

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

calculate_tax_liabilityA

Calculate Indian LTCG / STCG tax liability for an equity or mutual fund trade.

Applies Indian tax rules (post July 2024 Budget):

  • Listed equity / equity MF STCG (โ‰ค365 days): 20% flat (Section 111A)

  • Listed equity / equity MF LTCG (>365 days): 12.5% above โ‚น1.25L exemption (Section 112A)

  • Debt funds (post Apr 2023): taxed at income slab rate regardless of holding period

  • Capital losses: carried forward for 8 years

Args: buy_price: Purchase price per share/unit in INR buy_date: Date of purchase in DD-MM-YYYY format (e.g. 15-01-2023) sell_price: Selling price per share/unit in INR sell_date: Date of sale in DD-MM-YYYY format (e.g. 20-03-2024) quantity: Number of shares or units asset_type: One of: equity, mutual_fund_equity, mutual_fund_debt, debt_fund symbol: Optional stock/fund symbol for display (e.g. RELIANCE, TCS)

Returns: Formatted tax summary with holding period, gain classification, and tax liability.

Examples: calculate_tax_liability(buy_price=1200, buy_date="01-01-2023", sell_price=1500, sell_date="15-03-2024", quantity=100, symbol="RELIANCE")

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNo
buy_dateYes
quantityYes
buy_priceYes
sell_dateYes
asset_typeNoequity
sell_priceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries burden. It details calculation rules including capital loss carry forward, but doesn't explicitly state it has no side effects. Still sufficiently transparent.

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?

Well-structured with overview, rules, args, returns, examples. Front-loaded purpose. Could be slightly more concise, but each section earns its place.

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?

Complete for the tool's complexity: covers all required and optional parameters, explains return value format, includes examples. Output schema exists but description still provides adequate context.

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?

Schema has 0% coverage, but description includes an Args section with explanations for all parameters, including optional ones like symbol and asset_type. Provides format, default, and examples, adding significant value.

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?

Description clearly states it calculates Indian LTCG/STCG tax liability for equity/mutual fund trades, with specific tax rules. Unambiguous and distinct from sibling tools.

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?

Explicitly indicates applicable tax rules (post July 2024 Budget) and asset types. While it doesn't list alternatives, the specialized nature makes usage clear.

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

cash_flowA

Get cash flow statement for a company.

Returns operating cash flow, investing cash flow, financing cash flow, free cash flow, capital expenditure, and more.

Args: symbol: Stock ticker (e.g., INFY, SBIN, GOOGL, AMZN) quarterly: If True, quarterly data. If False (default), annual.

Examples: cash_flow("INFY") โ†’ Infosys annual cash flow cash_flow("GOOGL", quarterly=True) โ†’ Google quarterly cash flow

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
quarterlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral aspects. It omits any mention of data freshness, pagination, rate limits, or error handling. The tool is clearly read-only, but this is not stated explicitly.

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 concise, using bullet points for key return fields and a clear args/examples section. Every sentence adds value, and the structure is front-loaded with the main purpose.

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?

Given the presence of an output schema (not shown but indicated), the description adequately explains return values. It covers main use cases but lacks details on error scenarios or edge cases like invalid symbols.

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 coverage is 0%, but the description explains both parameters thoroughly: symbol with examples of valid tickers, quarterly with explanation of default behavior. This adds significant value beyond the bare schema.

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?

The description clearly states it retrieves cash flow statements and lists specific components. Examples with different stocks and quarterly toggle clarify usage. It distinguishes itself from siblings like balance_sheet and income_statement implicitly, but does not explicitly contrast with them.

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?

The description implies usage for cash flow analysis through examples and listed metrics. However, it does not explicitly state when to use or avoid this tool compared to siblings, nor does it mention prerequisites or context.

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

check_signal_outcomesA

Manually trigger outcome checking for all pending signals.

Normally runs automatically, but you can call this to force-check any signals whose 7-day or 30-day window has elapsed.

Returns how many signals were updated.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description discloses that it manually triggers checks, runs automatically normally, and returns the count of updated signals. It does not mention idempotency, side effects, or limitations, but covers the core behavior.

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?

Three sentences: purpose, context, and output. No fluff, every sentence adds value. Front-loaded with the main action.

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?

Given no parameters and no annotations, the description covers the essential aspects: what it does, when to use it, and what it returns. The output schema is mentioned as present, but the description already states the return value. Slightly lacking in edge cases or error conditions.

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 input schema has no parameters, so the description does not need to add parameter information. The baseline is 3 due to 100% schema coverage, and the description provides sufficient context about the tool's function.

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 action ('trigger outcome checking') and the resource ('pending signals'). It distinguishes itself from sibling tools by focusing on outcome checking, unlike signal creation or analysis tools.

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 explains when to use it (force-check when windows have elapsed) and that it is normally automatic, providing context. It does not explicitly mention alternatives, but the use case is clear.

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

company_profileA

Get company overview and profile information.

Returns company name, sector, industry, country, number of employees, website, business description, exchange, and market cap.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT)

Examples: company_profile("RELIANCE") โ†’ What does Reliance Industries do? company_profile("TSLA") โ†’ Tesla company overview company_profile("INFY") โ†’ Infosys company details

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It states return fields but doesn't disclose potential limitations, authentication needs, or whether the data is real-time or delayed. The description is minimal on behavioral aspects beyond the return list.

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?

Concise two sentences for purpose, a clean list of return fields, clear argument section, and relevant examples. No fluff or redundancy; every element adds value.

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 simple tool with one parameter and an output schema, the description covers the essentials. It lists return fields and gives usage examples. Could mention if the profile is for the latest available data, but not a major gap.

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 has one parameter 'symbol' with no description. The description adds semantic meaning by specifying 'Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT)', including examples of both Indian and US tickers. This compensates for the 0% schema description coverage.

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 'Get company overview and profile information' and lists specific return fields (name, sector, industry, etc.). Examples like company_profile('RELIANCE') show typical usage. Distinguishes from siblings by focusing on profile data rather than financial statements or market data.

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?

Provides examples but no explicit guidance on when to use versus alternatives like stock_quote, key_ratios, or other sibling tools. No 'when not to use' or alternative suggestions are given.

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

compare_stocks_toolA

Compare 2-5 stocks side by side.

Shows price, P/E, P/B, ROE, profit margin, revenue growth, debt/equity, dividend yield, beta, sector, and 52-week range for each stock in a comparison table format.

Args: symbols: Comma-separated stock symbols (2-5 stocks). e.g., "RELIANCE,TCS,INFY" or "AAPL,MSFT,GOOGL"

Examples: compare_stocks_tool("RELIANCE,TCS,INFY") โ†’ Compare 3 Indian IT giants compare_stocks_tool("AAPL,MSFT,GOOGL,AMZN") โ†’ Compare US tech compare_stocks_tool("HDFCBANK,ICICIBANK,SBIN,KOTAKBANK") โ†’ Compare banks

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It describes a read-only operation returning a comparison table, which is adequate but does not mention any specific behaviors beyond that.

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 header, list of metrics, and examples. Slightly verbose but still concise for the information provided.

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?

The description covers the output fields, parameter usage, and examples. Given the tool's simplicity and the presence of an output schema, it is complete.

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 sole parameter 'symbols' is explained with format (comma-separated, 2-5 stocks) and examples, adding 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 compares 2-5 stocks side by side and lists specific financial metrics displayed, distinguishing it from other stock-related tools like stock_screener or company_profile.

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 implies when to use (for side-by-side comparison) and provides examples, but lacks explicit guidance on when not to use or alternatives.

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

correlate_gst_to_stocksA

GST collection data โ†’ sector performance predictor.

Monthly GST figures (Finance Ministry, public) are a 1-3 month leading indicator for demand-sensitive sectors.

"GST from auto sector up 24% YoY โ†’ MSIL/Bajaj Auto historically follow in 2-3 months"

Sectors covered: Auto, FMCG, Real Estate, Cement, Steel, IT, Banking, Retail.

Args: sector: Sector name (e.g. "Auto", "FMCG", "Cement"). Use "all" for full cross-sector report.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the data source (Finance Ministry, public) and leading indicator behavior, but does not explicitly confirm it is read-only or describe any limitations like data freshness or accuracy.

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 succinct, with no wasted words. It front-loads the core concept, provides an example, and clearly separates sections for sectors and args.

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?

Given the presence of an output schema (so return values need not be described) and only one parameter, the description covers the tool's purpose, usage, and sector scope adequately. Minor gaps include lack of detail on the prediction methodology or confidence intervals.

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?

The parameter 'sector' lacks schema descriptions (0% coverage), but the description compensates by listing valid sector values (Auto, FMCG, etc.) and explaining the 'all' option for a full report. This adds significant meaning beyond the schema's default.

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 correlates GST data to sector performance as a leading indicator, with a concrete example ('GST from auto sector up 24% YoY โ†’ MSIL/Bajaj Auto historically follow in 2-3 months'). It distinguishes itself from sibling tools like sector_performance by specifying its predictive nature.

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 explains when to use the tool (for leading indicators based on GST data) and lists covered sectors. However, it does not explicitly state when not to use it or mention alternative tools, leaving some ambiguity.

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

credit_ratingsA

Credit ratings for an Indian listed company from SEBI-mandated exchange filings.

SEBI requires all rated instruments to disclose credit rating changes on NSE/BSE. Bloomberg charges $24,000/year to access this. SEBI makes it public. We surface it free.

Provides:

  • Rating agency (CRISIL, ICRA, CARE, India Ratings)

  • Current rating and rating action (upgraded/downgraded/reaffirmed)

  • Instrument type and rated amount

  • Outlook (stable/positive/negative/watch)

  • Filing date

Args: symbol: NSE stock symbol (e.g., RELIANCE, TATAMOTORS, ADANIENT)

Examples: credit_ratings("RELIANCE") โ†’ Reliance credit ratings from CRISIL/ICRA credit_ratings("ADANIENT") โ†’ Adani credit rating history and current outlook

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions data source (SEBI filings) and output fields, but omits details on data freshness, rate limits, error handling, or confirmation that it's read-only. Adequate but not comprehensive.

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, context, output list, args, and examples. It front-loads the core function. Some marketing language about Bloomberg pricing is non-essential but not harmful. Efficient overall.

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 single-parameter tool with an output schema, the description covers the main use case and output fields. It lacks notes on error cases or data limits, but the presence of an output schema reduces the burden. Reasonably complete.

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?

Schema coverage is 0%, but the description fully explains the 'symbol' parameter with examples (RELIANCE, TATAMOTORS, ADANIENT) and context (NSE stock symbol). This adds significant meaning beyond the 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 retrieves credit ratings for Indian listed companies from SEBI-mandated filings. It specifies the resource (credit ratings), context (Indian, SEBI), and distinguishes from sibling tools that deal with other financial data.

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 implies when to use this tool (need credit ratings, especially free alternative to Bloomberg) but does not explicitly contrast with siblings like company_profile or nse_quote that might also offer rating data. It provides clear context but lacks direct exclusions.

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

crypto_historicalA

Get historical cryptocurrency price data.

Args: symbol: Crypto ticker (e.g., BTC, ETH, SOL) period: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, max interval: 1m, 5m, 15m, 30m, 1h, 1d, 1wk, 1mo

Examples: crypto_historical("BTC", "1y", "1d") โ†’ Bitcoin 1 year daily crypto_historical("ETH", "3mo", "1wk") โ†’ Ethereum 3 month weekly

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1mo
symbolYes
intervalNo1d

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It fails to mention any traits like rate limits, data source, error handling, or read-only nature. The agent gains no insight beyond the basic functionality.

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 extremely concise, consisting of a single line plus a bulleted list of args and two examples. Every sentence serves a purpose, and the structure is front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, return values need not be explained. However, the description omits context like timezone, data source, or whether data is adjusted for splits/dividends. It is minimally complete for a simple historical data tool but leaves gaps.

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?

The input schema has 0% description coverage, so the description must compensate. It explicitly lists the three parameters (symbol, period, interval) and provides acceptable values and examples, which adds meaning beyond the schema's empty fields.

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 'Get historical cryptocurrency price data' with a specific verb and resource, and the examples further clarify the tool's purpose. It effectively distinguishes from siblings like crypto_price (current price) and stock_historical (stock data).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as crypto_price for live prices or stock_historical for stocks. The description does not mention scenarios or exclusions, leaving the agent to infer usage from the name alone.

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

crypto_priceA

Get live cryptocurrency price in USD.

Returns current price, 24h change, market cap, volume, and all-time high.

Args: symbol: Crypto ticker (e.g., BTC, ETH, SOL, XRP, DOGE, ADA, MATIC, DOT)

Examples: crypto_price("BTC") โ†’ Bitcoin live price crypto_price("ETH") โ†’ Ethereum live price crypto_price("SOL") โ†’ Solana live price

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It clearly states it returns live price, 24h change, market cap, volume, and all-time high. It implies a read-only, real-time operation. However, it does not disclose potential rate limits, data freshness guarantees, or authentication needs, which would elevate it to 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.

Conciseness4/5

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

The description is relatively concise: one sentence for purpose, one line for returned fields, and a brief args section with examples. It is front-loaded with key information. However, the three example lines could be condensed into a single sentence, making it slightly tighter.

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?

Given the tool has a single parameter and an output schema (mentioned in context signals but not displayed), the description adequately covers the use case. It lists key return fields and gives usage examples. It is sufficient for an agent to invoke correctly.

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?

The input schema has a single required string parameter 'symbol' with 0% description coverage. The description compensates well by explaining it is a crypto ticker and providing explicit examples (BTC, ETH, SOL, etc.), clarifying the expected format. This adds meaning beyond the schema alone.

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 'Get live cryptocurrency price in USD' with a specific verb and resource. The list of returned fields (price, 24h change, market cap, etc.) and the examples differentiate it from sibling tools like crypto_historical or stock_quote.

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?

The description provides examples of typical symbols (BTC, ETH, SOL) but does not explicitly state when to use this tool versus alternatives (e.g., crypto_historical for historical data). Usage is implied through context, but no direct guidance on when-not-to-use or alternatives.

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

detect_pumpA

Detect pump-and-dump operator activity in an NSE stock.

Scans for coordinated pump patterns:

  • Volume spike > 3x 20-day average

  • Price surge > 20% in 5 days without news

  • Multiple upper circuit days in last week

  • Micro/small cap (highest vulnerability)

"This microcap hit 3 upper circuits in a week โ€” 9 out of 10 times this reverses violently"

Returns:

  • pump_probability: low / medium / high / critical

  • red_flags: specific signals that fired

  • verdict + recommendation (exit / avoid / cautious)

Args: symbol: NSE symbol (most useful for small/micro caps)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

The description lists criteria scanned (volume spike, price surge, etc.), expected output (pump_probability, red_flags, verdict+recommendation), and includes a realistic example. This fully compensates for the lack of annotations.

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 clear sections: purpose, scan criteria, example, returns, and args. It is front-loaded with the key action. However, the inclusion of a quote and example adds some verbosity that could be trimmed for conciseness.

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?

For a single-parameter tool with an output schema (implied by 'Returns'), the description covers input, analysis logic, and output fields thoroughly. No critical gaps remain given the tool's complexity.

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?

With 0% schema description coverage, the description adds value by specifying 'NSE symbol (most useful for small/micro caps)', providing context beyond the schema's bare 'string' type. It could further specify format (e.g., 'RELIANCE') but is adequate.

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 'Detect pump-and-dump operator activity in an NSE stock' which is a specific verb+resource. It uniquely identifies the tool's purpose among many sibling tools, as no other tool explicitly targets pump-and-dump detection.

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 guidance on when the tool is most applicable by noting 'most useful for small/micro caps' in the args section. However, it does not explicitly compare to siblings or state when not to use it.

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

detect_unusual_activityA

Detect smart money and unusual activity for any NSE stock.

Scans 4 signals simultaneously: โ€ข Volume anomaly โ€” current volume vs 20-day average (flags 2x+) โ€ข Options OI โ€” strikes with 2x+ average open interest buildup โ€ข Block/bulk deals โ€” institutional buy/sell transactions on NSE โ€ข Promoter change โ€” QoQ shareholding increase (insider buying signal)

Returns an alert level (high/moderate/low/none) with specific findings.

Example output: "Unusual call OI at 3000 strike โ€” someone is positioning for a breakout" "Promoter increased holding by 2.3% QoQ โ€” insider buying signal"

Args: symbol: NSE stock symbol (e.g. RELIANCE, HDFC, TATAMOTORS)

Returns JSON with: - alert_level: high / moderate / low / none - verdict: human-readable summary - alerts: list of specific signals fired - findings: per-category details (volume, OI, deals, promoter)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It details the four signals and output format (alert level, verdict, alerts, findings), making behavior transparent. Does not mention permissions or side effects, but as a read-only monitoring tool this is acceptable.

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?

Well-structured with bullet points listing the four signals, an example output, and clear sections for args and returns. Every sentence adds value; no fluff.

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 presence of an output schema (not shown), the description adequately explains return fields. The tool is standalone and the description covers all essential aspects: inputs, signals, output, and example.

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?

Only one parameter (symbol) with 0% schema description coverage. The description adds examples (e.g., RELIANCE, HDFC) and clarifies it is an NSE stock symbol, compensating for schema lack.

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 it detects smart money and unusual activity for NSE stocks by scanning four specific signals. It is distinct from sibling tools like nse_insider_trading or nse_bulk_deals which cover only individual aspects.

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 implies when to use (to detect unusual activity) but does not explicitly state when not to use or mention alternative tools. However, it provides clear context for its composite nature.

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

dividend_historyA

Get historical dividend payments for a stock.

Returns past dividend dates and amounts, total dividends paid, average dividend, and latest dividend info.

Args: symbol: Stock ticker (e.g., ITC, COALINDIA, AAPL, MSFT)

Examples: dividend_history("ITC") โ†’ ITC dividend payment history dividend_history("COALINDIA") โ†’ Coal India dividends dividend_history("AAPL") โ†’ Apple dividend history

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It lists return values but lacks information on error handling, data coverage (e.g., all historical periods), or any prerequisites. Minimal extra context beyond the output schema.

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 concise and well-structured: a summary sentence, bullet-style return info, 'Args' section, and examples. No redundancy or fluff.

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?

Given one required parameter and an output schema, the description covers the tool's function adequately. It explains what is returned and provides examples. However, missing details like error responses or historical depth slightly reduce completeness.

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?

The single parameter 'symbol' is described as a stock ticker with examples (ITC, COALINDIA, AAPL, MSFT), adding significant meaning beyond the bare schema which has no property description. Schema coverage is 0%, so the description compensates well.

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: 'Get historical dividend payments for a stock.' It specifies the returned data (dates, amounts, totals, averages, latest) and differentiates from sibling 'dividend_history_deep' by implying this is the basic version.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool versus alternatives like 'dividend_history_deep' or other stock data tools. Examples are given but no explicit when-to-use or when-not-to-use criteria.

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

dividend_history_deepA

10-year dividend history with yield calculation and annual summary.

Bloomberg and FactSet charge for deep dividend history. yfinance has it free.

Provides:

  • Full dividend payment history (up to 60 entries)

  • Annual dividend totals per year (last 10 years)

  • Trailing 12-month dividend yield %

  • Total dividends on record

Args: symbol: NSE or global stock symbol (e.g., RELIANCE, TCS, INFY, AAPL)

Examples: dividend_history_deep("TCS") โ†’ TCS 10-year dividend history + yield dividend_history_deep("HDFCBANK") โ†’ HDFC Bank dividend track record

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

Discloses data source (yfinance), output structure (up to 60 entries, annual totals, trailing yield), and examples. No annotations provided, so description carries full burden; could mention rate limits or error handling but sufficient.

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?

Well-structured with sections (overview, benefits, output list, args, examples). Every sentence adds value, no fluff.

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?

Describes all key outputs (full history, annual totals, trailing yield, total dividends) and includes examples. Output schema exists but description is still thorough.

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?

Only parameter 'symbol' is explained with examples (NSE or global stocks like RELIANCE, TCS, AAPL). Schema has 0% description coverage, but description fully compensates.

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?

Description clearly states it provides 10-year dividend history with yield calculation and annual summary, listing specific outputs. It distinguishes from sibling 'dividend_history' by being 'deep' and mentioning data sources.

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

Usage Guidelines5/5

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

Explicitly contrasts with paid alternatives (Bloomberg/FactSet) and mentions free source (yfinance). Provides usage examples and context for when to use this tool (deep history vs basic).

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

earnings_calendarA

Get upcoming earnings dates for a stock.

Shows when a company is expected to report earnings, along with analyst estimates (EPS and revenue).

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL). Required.

Examples: earnings_calendar("RELIANCE") โ†’ When does Reliance report next? earnings_calendar("AAPL") โ†’ Apple earnings date

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Discloses that it returns earnings dates and analyst estimates (EPS and revenue). However, with no annotations, it does not mention any behavioral traits such as data source, rate limits, or scope (e.g., which exchanges). Adequate but could add context.

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?

Concisely structured with two paragraphs plus Args and Examples sections. The examples are helpful but slightly verbose; otherwise no wasted text.

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?

Given that an output schema exists, the description need not detail return values. It adequately explains the purpose and primary output (earnings dates and estimates) for a simple lookup tool.

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?

The schema provides 0% description coverage for the 'symbol' parameter. The description compensates by stating it is a stock ticker with examples (RELIANCE, AAPL) and noting it is required, adding significant meaning.

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 uses a specific verb ('Get') and resource ('upcoming earnings dates') and clearly distinguishes from sibling tools like predict_earnings and nse_quarterly_results by focusing on expected upcoming reports.

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?

Provides examples of usage but no explicit when-to-use or when-not-to-use guidance relative to sibling tools. Implies usage from examples but does not exclude alternatives like predict_earnings for forward-looking estimates.

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

evaluate_signal_qualityB

Lightweight evaluation / proof layer for the signal engine's price-action core.

Important:

  • this is an honesty tool, not a marketing gimmick

  • it does not claim the full live system has exactly this accuracy

  • it gives a defensible evaluation layer before making accuracy claims

Args: symbol: NSE symbol lookback_months: historical window for checkpoints holding_days: forward return horizon for hit evaluation

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
holding_daysNo
lookback_monthsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

The description discloses that this is not a claim of the full live system's accuracy and is meant as a defensible evaluation layer. However, with no annotations, it lacks details on safety (e.g., read-only nature), auth needs, or rate limits.

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 short and front-loaded with purpose, followed by important caveats and parameter list. No fluff, but the structure could be tighter with bullet points for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 parameters, one required) and existence of an output schema, the description provides moderate completeness. It covers limitations but omits behavior like whether the tool modifies state or requires specific permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It briefly explains lookback_months as 'historical window for checkpoints' and holding_days as 'forward return horizon for hit evaluation', but symbol is merely 'NSE symbol'. The semantics are minimal and could be more detailed.

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?

The description clearly states the tool evaluates signal quality, serving as a lightweight evaluation/proof layer for the signal engine's price-action core. It distinguishes itself by emphasizing honesty and defensibility, but could better differentiate from siblings like get_signal_accuracy.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description merely mentions it is an honesty tool and a proof layer, leaving usage context to inference. Given the many sibling tools, this is a significant gap.

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

finstack_infoB

Return basic server metadata and useful links.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as read-only nature, permissions, or side effects beyond stating what it returns.

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?

A single sentence that is efficient and front-loaded, containing no filler or redundant 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 zero parameters and the presence of an output schema, the description is complete enough to understand the tool's purpose and usage.

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?

There are zero parameters, so baseline 4 applies. The description does not need to add parameter info.

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?

The description clearly states the tool returns basic server metadata and useful links, specifying both verb and resource. However, 'basic server metadata' is somewhat vague and could benefit from more specificity, and it does not differentiate from siblings.

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

Usage Guidelines2/5

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

No usage context, exclusions, or alternatives are mentioned. With many sibling tools, this lack of guidance increases risk of incorrect selection.

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

forex_rateA

Get live forex exchange rate between two currencies.

Returns current rate, day's change, high/low, and 52-week range.

Args: from_currency: Source currency code (e.g., USD, EUR, GBP, AED, JPY) to_currency: Target currency code (default: INR)

Examples: forex_rate("USD", "INR") โ†’ US Dollar to Indian Rupee forex_rate("EUR", "INR") โ†’ Euro to Indian Rupee forex_rate("AED", "INR") โ†’ UAE Dirham to Indian Rupee forex_rate("USD", "EUR") โ†’ US Dollar to Euro forex_rate("GBP", "USD") โ†’ British Pound to US Dollar

ParametersJSON Schema
NameRequiredDescriptionDefault
to_currencyNoINR
from_currencyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

The description lists return fields (current rate, change, high/low, 52-week range) but does not disclose that it is a read-only operation, nor mention rate limits, error conditions, or data frequency. Since no annotations exist, the description carries the full burden but falls short of comprehensive disclosure.

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 concise and well-structured: a one-line purpose, a list of return fields, an Args section, and five examples. Every sentence adds value, and the front-loading makes it easy to scan.

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?

Given the simplicity of the tool and the presence of an output schema, the description covers essential aspects. It lists return fields and provides usage examples. However, it lacks error handling details (e.g., invalid currency codes) and data source information.

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?

The description provides clear parameter semantics in the Args section (e.g., source and target currency codes with examples) and lists a default for to_currency. This compensates for the schema's lack of descriptions (0% coverage). Additional validation hints (like valid codes) could improve it.

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: 'Get live forex exchange rate between two currencies.' It uses a specific verb and resource, and differentiates from sibling tools like stock_quote or crypto_price by focusing on forex.

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?

The description implies usage (when you need forex rates), but does not explicitly state when not to use it or suggest alternative tools. No guidance on prerequisites or context.

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

fyers_candlesB

Historical OHLCV candles from Fyers API v3.

interval options: 1m, 3m, 5m, 10m, 15m, 30m, 1h, 2h, 4h, 1d, 1w, 1mo

Args: symbol: NSE symbol (e.g. RELIANCE) interval: Candle interval (default: 1d) days: Number of days of history (default: 30)

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
symbolYes
intervalNo1d

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the tool returns historical OHLCV candles, but omits critical details like rate limits, authentication requirements, data freshness, error handling, or the return format. This is insufficient for a data retrieval tool.

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 reasonably concise, using a docstring format with a clear block for arguments. The list of interval options is necessary but slightly lengthy. Overall, every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (context signal), the description does not explain the return format or any data structure. It lacks details on date ranges, pagination, or potential limits. For a financial data tool with no annotations, the description is too sparse to be fully actionable.

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?

The schema has 0% description coverage, so the description must compensate. It does so by specifying that 'symbol' is an NSE symbol with an example (RELIANCE), listing all interval options, and clarifying 'days' as 'Number of days of history'. This adds meaningful semantic value 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 fetches historical OHLCV candles from the Fyers API v3, and lists the interval options and parameters. The name 'fyers_candles' distinguishes it from other candle tools like icici_candles or nse_historical, making the purpose unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as icici_candles or stock_historical. It does not mention prerequisites, limitations, or exclusions. The user is left to infer usage context from the tool name alone.

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

fyers_live_quoteA

Real-time NSE stock quote via Fyers API v3 (zero delay when configured).

Returns LTP, O/H/L/C, volume, change%, 52W high/low.

Setup: pip install fyers-apiv3 FYERS_APP_ID=... FYERS_ACCESS_TOKEN=... FYERS_CLIENT_ID=... Get credentials at https://myapi.fyers.in/

Args: symbol: NSE symbol (e.g. RELIANCE, TCS, INFY)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses 'zero delay when configured' as a behavioral trait, lists returned fields, and implies a read-only operation. However, it doesn't mention error behavior or data freshness guarantees beyond zero delay.

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 concise with a purpose sentence, output list, setup instructions, and parameter details. The setup section is slightly detailed but may be extraneous if the environment is already configured. Overall, no wasted sentences.

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?

Given an output schema exists, the description covers main return fields and setup. It lacks information on error handling, rate limits, or symbol validation, but for a simple live quote tool, it is mostly complete.

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?

The input schema has 0% description coverage, but the description provides parameter meaning: 'symbol: NSE symbol (e.g. RELIANCE, TCS, INFY)'. This adds clarity beyond the schema's type-only definition, though it could include more examples or accepted formats.

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 it provides 'real-time NSE stock quote via Fyers API v3' with specific output fields (LTP, O/H/L/C, volume, change%, 52W high/low). It distinguishes from siblings by specifying the Fyers API source, which sets it apart from other live quote tools like nse_quote or stock_quote.

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?

The description implies usage for NSE stocks via Fyers but does not explicitly state when to use this tool versus alternatives (e.g., nse_quote, bse_quote). No guidance on when not to use or prerequisites beyond setup credentials.

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

fyers_statusA

Check Fyers API v3 configuration status and setup instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only, requires authentication, or has any side effects. 'Check' suggests a read operation, but this is not explicit.

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 a single sentence of nine words, front-loaded with the key action and resource. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but adequate given zero parameters and the presence of an output schema. However, it lacks detail on what the status includes (e.g., connection status, API enabled) and no annotations are provided.

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?

The tool has zero parameters, and schema coverage is 100%. The description adds meaning by explaining the tool's purpose, meeting the baseline of 4 for zero-parameter tools.

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?

Description clearly states the tool checks Fyers API v3 configuration status and setup instructions. It uses a specific verb ('check') and resource ('Fyers API v3 configuration status and setup instructions'), distinguishing it from sibling tools like fyers_candles, fyers_live_quote, and broker_setup_status.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives such as broker_setup_status or icici_status. The description implies usage for Fyers status but does not state when not to use it or provide context for selection.

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

get_agm_briefA

AI briefing for upcoming AGM/EGM resolutions from NSE filings.

Flags unusual resolutions:

  • Large debt issuance (โ‚น500Cr+ raise)

  • Management salary hikes

  • Related-party transactions (promoter benefit risk)

  • New subsidiary creation (liability hiding risk)

  • Buyback cancellation (cash crunch signal)

  • Fresh equity (dilution)

  • Auditor resignation (serious red flag)

  • Promoter pledge approval

"This company is passing a resolution to raise โ‚น500Cr debt next week โ€” should you be worried?"

Args: symbol: NSE symbol (e.g. RELIANCE, ZEEL, ADANIENT)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It describes the output (flags unusual resolutions) but does not mention side effects, data sources, or limitations. The tool appears read-only, but this is not explicit.

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 structured with a summary, bullet points of flags, a contextual quote, and an Args section. While informative, it is somewhat lengthy; the bullet points and quote could be condensed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (not shown but presence noted), so return values are covered. The description explains purpose and flags but lacks usage guidelines and behavioral transparency. For a tool with one parameter, it is fairly complete but could be improved.

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?

The input schema has one required parameter 'symbol' with no description. The description adds examples (e.g., RELIANCE, ZEEL, ADANIENT) and context (NSE symbol), providing meaning beyond the schema. Schema coverage is 0%, so the description compensates well.

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 it provides an 'AI briefing for upcoming AGM/EGM resolutions from NSE filings' and lists specific flags (e.g., large debt issuance, management salary hikes). This distinguishes it from sibling tools like get_stock_brief or get_morning_brief, which cover different scopes.

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 implies use for pre-AGM/EGM analysis by listing scenarios like 'This company is passing a resolution to raise โ‚น500Cr debt next week.' However, it does not explicitly state when not to use or mention alternatives, though the context is clear.

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

get_budget_impactA

Historical Union Budget impact by year.

Returns key announcements, sector winners, sector losers, and market reaction from past Indian Union Budgets.

Available years: 2023, 2024, 2025

Args: year: Budget year as string (e.g. "2025", "2024", "2023")

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo2025

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It describes the output content but does not disclose behavioral traits such as read-only nature, authentication requirements, rate limits, or error handling. This is adequate but not comprehensive.

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 concise, front-loading the purpose and then detailing outputs and arguments. Each sentence adds value, and there is no redundant information.

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?

Given a simple single-parameter tool with an output schema, the description adequately covers what the tool does and its parameter. It does not mention pagination or error handling, but for this use case, it is sufficiently complete.

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?

The sole parameter 'year' has a default and is described with examples ('2025', '2024', '2023'), clarifying the expected format. With 0% schema description coverage, this adds necessary context, though it could explicitly state it refers to the fiscal year.

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 retrieves 'Historical Union Budget impact by year' and lists specific outputs (key announcements, sector winners/losers, market reaction). It distinguishes itself from the sibling 'analyze_budget_live' by focusing on historical data.

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?

The description implies usage for historical budget data but does not provide explicit guidance on when to use this tool versus alternatives like 'analyze_budget_live' or any exclusions. It lacks when-not-to-use instructions.

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

get_fii_retail_divergenceA

Detect FII vs retail divergence โ€” the highest-conviction signal in Indian markets.

When FII and retail move in OPPOSITE directions on the same stock:

  • FII buying + retail selling = institutional accumulation (BUY signal)

  • FII selling + retail buying = institutional distribution (SELL signal)

"FIIs bought โ‚น800Cr of HDFC Bank while retail was panic selling โ€” historically this means +18% in 3 months"

Based on public NSE shareholding disclosures (quarterly).

Args: symbol: NSE symbol (e.g. HDFCBANK, RELIANCE, TATAMOTORS)

Returns:

  • divergence_type, signal, confidence

  • interpretation + historical_implication

  • raw shareholding change data (FII, DII, retail QoQ)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It details the signal logic, data source (quarterly NSE shareholding), and return fields including divergence_type, signal, confidence, interpretation, historical_implication, and raw data. It does not mention any side effects or rate limits, but as a read-only analytical tool, the description is sufficient.

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 organized into clear sections: introduction, signal conditions, example quote, data source, and args/returns. While it includes an illustrative example, it is not overly verbose. It front-loads the main use case effectively.

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?

Despite having only one parameter, the description covers the tool's purpose, behavior, input format, and output details comprehensively. The presence of an output schema is noted, but the description still explains the return structure, making the tool fully understandable for an AI agent.

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 coverage is 0%, so the description must compensate. It explicitly defines the 'symbol' parameter as an NSE symbol and provides examples (HDFCBANK, RELIANCE, TATAMOTORS). This adds meaningful context beyond the schema's type-only definition.

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 explicitly states it detects 'FII vs retail divergence' and describes it as the 'highest-conviction signal in Indian markets'. It uses a specific verb 'Detect' and clearly distinguishes the resource (FII and retail divergence on stocks). Among siblings, this is unique.

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 explains when to use this tool: for detecting divergence between FII and retail actions. It provides a concrete example with HDFC Bank and mentions the data source (public NSE shareholding disclosures). However, it does not explicitly state when not to use it or mention alternative tools.

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

get_fno_trade_setupA

Build a clean NIFTY / BANKNIFTY options setup for intraday decisions.

This packages the strongest nifty-agent behavior into one MCP call: read trend, RSI, MACD, FII flows, PCR, VIX regime, and overnight context, then return one clear action:

  • BUY_CE

  • BUY_PE

  • NO_TRADE

Also returns:

  • confidence_pct

  • preferred ATM strike zone

  • approve_message

  • bull and bear factors

  • risk flags

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoNIFTY

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses outputs (action, confidence, strike zone, factors, risk flags) but does not mention data freshness, fallbacks, or any potential side effects. Sufficient but could be more transparent.

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?

Five sentences front-loaded with purpose, followed by output details. Generally concise but could tighten phrasing. No unnecessary words, but one or two sentences could be combined.

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 one optional parameter with default and an output schema, the description fully explains what the tool returns (action, confidence_pct, strike zone, approve_message, factors, risk flags). Appropriate for a decision support tool with limited parameters.

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?

Only one parameter 'symbol' with default 'NIFTY'. Schema description coverage is 0%, but the tool description explicitly states it works for 'NIFTY / BANKNIFTY', implying the parameter accepts these values. This adds meaning beyond the schema, though it could be more explicit.

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 builds an options setup for NIFTY/BANKNIFTY intraday decisions. It specifies the verb 'build', the resource 'options setup', and the scope (intraday, NIFTY/BANKNIFTY). It lists included indicators and outputs, making it distinct from sibling tools which focus on other data.

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 implies usage for intraday options decisions on NIFTY/BANKNIFTY. It lacks explicit when-not-to-use or alternative tools, but the context is clear. No explicit exclusions or comparisons to siblings.

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

get_insider_signalA

Insider trading pattern analysis from SEBI SAST disclosures (public).

Tracks promoter/director/KMP buy and sell transactions. Insiders buying their own stock = strongest possible conviction signal.

"When this CFO buys his own stock โ†’ average return is +23% in 6 months"

Returns:

  • signal: BUY / SELL / NEUTRAL

  • net_signal: accumulating / distributing / neutral

  • recent buy/sell transactions with person + designation

  • price change since last insider buy

Args: symbol: NSE symbol (e.g. RELIANCE, INFY, ZEEL)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided; description discloses data source (public SEBI SAST) and output fields but lacks details on read-only nature, error handling, rate limits, or data freshness. The performance claim adds context but is not a behavioral trait.

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 mostly concise and front-loaded with the purpose. However, the marketing-like sentence about conviction signal adds some verbosity. Overall well-structured.

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 one parameter and no annotations, the description adequately explains the output and usage. Missing details like return type or error handling but still sufficient for simple use.

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?

The single required parameter 'symbol' is explained with a clear description ('NSE symbol (e.g. RELIANCE, INFY, ZEEL)') and examples in the Args section, compensating for the 0% schema description coverage.

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 it performs 'Insider trading pattern analysis from SEBI SAST disclosures' and enumerates specific outputs (signal, net_signal, transactions). This distinguishes it from sibling tools like nse_insider_trading and get_signal_history.

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?

The description implies usage for assessing insider conviction but does not explicitly state when to use this tool versus alternatives. No mention of prerequisites or conditions.

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

get_mf_overlapA

Mutual fund overlap analyzer using public AMFI portfolio disclosures.

"Your HDFC Flexi Cap + Mirae Asset Large Cap have 68% overlap โ€” you're not diversified, you're holding the same stocks twice."

Supported funds include: HDFC Flexi Cap, Mirae Asset Large Cap, Parag Parikh Flexi Cap, Axis Bluechip, SBI Bluechip, Nippon Large Cap, Kotak Emerging Equity, Quant Small Cap, DSP Small Cap, Nifty 50 Index.

Returns:

  • overlap_pct: % of stocks common between both funds

  • common_stocks: list of shared holdings

  • unique_to_fund1, unique_to_fund2

  • verdict + risk level (low / medium / high)

Args: fund1: Fund name (e.g. "HDFC Flexi Cap") fund2: Fund name (e.g. "Mirae Asset Large Cap")

ParametersJSON Schema
NameRequiredDescriptionDefault
fund1Yes
fund2Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It transparently states the data source (public AMFI disclosures), lists supported funds, and describes the output fields. However, it does not disclose potential delays, data freshness, or any limitations (e.g., only Indian funds). Overall, it provides solid behavioral context.

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 appropriately sized and front-loaded with purpose. It includes a useful example and clearly structured argument information. It could be slightly more concise, but overall it is effective and well-organized.

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?

Given that there is an output schema, the description appropriately details return values (overlap_pct, common_stocks, etc.) without redundancy. It covers the main functionality but could mention error handling or unsupported fund cases. Overall, it is sufficiently complete for an analysis tool.

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 input schema only defines two string parameters with no descriptions (0% coverage). The description compensates fully by providing concrete examples (e.g., 'HDFC Flexi Cap') and listing supported fund names, which is critical for correct invocation. 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 it is a 'Mutual fund overlap analyzer' using public AMFI disclosures, with a specific verb ('analyzes') and resource ('overlap between mutual funds'). It lists supported funds and what it returns, distinguishing it from sibling tools like portfolio_analysis or mutual_fund_nav.

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?

The description provides an example of when to use the tool (checking diversification with an overlap example), but does not explicitly contrast it with alternative tools or state when not to use it. The usage context is implied but lacks explicit guidance on selection among siblings.

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

get_morning_briefA

8:15 AM pre-market brief for Indian traders.

Compiles in one call:

  • GIFT Nifty pre-market signal

  • India VIX fear index

  • Nifty direction probability (6-signal model)

  • FII net flow from yesterday

  • Top gainers / losers

  • Sector performance

  • Upcoming earnings today

  • Watchlist signals for top 5 Nifty stocks

Returns structured JSON + morning_text (ready to copy-paste or send via WhatsApp/email).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses the output format (structured JSON + morning_text) and lists the data components, but does not explicitly state read-only behavior, authentication needs, or data freshness. Without annotations, these gaps reduce transparency for an agent.

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 very concise, using a clear bullet list to enumerate components, and front-loads the key purpose. No wasted words, and the output format is described efficiently.

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?

The description covers the tool's purpose, the data components it includes, and the output format. Given the output schema exists, it need not detail return types. Minor gaps: no mention of data freshness or prerequisites, but largely complete.

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?

The tool has zero parameters, so the schema coverage is trivially 100%. The description appropriately omits parameter details, and no additional meaning is needed.

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 explicitly states the tool compiles a comprehensive pre-market brief for Indian traders, listing specific components. It is clearly differentiated from sibling tools like get_morning_fno_brief and get_stock_brief by its scope and timing.

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

Usage Guidelines2/5

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

The description implies use for pre-market briefing at 8:15 AM but does not explicitly state when to use this tool over alternatives or when not to use it. No exclusion criteria or comparisons to other briefs are provided, leaving the agent to infer from the name.

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

get_morning_fno_briefA

8:15 AM F&O-focused morning brief for NIFTY and BANKNIFTY traders.

Compiles in one call:

  • GIFT Nifty and India VIX

  • Nifty direction probability

  • NIFTY options setup

  • BANKNIFTY options setup

  • ready-to-send morning_text for Telegram / WhatsApp style delivery

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explains that the tool aggregates multiple data points into one call, which is transparent about its behavior. It does not mention any side effects or permissions, but for a read-only data retrieval tool, this is adequate.

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 concise, front-loaded with the core purpose, and uses a bullet list for clarity. Every sentence adds value with no wasted words.

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 has no parameters and a well-defined purpose (morning F&O brief), the description is complete. It covers all major return components, and an output schema exists for additional detail, though not provided here.

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?

The input schema has no parameters (empty properties), so schema coverage is 100%. The description adds meaning by detailing what the tool returns, fulfilling the baseline expectation for a parameterless tool.

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 it is an 'F&O-focused morning brief for NIFTY and BANKNIFTY traders' and enumerates the specific sections it compiles (GIFT Nifty, India VIX, etc.). This distinguishes it from sibling tools like 'get_morning_brief' and 'get_nifty_outlook'.

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 implies it is intended for morning preparations for F&O trading by listing its contents, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. The context is clear enough for an informed agent.

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

get_nifty_outlookA

Compute the probability that Nifty 50 closes UP in the next trading session.

Aggregates 6 market signals into a single % score: โ€ข RSI(14) โ€” overbought/oversold momentum โ€ข FII net flow (5d) โ€” institutional buy/sell pressure โ€ข Put/Call Ratio โ€” options market positioning (contrarian signal) โ€ข India VIX โ€” fear index (low=risk-on, high=fear) โ€ข G-Sec 10Y yield โ€” interest rate pressure on equities โ€ข GIFT Nifty โ€” overnight global pre-market signal

Returns JSON with: - probability_up: e.g. 67 (% chance Nifty goes up) - signal: "Bullish" / "Cautiously bullish" / "Neutral" / "Bearish" - bull_factors: list of signals supporting upside - bear_factors: list of signals supporting downside - inputs: raw values for all 6 signals

Example: "67% probability Nifty up tomorrow โ€” FII buying + low VIX but overbought RSI"

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description fully discloses the tool's behavior: it aggregates six specified signals, returns a probability and supporting factors, and provides raw inputs. It does not mention latency or failure conditions, but for a read-only, parameterless tool, the transparency is thorough.

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 lead sentence, bullet points for signals, and an example. It is slightly verbose in signal explanations but remains focused and front-loaded.

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?

Description fully accounts for no parameters, provides complete output schema details (fields and example), and explains all six signals. The tool's behavior is fully specified given its simplicity and available structured information.

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?

There are zero parameters, so the baseline score is 4. The description does not need to add parameter semantics, and it correctly omits any parameter discussion.

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 that the tool computes the probability of Nifty 50 closing up in the next session by aggregating six market signals. This specific verb-resource combination ('get nifty outlook') differentiates it from sibling tools like gift_nifty, nifty_index, or individual signal tools.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus its many siblings (e.g., gift_nifty, nifty_pcr_trend, get_signal_accuracy). The description does not indicate scenarios where this aggregated outlook is preferred over individual signal analysis.

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

get_pledge_alertA

Promoter pledge early warning for an NSE stock.

Checks current pledge % and QoQ change velocity. Risk levels: safe (< 10%) / watch (rising) / danger (> 30%) / critical (> 50%)

"Caught 3 stocks before they fell 40% โ€” promoter was pledging shares"

Risk: When promoters pledge shares as collateral for loans, a falling stock price can trigger margin calls โ†’ forced selling โ†’ crash.

Args: symbol: NSE symbol (e.g. ADANIENT, ZEEL, any stock)

Returns:

  • pledge_pct, pledge_change_qoq

  • risk_level: safe / watch / danger / critical

  • alert: specific warning message

  • historical: last 4 quarters of pledge data

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, but the description explains the tool's logic (checks pledge % and QoQ change), defines risk levels, and describes the return fields. It adds context about the margin call risk. However, it does not explicitly state it is a read-only operation.

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 informative with sections for purpose, risk levels, example, and returns. It is slightly verbose but each sentence adds value and the key information is front-loaded.

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 simple tool with one parameter and no annotations, the description covers purpose, parameters, return fields, and risk context. It is complete enough for an agent to invoke correctly, though it lacks mention of error handling or limitations.

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 single parameter 'symbol' is described as 'NSE symbol (e.g. ADANIENT, ZEEL, any stock)', which adds meaning beyond the schema's title. With 0% schema description coverage, the description fully compensates.

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 it provides 'Promoter pledge early warning for an NSE stock' and explains it checks pledge percentage and QoQ change velocity, with defined risk levels. This differentiates it from siblings like 'promoter_pledge' (raw data) and 'scan_pledge_risks' (scanning multiple stocks).

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?

The description implies usage for a single stock early warning but does not explicitly state when to use this versus siblings like 'promoter_pledge' or 'scan_pledge_risks'. No when-not-to guidance is provided.

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

get_sebi_alertsB

SEBI enforcement order tracker โ€” early warning before regulatory crash.

Fetches recent SEBI orders and classifies by severity and sector. High-severity actions (fraud, manipulation, debarment) historically precede 15-30% corrections in the affected stock.

"SEBI filed 3 orders against this sector this week โ€” historically precedes 15% correction"

Args: sector: Filter by sector (e.g. "Banking", "SME/Micro", "Broking"). Use "all" for full report.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description must convey behavior. It adds context about severity classification and historical significance, but lacks details on read-only nature, error handling, or rate limits. The description adds some value beyond structural elements.

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?

The description is moderately concise but includes a promotional quote and example that add length without critical information. It could be more streamlined while retaining essential guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description covers purpose and parameter usage. However, it does not describe output format or specify behavior for invalid inputs, leaving some gaps. Generally adequate but not fully comprehensive.

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?

The input schema only defines the 'sector' parameter with a default. The description expands with examples ('Banking', 'SME/Micro', 'Broking') and clarifies that 'all' provides full report. Since schema coverage is 0%, the description compensates well.

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?

Description clearly states the tool fetches SEBI orders and classifies them by severity and sector, with a purpose of early warning. However, it does not explicitly distinguish from sibling tools, though no sibling seems directly analogous.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies use for monitoring regulatory actions but does not mention when not to use or suggest other tools, leaving the agent without clear decision context.

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

get_sector_peer_contextA

Sector and peer context for a stock.

Shows:

  • likely peer basket

  • peer rank

  • valuation vs peers

  • sector performance context

Args: symbol: NSE symbol (e.g. RELIANCE, HDFCBANK, INFY)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It lists what the tool shows but does not disclose data source, update frequency, or any side effects. For a read-only tool, this is adequate but could be more transparent.

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?

Description is concise, uses bullet points effectively, and includes example usage. Every sentence adds value with no redundancy.

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 one parameter and output schema present, description adequately covers inputs and outputs. However, it could briefly explain the output structure (e.g., JSON fields) for completeness.

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?

Schema coverage is 0%, but description adds 'NSE symbol' and examples (RELIANCE, HDFCBANK, INFY). This provides essential meaning beyond the schema's type and title.

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?

Description clearly states 'Sector and peer context for a stock' and lists specific outputs (peer basket, rank, valuation, sector context). This distinguishes it from siblings like sector_performance (overall sector) and compare_stocks_tool (comparison).

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?

Description implies usage for obtaining peer and sector context, but does not explicitly state when to avoid or provide alternatives. Context is clear but lacks explicit guidance on exclusions.

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

get_signal_accuracyA

Show how accurate FinStack signals have been โ€” backed by real outcome data.

Signals are logged automatically every time get_stock_brief or get_stock_debate runs. After 7 days, the actual stock price is checked and outcomes are labelled correct / wrong / neutral.

Use this to:

  • Prove to users/investors that the signals work

  • Find which signal source (brief vs debate) is more accurate

  • Find which stocks the model reads best

Args: source: filter by source โ€” 'brief', 'debate', 'score', or '' for all symbol: filter by NSE symbol, or '' for all stocks days: look-back window in days (default 30)

Returns: Accuracy %, avg 7-day return, breakdown by signal type, top symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
sourceNo
symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Explains how signals are logged and checked after 7 days. Discloses return fields (accuracy %, avg return, breakdown). No annotations provided, so description carries burden well.

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?

Well-structured: purpose first, then mechanism, use cases, args, returns. Every sentence adds value, no redundancy.

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?

Covers purpose, mechanism, use cases, param details, and return values. Output schema exists, so return details are sufficient. All aspects addressed for an analysis tool.

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?

Adds meaning to all 3 parameters (source filters with allowed values, symbol as NSE, days as look-back). Schema has 0% coverage, so description compensates effectively.

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?

Clearly states the tool shows accuracy of FinStack signals backed by real outcome data. Differentiates from siblings like get_signal_history by focusing on accuracy metrics.

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 explicit use cases (prove accuracy, compare sources, find best stocks). Lacks explicit when-not-to-use or alternatives, but context is clear.

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

get_signal_historyA

View recent signals logged by FinStack with their actual outcomes.

Each row shows: symbol, signal (BUY/HOLD/SELL), price at signal time, 7-day actual return, and outcome label (correct/wrong/neutral).

Use this to audit the model, build trust with users, or export for analysis.

Args: symbol: NSE symbol to filter (e.g. RELIANCE), or '' for all limit: number of rows to return (default 20, max 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

The verb 'view' implies read-only, but without annotations, the description does not explicitly state non-destructive behavior or potential side effects like rate limits or data latency.

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?

Well-structured with a brief purpose, row format description, usage advice, and arg list. A minor improvement could be merging the first two sentences for conciseness.

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?

With an output schema present, the description adequately covers tool behavior, argument details, and usage context. No gaps for the given complexity.

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?

Despite 0% schema description coverage, the description fully compensates by explaining both parameters: symbol (NSE symbol or empty string for all) and limit (default 20, max 100), adding value beyond the 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?

Clearly states it retrieves recent signals with actual outcomes, distinguishing from sibling tools like check_signal_outcomes and get_signal_accuracy by focusing on logged history and outcome labels.

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 explicit use cases: audit the model, build trust, export. However, it does not mention when not to use this tool or explicitly name alternatives among siblings.

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

get_social_sentimentA

Analyze social media sentiment for any NSE stock using Reddit + Twitter.

Scrapes up to limit posts from r/IndiaInvestments, r/DalalStreetTalks, and Twitter/X, classifies each as bullish/bearish/neutral, extracts key themes, and returns a BUY/HOLD/SELL signal with confidence level.

Falls back to yFinance news headlines if social APIs are not configured.

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, INFY) limit: Max posts to analyze (default 100, max 200)

Returns JSON with: - bullish_pct / bearish_pct / neutral_pct - signal (BUY / HOLD / SELL) - confidence (low / medium / high) - key_themes: top recurring topics in the posts - summary: single-line readable summary - sample_posts: top 5 posts with sentiment tag

Setup (optional, for real social data): pip install praw tweepy REDDIT_CLIENT_ID=... REDDIT_CLIENT_SECRET=... TWITTER_BEARER_TOKEN=...

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided; description explains scraping, classification, signal generation, and fallback behavior. Does not discuss rate limits or potential errors, but covers main behavioral aspects.

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?

Well-structured with front-loaded summary, but includes lengthy setup instructions; could be slightly more concise.

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 input, output, fallback, and setup. Lacks details on error handling or invalid inputs, but overall sufficient for the tool's complexity.

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?

Schema coverage is 0%, but description explains symbol as NSE stock symbol and limit with default 100 and max 200, adding significant value beyond 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?

Clearly states it analyzes social media sentiment for NSE stocks using Reddit and Twitter, specifies subreddits and fallback, and distinguishes from siblings like market_news.

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?

Implies usage for sentiment analysis but lacks explicit when-to-use alternatives. Mentions fallback to yFinance if social APIs not configured, providing context.

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

get_stock_briefA

Multi-agent AI stock brief: 6 personas debate whether to BUY, HOLD, or SELL.

Like a Rs500Cr fund meeting, 6 different experts analyse the same stock from their angle and reach a consensus using real Indian market data:

  • FII Desk: institutional flows, promoter holding, FII %

  • Algo Trader: RSI, MACD, VWAP, volume anomaly

  • Value Investor: P/E, ROE, debt ratio, credit rating

  • Retail Pulse: news tone, 52W position, India VIX

  • Macro Analyst: RBI rates, CPI inflation, G-Sec yields

  • Options Flow: PCR, max pain, OI skew

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, HDFCBANK)

Returns JSON with: - consensus: {signal, strength, votes, disagreement} - debate: [{agent, verdict, argument, one_liner}] - the 6-way debate - agents_detail: full data + reasoning per agent

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description fully discloses the behavior: it runs 6 expert personas, returns consensus and debate data, and uses Indian market data. It does not mention rate limits or auth, but the read-only nature is clear.

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 bullet points for agents and clear Args/Returns sections. It is somewhat lengthy but every sentence adds value. Front-loaded with the core concept.

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?

Given the output schema exists, the description adequately covers the return structure. It lacks details on error handling or edge cases, but for a simple parameter tool, it is sufficiently complete.

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?

Schema coverage is 0%, but the description explicitly explains the single parameter 'symbol' with examples (e.g., RELIANCE, TCS, HDFCBANK), adding full meaning beyond the 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 it is a multi-agent AI stock brief with 6 personas debating BUY, HOLD, or SELL, using real Indian market data. This distinctively separates it from siblings like get_stock_debate and stock_quote.

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?

The description implies use when a consensus from multiple perspectives is desired, but does not explicitly state when to use this tool versus alternatives like get_stock_debate or get_nifty_outlook. No when-not conditions or alternatives are mentioned.

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

get_stock_debateA

3-round sequential debate: AI agents read each other's arguments and rebut.

Unlike get_stock_brief (parallel analysis), this runs a live debate: Round 1 - Each agent analyses independently Round 2 - Each agent reads all other Round 1 verdicts and can change mind Round 3 - Final lock-in with closing statement

Watch for "minds_changed" - when agents flip verdict mid-debate, it signals a complex setup worth closer attention.

Also returns "debate_edges" - who influenced whom - consumable by the AgentBattle canvas visualisation.

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, HDFCBANK)

Returns JSON with: - rounds: {round1, round2, round3} - full transcript - debate_edges: [{from, to, type, text}] - influence graph - minds_changed: how many agents revised their verdict - final_consensus: {signal, strength, votes, note}

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Describes the full 3-round process, agent interactions, and all return fields (rounds, debate_edges, minds_changed, final_consensus). No annotations, but description carries the burden well, though it omits prerequisites or rate limits.

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?

Well-structured with bullet points and section headers. Front-loaded with purpose. Every sentence adds value, no fluff. Appropriate length for the complexity.

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 all major aspects: rounds, influence graph, consensus. Mentions visualization use case. Lacks error details or preconditions, but for a debate tool this is sufficient.

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 only parameter 'symbol' has 0% schema description coverage, but the description adds examples and clarifies it's an NSE symbol. Adds some value beyond the schema, but not extensive detail.

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?

Clearly states '3-round sequential debate' and distinguishes from sibling get_stock_brief. Uses specific verb 'runs a live debate' and describes resource (stock symbol) with detailed round mechanics.

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?

Explicitly contrasts with get_stock_brief (parallel analysis) and advises watching for minds_changed to identify complex setups. Could be more explicit about when not to use, but provides clear context.

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

get_stock_signal_scoreB

Automation-friendly stock ranking score built from FinStack signals.

Combines:

  • multi-agent consensus

  • smart money activity

  • social sentiment

  • promoter pledge risk

  • insider signal

  • technical momentum

  • peer / sector context

  • earnings setup

Returns:

  • signal_score: 0-100

  • signal: BUY / HOLD / SELL

  • automation_rank

  • top_supports / top_risks

  • full component breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided. The description only lists components and outputs, lacking disclosure of behavioral traits like read-only nature, permissions, rate limits, or any side effects. As a data retrieval tool, it is likely read-only, but this is not stated.

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?

Description is a bullet list, front-loaded with the main result. It includes detailed component names, which could be seen as slightly verbose but still reasonably concise. Every element adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists (not shown) so return values are covered. Description lists return fields adequately for a scoring tool. However, it lacks usage context and does not guide the agent on when this composite score is appropriate compared to other tools.

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?

Only one parameter 'symbol' with no schema description (0% coverage). However, the meaning is obvious (stock ticker). The description does not add further meaning, but for a single, clear parameter, this is acceptable.

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 it returns a stock ranking score (0-100) with signal, automation_rank, top supports/risks, and full component breakdown. It differentiates from sibling tools like get_stock_brief or technical_indicators by being a composite score from multiple signals.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Among siblings, there are many analysis tools (check_signal_outcomes, evaluate_signal_quality, get_signal_accuracy) but the description provides no context for selection.

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

get_stock_timelineA

Unified stock timeline: news, results, insider, bulk deals, sentiment, pledge, smart money.

This is the "what changed recently?" tool for a stock.

Args: symbol: NSE symbol (e.g. RELIANCE, HDFCBANK, TCS) max_events: max timeline events to return

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
max_eventsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits such as data freshness, pagination, rate limits, or error handling. While it is a read operation, the description fails to add context beyond listing event categories.

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 extremely concise: a one-line purpose statement, a one-line usage hint, and a two-line Args section. No redundant or extraneous words, earning its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so missing return value details are excusable. However, the description lacks specifics on event ordering, date range scope, or the precise type of events included beyond the listed categories. It is adequate but incomplete for a timeline tool.

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?

The description includes an explicit Args block explaining 'symbol: NSE symbol (e.g. RELIANCE, HDFCBANK, TCS)' and 'max_events: max timeline events to return', adding meaning beyond the schema's raw property names and types. The default for max_events is noted in the schema but clarified in context.

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 'Unified stock timeline: news, results, insider, bulk deals, sentiment, pledge, smart money' and identifies it as the 'what changed recently?' tool for a stock. This verb+resource combination distinguishes it from sibling tools.

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?

The description implies usage for recent changes but offers no explicit guidance on when to use this tool versus alternatives like nse_quarterly_results or nse_insider_trading. No direct exclusion criteria or when-not-to-use are provided.

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

get_telegram_trackerA

Dalal Street Telegram signal tracker.

Compares 50 public Indian stock tip channels by accuracy %, average return %, and pump-and-dump probability.

"I tracked 50 Indian stock tip channels for 30 days โ€” here's which ones are scamming you"

Works out of the box with curated channel database. Enable live tracking with: pip install telethon + TELEGRAM_API_ID/HASH/PHONE

Args: channel: Specific channel handle (e.g. "@NSEBSEtips"). Leave empty for full comparison database.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It indicates the tool is a comparison (read-only) operation and mentions live tracking as an enhancement, but does not disclose potential side effects, authentication requirements for the base database, or data freshness. The behavioral traits are adequate but not fully transparent.

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?

The description includes a front-loaded purpose and inline argument documentation, but contains a verbose tweet-like quote ('I tracked 50 Indian stock tip channels for 30 days...') that adds little value and increases length. While efficient in parts, the fluff reduces conciseness.

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?

Given the tool's simplicity (one optional parameter, no required params, output schema provided), the description covers the key usage scenarios, parameter behavior, and optional live tracking setup. It lacks error handling details or data freshness notes, but is largely complete for an agent to invoke 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?

Schema description coverage is 0%, and the description fully compensates by explaining the only parameter 'channel': it specifies the format (handle with @, e.g., '@NSEBSEtips') and the behavior when left empty (full comparison database). This adds complete meaning beyond the schema's default and type.

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 identifies the tool as a Telegram signal tracker that compares 50 Indian stock tip channels by accuracy, average return, and pump-and-dump probability. This verb+resource definition is specific and distinguishes it from sibling tools like 'get_signal_accuracy' or 'detect_pump', which focus on different aspects.

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?

The description implies usage for comparing Telegram stock tips and provides optional live tracking setup, but lacks explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or scenarios where another tool would be better, such as for individual signal analysis.

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

gift_niftyA

GIFT Nifty pre-market data + overnight global indices for Indian market preview.

Bloomberg charges for global futures data. This is free.

Provides:

  • Nifty 50 last close and change

  • Global indices overnight performance (S&P 500, Dow, NASDAQ, Hang Seng)

  • Market status from NSE

  • Links to live GIFT Nifty sources

Examples: gift_nifty() โ†’ Pre-market global sentiment + Nifty reference

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool is free and provides links to live sources, but does not discuss rate limits, data freshness, or any constraints. It also does not describe what happens if data is unavailable. Adequate but leaves important behavioral traits undisclosed.

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 summary sentence, a note about cost, a bullet list of outputs, and an example. It is somewhat lengthy but every sentence adds value. Could be slightly more concise, but overall effective.

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 zero parameters and the presence of an output schema, the description covers all necessary aspects: what data is returned (Nifty close/change, global indices, status, links) and the context (pre-market, free). It is complete for a data retrieval tool with no inputs.

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?

The tool has zero parameters, so the baseline is 4. The description adds no parameter information because there are none, which is acceptable. No schema detail beyond the empty schema is needed.

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 that the tool provides GIFT Nifty pre-market data and overnight global indices for Indian market preview. It lists specific outputs: Nifty 50 close/change, global indices (S&P 500, Dow, NASDAQ, Hang Seng), market status, and links. This distinguishes it from siblings like nifty_index (which likely provides only Nifty data) and nse_market_status (which only shows NSE status).

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 implies usage for pre-market analysis by mentioning 'pre-market data' and 'overnight global indices'. It also notes that Bloomberg charges for similar data, positioning this tool as a free alternative. However, it does not explicitly state when to avoid using this tool or name specific alternatives among the many sibling tools, which would strengthen guidance.

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

icici_candlesA

Historical OHLCV candles from ICICI Breeze API.

interval options: 1m, 5m, 30m, 1h, 1d

Args: symbol: NSE symbol (e.g. RELIANCE) interval: Candle interval (default: 1day) days: Number of days of history (default: 30)

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
symbolYes
intervalNo1day

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states it returns OHLCV data but lacks details on rate limits, authentication, error handling, or behavior with invalid inputs.

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?

Description is concise with two short paragraphs; first states purpose and interval options, second lists parameters. Every sentence contributes necessary information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need not be described. However, tool lacks behavioral context and usage comparison with siblings. Adequate for basic use but missing guidance for choosing among similar tools.

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 has no parameter descriptions (0% coverage). Description compensates by explaining symbol format, interval options (1m,5m,30m,1h,1d), and days default, adding clear context beyond the 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 it provides historical OHLCV candles from ICICI Breeze API, specifying interval options and parameter details. It differentiates from sibling tools like fyers_candles and nse_historical by naming the data source.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. It lists interval options and defaults but does not mention when-not to use or compare with other historical data tools.

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

icici_live_quoteA

Real-time NSE quote via ICICI Breeze API (zero delay when configured).

Returns LTP, O/H/L, previous close, volume, change%.

Setup: pip install breeze-connect ICICI_API_KEY=... ICICI_API_SECRET=... ICICI_SESSION_TOKEN=... Session token refreshed daily: ICICIdirect app โ†’ My Account โ†’ Generate API Session

Args: symbol: NSE symbol (e.g. RELIANCE, TCS, HDFCBANK)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries the full burden. It discloses return values (LTP, O/H/L, previous close, volume, change%), real-time nature, and setup requirements including authentication and daily session token refresh. Missing details on rate limits or error handling, but overall strong.

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, return values, and setup instructions. The setup information is lengthy but still front-loaded. Some text could be considered extraneous for a tool description, but it remains efficient and informative.

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?

Given the tool has an output schema, return values are covered. The description provides sufficient behavioral context for a single-parameter real-time quote tool with authentication needs. Sibling tools are many, but the name and description make its niche clear.

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?

Only one parameter 'symbol' with 0% schema description coverage. The description compensates by specifying it expects an NSE symbol and provides examples (RELIANCE, TCS). This adds meaningful context beyond the schema's bare name. Could be improved by noting case sensitivity or format.

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 it provides 'Real-time NSE quote via ICICI Breeze API' and specifies 'zero delay when configured'. The tool name 'icici_live_quote' together with the description distinguishes it from siblings like nse_quote and fyers_live_quote.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it is for NSE real-time quotes via ICICI, but does not mention when not to use it or point to sibling tools like nse_quote or bse_quote.

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

icici_statusA

Check ICICI Breeze API configuration status and daily session token instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so the description must fully disclose behavior. It mentions checking status and token instructions but does not clarify side effects, authentication requirements, or whether the operation is read-only. This is insufficient for a setup tool.

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 a single sentence that conveys the essential purpose without extraneous words. It is well front-loaded and earns its 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?

Given no parameters and the presence of an output schema, the description covers the core purpose. It could benefit from mentioning that the output includes configuration status and token details, but the output schema likely fills this gap. Slightly incomplete but still effective.

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?

No parameters exist, and schema coverage is 100%. The description logically adds no parameter info, but nothing is missing. Baseline score of 4 is appropriate for a parameterless tool.

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 checks ICICI Breeze API configuration status and provides daily session token instructions. This specific verb-resource pairing distinguishes it from sibling tools like icici_candles (price data) and icici_live_quote (real-time quotes).

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?

No explicit guidance on when to use this tool versus alternatives (e.g., broker_setup_status, fyers_status). The description implies it is a prerequisite for other ICICI tools but does not state this. Score is adequate but lacks clarity.

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

income_statementA

Get income statement (Profit & Loss) for a company.

Returns revenue, COGS, gross profit, operating income, net income, EPS, EBITDA, and other P&L line items.

Works for both Indian (NSE/BSE) and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT) quarterly: If True, returns quarterly data. If False (default), annual data.

Examples: income_statement("RELIANCE") โ†’ Reliance annual P&L (last 4 years) income_statement("TCS", quarterly=True) โ†’ TCS quarterly P&L income_statement("AAPL") โ†’ Apple annual P&L

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
quarterlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries full weight. It discloses the returned data categories, parameter effects (quarterly vs. annual), and includes examples illustrating the output structure. It does not mention limitations like data range or rate limits, but the disclosure is sufficient given the tool's read-only nature.

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 concise, well-organized with sections for overview, args, and examples. Every sentence adds value, and the format is easy to parse.

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 has an output schema (not shown but present), the description complements it by listing typical line items. It covers the tool's capabilities, parameters, and usage examples, making it complete for an agent to understand and invoke 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?

Schema coverage is 0%, but the description fully explains both parameters: symbol (stock ticker with examples) and quarterly (boolean for quarterly/annual data) with examples. This adds complete meaning beyond the bare schema.

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?

The description clearly states it retrieves an income statement (P&L) and lists key line items. It does not explicitly distinguish from sibling tools like balance_sheet or cash_flow, but the name and content make the purpose unmistakable.

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?

The description provides examples and states compatibility with Indian and US stocks, giving implicit usage context. However, it does not specify when to prefer this tool over siblings or when not to use it.

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

india_gsec_yieldsA

India Government Securities (G-Sec) yield curve: 91-day T-bill to 30-year bond.

Bloomberg Terminal charges $31,980/year for government bond data. RBI and CCIL publish India G-Sec yields free.

Provides:

  • 91-day, 182-day, 364-day T-bill yields

  • 5-year, 10-year, 30-year G-Sec yields

  • Real interest rate (World Bank)

  • Live data source links (CCIL, RBI)

Examples: india_gsec_yields() โ†’ Current India government bond yield curve

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It lists returned data but does not disclose update frequency, freshness, rate limits, or authentication needs. More behavioral context is needed.

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?

Description is somewhat lengthy with bullet points and a Bloomberg comparison. It starts with purpose but includes extra information that could be trimmed. Structure is adequate but not optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema, the description covers purpose and data returned. However, it lacks behavioral transparency (e.g., data freshness), leaving some gaps. Basic completeness but not thorough.

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?

No parameters exist, so schema coverage is trivial. Baseline for 0 params is 4. The description adds value by specifying what the tool returns, but no parametric explanation needed.

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 identifies the tool as fetching India G-Sec yields, listing specific maturities and additional data. It distinguishes from siblings as no other tool in the list appears to provide G-Sec yields.

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 implies this is the tool for G-Sec yields by comparing with Bloomberg cost and mentioning free sources. However, it does not explicitly state when not to use or name sibling alternatives, though none exist.

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

india_macro_indicatorsA

India macroeconomic indicators: CPI inflation, GDP growth, current account, unemployment.

Bloomberg and Refinitiv charge $24,000โ€“$32,000/year for macro data access. World Bank publishes India macro data free โ€” we surface it here.

Provides:

  • CPI inflation (latest and previous year)

  • GDP growth rate

  • Current account balance as % of GDP

  • Unemployment rate

  • Gross capital formation

  • RBI inflation target and tolerance band

Examples: india_macro_indicators() โ†’ Latest India macro data from World Bank

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the data source (World Bank) and that it is free, but does not disclose data freshness, update frequency, rate limits, or what happens if data is unavailable. The list of provided metrics is useful but behavioral traits are largely missing.

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?

The description is reasonably structured with a clear first line and bullet list, but the pricing paragraph ('Bloomberg and Refinitiv charge...') is extraneous for tool selection and adds length. The example is helpful. It could be more concise.

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?

Given zero parameters and an existing output schema, the description adequately explains what the tool returns and its source. It lists all indicators and includes a usage example. Minor gaps: units of measurement are not mentioned, but overall the description is sufficient for a simple data retrieval tool.

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?

The tool has zero parameters, and the input schema coverage is 100%. The description adds value by enumerating the specific indicators returned, which is beyond what the schema provides. With no parameters, a baseline of 4 is appropriate.

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 it provides India macroeconomic indicators from the World Bank, listing specific indicators like CPI inflation, GDP growth, current account, etc. It distinguishes itself from siblings (e.g., rbi_policy_rates, india_gsec_yields) by covering a broad set of macro data.

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?

The description implies it is for general macro data retrieval, exemplified by 'india_macro_indicators() โ†’ Latest India macro data'. However, it does not explicitly state when to use this vs. other macro tools like rbi_policy_rates or india_gsec_yields, nor does it mention when not to use it.

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

india_vixA

India VIX โ€” the NSE fear/volatility index with history and signal.

Trendlyne charges for historical India VIX data. NSE publishes it free via ^INDIAVIX.

Provides:

  • Current VIX level and daily change

  • Signal: low fear / elevated / panic zone

  • 30-day high, low, average

  • Full daily history for the requested period

  • Interpretation guide (what VIX levels mean for markets)

Args: days: Lookback period in days (default 30)

Examples: india_vix() โ†’ Current India VIX with signal and 30-day history india_vix(90) โ†’ 90-day VIX history for trend analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses the tool's read-only nature, data sources, and output contents (signal zones, history). It does not mention rate limits or authentication, but the scope is appropriately transparent for a data-fetching tool.

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 concise yet complete, with a clear summary, bullet-pointed outputs, parameter definition, and examples. Every sentence serves a purpose without redundancies.

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?

Given the tool's simplicity and the presence of an output schema, the description covers the essential behavioral aspects. The bulleted outputs and interpretation guide provide sufficient context for an agent to understand the tool's capabilities.

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?

The description explains the sole parameter 'days' as lookback period with default, compensating for the 0% schema description coverage. This adds meaningful context beyond the raw 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 retrieves India VIX data, including current level, change, signal zones, history, and interpretation. It distinguishes itself from sibling tools like nifty_index or india_macro_indicators by focusing specifically on the volatility index.

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 context on data source (NSE free, Trendlyne charges) and usage examples. It does not explicitly contrast with alternatives, but the specialization makes it clear when to use this tool.

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

ipo_calendarA

Get upcoming and recent IPOs on NSE.

Shows company name, price band, dates, issue size, and status.

No arguments needed.

Examples: ipo_calendar() โ†’ What IPOs are coming up?

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations provided. The description uses 'Get' implying a read operation, but does not explicitly state that it is safe or has no side effects. With no annotations, the description should more clearly indicate behavioral traits like read-only or any constraints.

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?

Extremely concise: three sentences plus an example. Front-loaded with purpose, 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?

Covers the tool's output fields and scope. Output schema exists to document return values. Could add clarity on the time range for 'upcoming and recent', but overall sufficient for a zero-parameter tool.

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?

No parameters exist; baseline score of 4 applies. Description adds no parameter info because none are needed.

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?

Clearly states it gets upcoming and recent IPOs on NSE, listing the specific data fields (company name, price band, etc.). Distinguishes from many sibling tools focused on stocks, funds, or other financial instruments.

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?

Indicates no arguments needed and provides an example call. While it doesn't explicitly state when to use versus alternatives, the self-contained nature and example imply its use for IPO queries. Could improve by noting that for individual stock data other tools should be used.

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

key_ratiosA

Get key financial ratios and valuation metrics for a company.

Returns comprehensive metrics organized into categories:

  • Valuation: P/E, P/B, EV/EBITDA, PEG ratio, price-to-sales

  • Profitability: ROE, ROA, profit margin, operating margin, gross margin

  • Growth: Revenue growth, earnings growth

  • Financial Health: Debt/equity, current ratio, quick ratio, free cash flow

  • Per Share: EPS, book value, revenue per share

  • Dividend: Yield, payout ratio, ex-dividend date

Works for both Indian and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT)

Examples: key_ratios("RELIANCE") โ†’ Reliance complete ratio analysis key_ratios("AAPL") โ†’ Apple valuation & financial metrics key_ratios("HDFCBANK") โ†’ HDFC Bank financial health check

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It transparently lists categories of metrics returned and the geographic scope (Indian and US stocks). However, it omits potential limitations such as data lag, error handling for invalid symbols, or any destructive effects. The tool is clearly a read operation, but no explicit statement on that is given.

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 bullet categories and concrete examples. It is moderately concise but could be slightly tightened without losing clarity. The front-loading of the purpose is good, and each section adds value.

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?

Given the presence of an output schema (not shown here but context indicates it exists), the description need not detail return values. It covers the single parameter adequately with examples and specifies geographic coverage. It does not address potential edge cases or data freshness, but overall it is sufficiently complete for a ratio retrieval tool.

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 single parameter 'symbol' has zero schema description coverage (only a title in schema). The description compensates fully by providing examples (e.g., RELIANCE, AAPL, HDFCBANK) and explaining it is a stock ticker. This adds crucial meaning beyond the schema stub.

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 begins with a clear verb+resource statement: 'Get key financial ratios and valuation metrics for a company.' It further details categories like Valuation, Profitability, Growth, etc., making it distinct from sibling tools such as balance_sheet or income_statement which focus on specific statements rather than derived ratios.

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?

The description provides examples of usage (e.g., for RELIANCE, AAPL) and mentions it works for Indian and US stocks, implying broad applicability. However, it does not explicitly state when to prefer this tool over siblings like balance_sheet or income_statement, nor does it mention when not to use it.

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

live_quoteA

Real-time NSE quote via Angel One SmartAPI โ€” zero delay, no yfinance lag.

Requires Angel One API credentials in your .env file (stays local, never on GitHub). Falls back gracefully if not configured, with setup instructions.

Zerodha Kite Connect charges โ‚น500/month for real-time data API. Angel One SmartAPI is free for account holders.

Provides (when configured):

  • Live Last Traded Price (LTP) โ€” real-time, zero delay

  • OHLC for the day

  • Volume, average price

  • Upper/lower circuit limits

  • Buy/sell quantity

  • 52-week high/low

Setup (one-time): Add to .env: ANGEL_API_KEY, ANGEL_CLIENT_ID, ANGEL_PASSWORD, ANGEL_TOTP_SECRET pip install finstack-mcp[broker]

Args: symbol: NSE symbol (e.g., RELIANCE, TCS, NIFTY, BANKNIFTY)

Examples: live_quote("RELIANCE") โ†’ Real-time Reliance price (if Angel One configured) live_quote("NIFTY") โ†’ Live Nifty index price

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: requires Angel One API credentials stored locally, real-time zero-delay data, graceful fallback, and the full set of returned fields (OHLC, volume, circuit limits, etc.). No contradictions.

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 detailed but well-structured with a summary line, bullet points for features, setup steps, and examples. It is slightly verbose but every section adds value; no redundant fluff.

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?

The description covers purpose, required credentials, fallback behavior, data fields, and examples. While no formal output schema is referenced, the list of provided fields suffices. It lacks explicit mention of pagination or rate limits, but for a single-parameter quote tool, it is largely complete.

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?

The only parameter, 'symbol', is described as 'NSE symbol (e.g., RELIANCE, TCS, NIFTY, BANKNIFTY)', providing concrete examples and implying support for both stocks and indices. This adds meaning beyond the schema's type and title, though the schema has 0% coverage.

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 it provides real-time NSE quotes via Angel One SmartAPI, explicitly listing the data fields (LTP, OHLC, volume, etc.). It distinguishes itself from sibling tools like bse_quote, nse_quote, and fyers_live_quote by specifying the broker and real-time nature.

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?

The description provides setup instructions and notes that it falls back gracefully with guidance. It compares pricing with Zerodha. However, it does not explicitly advise when to use this over other quote tools in the sibling list (e.g., bse_quote, fyers_live_quote), leaving the agent to infer based on broker preference.

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

market_depthA

Level 2 order book depth โ€” top 5 bid/ask prices and quantities.

This is exchange-licensed real-time data. Zerodha Kite Connect charges โ‚น500/month for this. Angel One SmartAPI provides it free to account holders.

Requires Angel One API credentials in .env (stays local, never on GitHub).

Provides (when configured):

  • Top 5 buy orders (bid price + quantity)

  • Top 5 sell orders (ask price + quantity)

  • Total buy and sell queue size

Args: symbol: NSE symbol (e.g., RELIANCE, TCS, HDFCBANK)

Examples: market_depth("RELIANCE") โ†’ Live order book for Reliance

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Discloses that it returns top 5 bid/ask prices and quantities, total queue size, and is real-time. No annotations exist, so description carries the burden; it covers essential traits without mentioning failure modes.

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?

Front-loaded with key purpose, then context, then parameter explanation, and example. Every sentence adds value; structure is logical and efficient.

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 no output schema visible, the description explains the output structure (top 5 buy/sell orders, total queue size). Covers setup, source, and parameter. Output schema exists for further detail, making this complete.

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?

Schema has 0% description coverage, but the description details the single parameter 'symbol' with examples and format (NSE symbol). Adds significant meaning beyond the schema's bare 'Symbol' title.

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 'Level 2 order book depth โ€” top 5 bid/ask prices and quantities', specifying the verb and resource. It distinguishes from sibling tools like live_quote by emphasizing Level 2 depth.

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 context on source (exchange-licensed), cost (Zerodha/Angel One), and setup (API credentials). It does not explicitly list when not to use or alternatives, but the detail is sufficient for typical use.

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

market_newsA

Get latest market news for a stock or general market.

Returns up to 10 recent news articles with title, publisher, and link.

Args: symbol: Stock ticker for company-specific news (optional). Leave empty for general market news.

Examples: market_news("AAPL") โ†’ Apple-related news market_news("RELIANCE.NS") โ†’ Reliance Industries news market_news() โ†’ General market news

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Describes return value: up to 10 recent articles with title, publisher, link. No annotations, but description adequately conveys read-only behavior and output format.

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?

Two-sentence purpose, followed by clear args documentation and examples. No redundant information, front-loaded with key action and scope.

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?

For a simple one-param tool with an output schema, the description covers purpose, parameter semantics, usage examples, and return format. Complete and self-contained.

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?

With 0% schema coverage, the description explains the symbol parameter's purpose, optionality, and default behavior (empty for general news). Adds meaning beyond the schema's basic type/default.

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 it gets the latest market news for a stock or general market, with specific verb and resource. It distinguishes from sibling tools focused on quotes, fundamentals, etc.

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 clear usage context: optional symbol for company news, empty for general. Examples illustrate usage. No explicit alternatives, but context is sufficient given the tool's unique role among siblings.

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

mutual_fund_navA

Get the latest NAV and details for any Indian mutual fund.

Searches the AMFI database โ€” no API key required.

Args: query: Fund name (e.g. "SBI Bluechip", "HDFC Flexi Cap") or numeric scheme code (e.g. "119598")

Examples: mutual_fund_nav("SBI Bluechip") โ†’ NAV, change, 7-day history mutual_fund_nav("Axis Long Term") โ†’ ELSS fund NAV mutual_fund_nav("119598") โ†’ Fetch by scheme code directly

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description must stand alone. It discloses that the tool searches the AMFI database, requires no API key, and provides NAV, change, and 7-day history. No side effects are expected, and the description is adequately transparent.

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 concise, structured with a purpose line, context, args, and examples. Every sentence adds value without redundancy.

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 simplicity (one parameter, read-only, output schema present), the description covers all necessary aspects: purpose, input details, usage examples, and output nature. It is complete.

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 input schema has 0% description coverage, but the description adds crucial meaning: the query can be a fund name or a numeric scheme code. Examples further clarify the usage, fully compensating for the schema's lack of detail.

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 gets the latest NAV and details for Indian mutual funds, with specific mention of the AMFI database and no API key requirement. It is distinct from siblings like 'amfi_fund_flows'.

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 explains input types (fund name or scheme code) with examples. While it does not explicitly state when not to use, the context makes it clear this is for NAV retrieval versus other tools.

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

nifty_indexA

Get current value of Indian market indices.

Returns the current value, change, change %, day's high/low, and 52-week range for the specified index.

Args: index_name: Index name. Options: - NIFTY50 (or NIFTY) - Nifty 50 index - SENSEX - BSE Sensex - BANKNIFTY - Nifty Bank index - NIFTYIT - Nifty IT index - NIFTYPHARMA - Nifty Pharma index - ALL - Get all major indices at once

Examples: nifty_index("NIFTY50") โ†’ Current Nifty 50 value nifty_index("SENSEX") โ†’ Current Sensex value nifty_index("ALL") โ†’ All major indices

ParametersJSON Schema
NameRequiredDescriptionDefault
index_nameNoNIFTY50

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided. The description does not disclose any behavioral traits such as rate limits, authentication needs, or side effects. For a read-only tool, the lack of such details is a gap.

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 concise with a clear summary, bullet points for arguments, and examples. No redundant text; every sentence adds value.

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 simple one-parameter tool with an output schema (not shown), the description covers the key fields returned. It is largely complete, though it could mention output schema existence.

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?

The input schema has minimal info (type, default), but the description adds a detailed list of valid index options and examples. Given 0% schema description coverage, this fully compensates and adds meaning.

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 gets the current value of Indian market indices, listing specific returned fields (value, change, high/low, 52-week range). It distinguishes from siblings by focusing on indices rather than stocks or other financial data.

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?

No explicit guidance on when to use this tool versus alternatives like nse_quote or bse_quote. The context that it is for indices is implied, but no when-not-to or direct sibling comparisons.

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

nifty_pcr_trendA

Nifty PCR (Put-Call Ratio) trend across multiple expiries โ€” market sentiment gauge.

Sensibull Pro charges โ‚น1,300/month for PCR trend data. We calculate it free.

Provides:

  • PCR (OI-based and Volume-based) per expiry

  • Overall averaged PCR with sentiment signal

  • Bullish / Bearish / Neutral interpretation per expiry

  • Total call and put OI per expiry

Args: num_expiries: Number of expiries to analyze (default 5)

Examples: nifty_pcr_trend() โ†’ Nifty PCR across 5 expiries with overall sentiment nifty_pcr_trend(3) โ†’ Quick 3-expiry PCR snapshot

ParametersJSON Schema
NameRequiredDescriptionDefault
num_expiriesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description details the outputs: PCR by expiry, overall sentiment, and OI data. It clearly indicates it's a read-only data retrieval tool. However, it could mention potential limitations like data freshness or rate limits.

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, list of outputs, args, and examples. It is slightly verbose but each sentence adds value.

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?

Given an output schema exists, the description does not need to detail return format. It adequately covers purpose, parameters, and usage examples. Missing detail on data update frequency or limitations, but overall complete.

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 has 0% coverage, but the description fully explains the only parameter 'num_expiries' with its default value and purpose. This compensates completely for the schema's lack of description.

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?

Description clearly states the tool calculates Nifty PCR trend across multiple expiries as a market sentiment gauge, which is a specific verb+resource. It distinguishes itself from siblings, as no other tool computes PCR trend.

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?

The description mentions it's a free alternative to Sensibull Pro, but does not explicitly state when to use or avoid this tool versus alternatives. Examples are provided but without exclusive conditions.

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

nse_52week_scannerA

Scan Nifty 50 stocks near their 52-week high or low.

This is the most popular scan on Screener.in โ€” stocks breaking out near 52-week highs are momentum candidates; those near 52-week lows may be value opportunities or falling knives.

Args: scan_type: "near_high" โ€” stocks within threshold% of 52w high (default) "near_low" โ€” stocks within threshold% of 52w low "both" โ€” return both lists threshold_pct: Closeness threshold in % (default 5.0 = within 5% of extreme)

Examples: nse_52week_scanner("near_high", 5) โ†’ Stocks near all-time high area nse_52week_scanner("near_low", 10) โ†’ Stocks near 52-week low nse_52week_scanner("both", 3) โ†’ Very tight near both extremes

ParametersJSON Schema
NameRequiredDescriptionDefault
scan_typeNonear_high
threshold_pctNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description effectively explains the tool's behavior: scanning based on scan_type and threshold_pct. It does not disclose potential rate limits or data freshness, but the core behavior is well covered.

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 concise, consisting of a brief introductory paragraph, a structured Args section, and clear examples. Every sentence contributes meaning, no fluff.

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?

For a simple two-parameter tool with an output schema, the description provides sufficient context: purpose, parameter explanations, and usage guidance. It is complete for an AI agent to understand and invoke 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?

Schema description coverage is 0%, but the description fully explains both parameters: scan_type (with three options and default) and threshold_pct (with default and meaning). Examples further clarify usage, adding significant value beyond the 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 scans Nifty 50 stocks near their 52-week high or low, distinguishing it from broader screeners like stock_screener. It uses specific verb+resource ('Scan Nifty 50 stocks') and explains the scan types.

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 context on when to use each scan type (momentum vs value opportunities) and includes examples. However, it does not explicitly mention when not to use this tool or suggest alternatives, so it falls short of a 5.

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

nse_bulk_dealsA

Get recent bulk and block deals on NSE.

Shows large transactions where quantity traded exceeds 0.5% of total shares. Useful for tracking institutional activity.

No arguments needed.

Examples: nse_bulk_deals() โ†’ Recent bulk/block deals

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

The description discloses that it shows large transactions exceeding 0.5% of shares, but does not mention data freshness, delays, or other behavioral aspects. Given no annotations, it carries the full burden but only partially meets it.

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 extremely concise: four lines including an example. It front-loads the purpose and uses bullet-style formatting for clarity.

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?

For a simple tool with no parameters and no annotations, the description covers the essential: what it does, the threshold, and an example. It is complete for its complexity level.

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?

With zero parameters, the baseline is 4. The description confirms 'No arguments needed' and provides an example call, which adds clarity beyond the empty 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 it retrieves recent bulk and block deals, specifying the threshold of 0.5% of total shares. This distinguishes it from other NSE tools that provide different data or timeframes.

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?

It explicitly states 'No arguments needed' and provides an example. It also mentions utility for tracking institutional activity. While it doesn't compare directly with siblings, the context is sufficient for a zero-argument tool.

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

nse_circuit_breakersA

Scan NSE stocks currently hitting upper or lower circuit limits.

Checks Nifty 500 stocks where the current price is frozen at the intraday high (upper circuit) or intraday low (lower circuit).

Args: circuit_type: "upper" (locked at high), "lower" (locked at low), or "both" (default)

Examples: nse_circuit_breakers("upper") โ†’ Stocks hitting upper circuit today nse_circuit_breakers("lower") โ†’ Stocks hitting lower circuit today nse_circuit_breakers("both") โ†’ All circuit-locked stocks

ParametersJSON Schema
NameRequiredDescriptionDefault
circuit_typeNoboth

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It reveals the scope (Nifty 500) and the circuit_type parameter, but lacks details on data freshness (live vs. historical), read-only nature, or any rate limits. Basic behavioral context is given, but gaps remain.

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 docstring format including Args and Examples. It is concise but includes essential information; a bit more trimming could be done, but overall effective.

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?

Given the presence of an output schema, the description does not need to detail return values. It covers the core functionality, scope, and parameter. Minor missing details like data source or refresh cadence, but adequate for a simple scanning tool.

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 description coverage is 0%, but the description fully explains the single parameter circuit_type with its allowed values ('upper', 'lower', 'both') and provides concrete examples. This adds significant meaning beyond the 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 it scans NSE stocks hitting upper or lower circuit limits, specifying the scope as Nifty 500. It distinguishes from siblings like nse_52week_scanner and predict_circuit by focusing specifically on circuit breakers, and includes parameter details.

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 explains when to use the tool (to get stocks at circuit limits) and provides examples for each circuit_type. However, it does not explicitly state when not to use it or mention alternative tools like predict_circuit.

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

nse_corporate_actionsA

Get corporate actions for an NSE stock โ€” dividends, stock splits, bonuses.

Shows recent and historical corporate actions with dates and values.

Args: symbol: NSE stock symbol (e.g., ITC, RELIANCE, TCS, COALINDIA)

Examples: nse_corporate_actions("ITC") โ†’ ITC dividends and splits nse_corporate_actions("RELIANCE") โ†’ Reliance corporate actions

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It indicates the tool retrieves data (read-only) but does not disclose potential limits on history depth, rate limits, or any side effects. Basic transparency is met but not detailed.

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?

Description is concise, with two short paragraphs: one for purpose and one for parameter details. It is front-loaded with key information, no redundant phrases.

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 low complexity (1 param) and presence of an output schema, description adequately covers purpose, parameter, and examples. It is complete for selecting and invoking 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?

Input schema has one required string parameter 'symbol' with 0% coverage. Description adds concrete examples (e.g., ITC, RELIANCE) and explains it is an NSE stock symbol, greatly enhancing understanding beyond the 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?

Description uses specific verb 'Get' and clearly identifies resource 'corporate actions for an NSE stock', listing examples like dividends, stock splits, bonuses. It effectively distinguishes from siblings like dividend_history by covering broader corporate actions.

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?

The description provides examples and mentions scope (recent and historical with dates and values), but does not explicitly state when to use this tool versus alternatives like dividend_history or nse_quarterly_results. It lacks guidance on when not to use it.

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

nse_fii_dii_dataA

Get FII (Foreign Institutional Investor) and DII (Domestic Institutional Investor) activity data.

Shows how much foreign and domestic institutions bought/sold today. FII net buy = bullish signal. DII net buy = domestic accumulation.

No arguments needed.

Examples: nse_fii_dii_data() โ†’ Today's FII/DII activity

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

The description mentions the data is for today and includes interpretation hints (FII net buy = bullish). However, it does not disclose data freshness, source, or potential limitations (e.g., only available when market is open). No annotations are provided to compensate.

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 extremely concise: three short sentences plus a one-line example. It front-loads the core action and immediately adds value with interpretation and usage example. No unnecessary words.

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 has no parameters and an output schema exists, the description provides sufficient context: what data is returned, how to interpret it, and a concrete example. No additional information is needed.

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?

The tool has no parameters, and the input schema is empty with 100% coverage. The description reinforces that no arguments are needed, meeting the baseline for parameterless tools.

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 it retrieves FII and DII activity data, including net buy/sell amounts and their market signals. It distinguishes itself from sibling tools by focusing specifically on institutional daily flow data.

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 says 'No arguments needed' and provides an example call. While it implies usage for today's activity, it does not explicitly contrast with alternatives like amfi_fund_flows or nse_bulk_deals, which are sibling tools for different data.

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

nse_historicalA

Get historical price data (OHLCV) for an NSE stock.

Returns open, high, low, close, volume data for the specified period. Also includes summary stats: period return %, high, low, avg volume.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY) period: Time period. Options: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max interval: Data interval. Options: 1m, 5m, 15m, 30m, 1h, 1d, 5d, 1wk, 1mo Note: 1m data only available for last 7 days

Examples: nse_historical("RELIANCE", "1mo", "1d") โ†’ 1 month daily data nse_historical("TCS", "1y", "1wk") โ†’ 1 year weekly data nse_historical("INFY", "5y", "1mo") โ†’ 5 year monthly data nse_historical("SBIN", "5d", "15m") โ†’ 5 day intraday (15min candles)

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1mo
symbolYes
intervalNo1d

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries burden. Discloses that 1m data only available for last 7 days. Does not mention adjustment policies, rate limits, or error behavior, but adds meaningful constraint beyond schema.

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?

Concise two-paragraph structure with examples. No redundant sentences. Front-loaded with purpose.

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 all parameters and constraints. Output schema exists so return details not needed. Lacks error handling info but sufficient for typical use.

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?

Schema coverage 0% but description fully explains all three parameters: symbol (with examples), period (lists options), interval (lists options and restriction). Examples provide concrete usage.

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?

Clearly states 'Get historical price data (OHLCV) for an NSE stock'. Distinguishes from siblings like stock_historical (generic) and nse_quote (current price). Examples reinforce scope.

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?

Examples imply use cases but no explicit when-to-use vs alternatives. Sibling tools like stock_historical or crypto_historical exist without differentiation in description.

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

nse_insider_tradingA

NSE insider trading and SAST (substantial acquisition) disclosures for a stock.

Covers features Trendlyne (โ‚น4,950/yr) and Screener Pro (โ‚น4,999/yr) charge for โ€” free here.

Shows:

  • All SEBI-mandated insider trading disclosures from NSE

  • Buy vs sell transaction count

  • Insider sentiment summary

  • Acquirer/seller name, shares traded, dates

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK) days: Lookback period in days (default 90, max ~365)

Examples: nse_insider_trading("RELIANCE") โ†’ Last 90 days insider activity for Reliance nse_insider_trading("TCS", 180) โ†’ Last 6 months insider trades for TCS

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavior. It mentions free access and lookback max ~365 days, but does not cover rate limits, auth requirements, symbol case-sensitivity, or error handling.

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?

Description is structured with bullet points and examples, making it scannable. A few sentences could be tightened, but overall efficient and front-loaded.

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?

Given output schema exists, return values are covered. Description explains data fields, parameters, and unique value. No major gaps for a data retrieval tool.

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?

With 0% schema coverage, the description adds significant value: explains symbol as NSE stock symbol with examples, days as lookback period with default and max. Examples illustrate usage.

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?

The description clearly states it shows NSE insider trading and SAST disclosures for a stock, listing specific data points. It implies a unique value proposition (free vs paid tools) but does not explicitly contrast with sibling tools like 'get_insider_signal'.

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?

The description implies usage for accessing insider trading data for NSE stocks, but lacks explicit guidance on when to use this tool versus alternatives (e.g., get_insider_signal). No when-not or exclusions provided.

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

nse_market_statusA

Check if the Indian stock market (NSE/BSE) is currently open or closed.

Returns market status (OPEN, CLOSED, PRE_OPEN, POST_CLOSE), trading hours, and current IST time.

No arguments needed.

Examples: nse_market_status() โ†’ Shows if market is open right now

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It states the tool returns market status, hours, and time. It doesn't disclose potential side effects or rate limits, but as a read-only query, this is adequate.

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 concise with 4 sentences, including an example. It is front-loaded with the purpose and has no unnecessary 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 no parameters and a simple purpose, the description is complete. It mentions return values and provides an example. An output schema exists, but the description already covers the key return info.

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?

There are no parameters, and the schema coverage is 100%. The description does not need to add parameter info. Baseline for 0 parameters is 4.

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 verb 'Check' and the resource 'if the Indian stock market (NSE/BSE) is currently open or closed.' It specifies the return values (market status, trading hours, IST time) and is distinct from sibling tools like nse_quote.

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 indicates no arguments needed and provides an example. It implicitly tells when to use it (to check market status). While it doesn't explicitly mention alternatives, the purpose is unique among siblings.

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

nse_options_chainA

Get options chain data for an NSE stock or index. [PRO]

Returns call and put options with strike price, premium, volume, open interest, implied volatility, and Put-Call Ratio (PCR).

Args: symbol: NSE stock or index symbol (e.g., RELIANCE, NIFTY, BANKNIFTY, TCS)

Examples: nse_options_chain("RELIANCE") โ†’ Reliance options chain nse_options_chain("NIFTY") โ†’ Nifty 50 options chain nse_options_chain("BANKNIFTY") โ†’ Bank Nifty options

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It details what the tool returns (call/put options with specific fields) but omits behavioral traits like data freshness, rate limits, or read-only nature. Adequate but not comprehensive.

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 compact and well-organized, with a brief intro, bullet-style field list, args section, and examples. Every sentence adds value; no redundancy.

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?

For a single-parameter tool with an output schema, the description sufficiently explains inputs, outputs, and usage via examples. It doesn't need to detail return values since output schema exists. Complete for its simplicity.

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?

The only parameter (symbol) has 0% schema description coverage, but the description provides examples of valid values (e.g., RELIANCE, NIFTY) and clarifies it covers stocks and indices. This adds meaning beyond the schema's raw type string.

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 it retrieves options chain data for NSE stocks or indices, listing specific fields like strike price, premium, volume, OI, IV, and PCR. Examples with common symbols (RELIANCE, NIFTY) reinforce the purpose. This distinguishes it from sibling tools that focus on quotes, historical data, or other analytics.

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 implicitly indicates use for options chain data but lacks explicit guidance on when to use versus alternatives or when not to use. No exclusions or prerequisites are stated, though the specific purpose makes context clear.

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

nse_quarterly_resultsA

Get latest quarterly financial results for an NSE stock.

Shows revenue, profit, EPS, EBITDA for last 4 quarters with quarter-over-quarter growth rates.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: nse_quarterly_results("RELIANCE") โ†’ Reliance Q results nse_quarterly_results("TCS") โ†’ TCS quarterly financials

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided; description lacks disclosure of data freshness, API limits, or source. Only states output fields, not behavioral traits. Relies on minimal description for a read-only tool.

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?

Very concise: short summary, bullet list of metrics, args, examples. No waste, front-loaded with key info. Earns every sentence.

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 purpose, param, and output fields. Output schema exists but description doesn't detail structure; however, tool is simple and listed fields are sufficient for understanding.

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?

Single parameter 'symbol' well-explained with examples (RELIANCE, TCS) in description, compensating for 0% schema description coverage. Adds meaning beyond 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?

Clearly states it gets latest quarterly results for NSE stocks, lists specific financial metrics (revenue, profit, EPS, EBITDA) with growth rates. Distinguishes from siblings like nse_quote or stock_historical by specifying financial results.

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?

Implies it's for quarterly results but does not explicitly contrast with alternatives like nse_historical or income_statement. No when-not or alternative tool mentions, leaving room for ambiguity.

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

nse_quoteA

Get real-time NSE (National Stock Exchange) quote for an Indian stock.

Returns current price, change, volume, market cap, P/E ratio, 52-week range, sector, and more.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK, SBIN, ITC)

Examples: nse_quote("RELIANCE") โ†’ Reliance Industries live price & stats nse_quote("TCS") โ†’ TCS live price & stats nse_quote("HDFCBANK") โ†’ HDFC Bank live price & stats

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It lists output fields but does not disclose behavioral traits like rate limits, authentication needs, or error handling for invalid symbols.

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?

Description is concise, front-loaded with purpose, lists key return items, then includes Args and Examples efficiently 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?

Given the simple parameter and presence of output schema, the description is mostly complete. It lists return fields and examples, though it could add notes on error cases or rate limits.

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 coverage is 0% but description adds examples and specifies the format ('NSE stock symbol, e.g., RELIANCE'), providing clarity beyond the schema's vague 'string' type.

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 'Get real-time NSE quote for an Indian stock' and lists specific data points (price, change, volume, etc.). It distinguishes from siblings like bse_quote by specifying NSE.

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?

The description implies when to use (for NSE stock quotes) but does not explicitly guide when not to use or contrast with siblings like live_quote, stock_quote, or bse_quote.

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

nse_top_moversA

Get today's top performing stocks on NSE.

Returns the top 10 stocks by the specified criteria from Nifty 50 components.

Args: mover_type: Type of movers to fetch. Options: - gainers: Top 10 stocks with highest % gain today - losers: Top 10 stocks with highest % loss today - active: Top 10 stocks by trading volume

Examples: nse_top_movers("gainers") โ†’ Today's top gainers nse_top_movers("losers") โ†’ Today's top losers nse_top_movers("active") โ†’ Most actively traded stocks

ParametersJSON Schema
NameRequiredDescriptionDefault
mover_typeNogainers

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations exist. The description does not disclose behavioral details such as authentication, rate limits, or data freshness. It only covers the basic function, missing opportunities to add transparency.

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 concise, using a clear structure with Args and Examples sections. Every sentence is informative and necessary, with no redundancy.

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?

For a simple parameter-driven tool, the description covers the purpose, parameter options, and usage examples. An output schema exists, so return values need not be detailed. It is fully adequate for an agent to invoke correctly.

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?

The input schema has one parameter with no description. The tool description compensates by explaining the three valid values for mover_type and provides examples, adding meaning beyond the 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 it retrieves today's top performing stocks on NSE, specifically the top 10 by criteria from Nifty 50 components. It distinguishes itself from sibling tools like nse_quote or nse_52week_scanner by focusing on daily movers.

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 explicitly lists three mover types (gainers, losers, active) and when to use each. It does not mention when not to use or alternatives, but it provides sufficient context for correct invocation.

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

options_greeksA

Calculate Black-Scholes Greeks (Delta, Gamma, Theta, Vega, Rho) for all option strikes.

Covers features Sensibull Pro charges โ‚น1,300/month for โ€” free here.

Provides:

  • Delta: price sensitivity to underlying move

  • Gamma: rate of change of delta (acceleration)

  • Theta: daily time decay (what options lose per day)

  • Vega: sensitivity to 1% change in implied volatility

  • Rho: sensitivity to 1% change in interest rate

  • Full chain with Greeks for both calls and puts

Args: symbol: NSE stock or index symbol (e.g., NIFTY, RELIANCE, INFY) expiry: Optional expiry date string YYYY-MM-DD (uses nearest if not provided)

Examples: options_greeks("NIFTY") โ†’ Full Greeks for nearest Nifty expiry options_greeks("RELIANCE", "2025-04-24") โ†’ Greeks for specific expiry

ParametersJSON Schema
NameRequiredDescriptionDefault
expiryNo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It explains the meaning of each Greek but lacks details on assumptions (e.g., Black-Scholes model), data sources, rate limits, or limitations. Provides some transparency but not comprehensive.

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?

Well-structured: summary, benefit statement, bullet list of Greeks, Args, Examples. Every sentence adds value; could be slightly more concise but overall efficient.

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?

Given output schema exists, description adequately explains input and what the tool provides. Examples clarify usage. No need to detail return structure since output schema covers it. Complete enough for agent understanding.

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?

Description adds meaning beyond the input schema: explains symbol as NSE stock/index symbol, expiry as optional YYYY-MM-DD with nearest default, and provides examples. Schema coverage is 0%, so description compensates well.

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?

Description clearly states the tool calculates Black-Scholes Greeks for option strikes, lists and explains each Greek (Delta, Gamma, Theta, Vega, Rho), and distinguishes from sibling tools like nse_options_chain and options_oi_analytics by focusing on Greeks calculation.

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?

The description implies usage for NSE options Greeks but does not explicitly state when to use this tool vs alternatives like nse_options_chain or options_oi_analytics, nor does it provide exclusions or prerequisites. Examples are helpful but guidance is implicit.

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

options_oi_analyticsA

Advanced options OI analytics: Max Pain, PCR trend, IV summary, top OI strikes.

Covers features Sensibull Pro charges โ‚น1,300/month for โ€” free here.

Provides:

  • Put-Call Ratio (OI and Volume) with sentiment signal

  • Max Pain calculation (price gravity at expiry)

  • Top call OI strikes (resistance levels from options market)

  • Top put OI strikes (support levels from options market)

  • Average IV across expiry

  • Analysis for 3 nearest expiries

Args: symbol: NSE stock or index symbol (e.g., NIFTY, BANKNIFTY, RELIANCE, TCS)

Examples: options_oi_analytics("NIFTY") โ†’ Nifty OI analytics, Max Pain, PCR options_oi_analytics("RELIANCE") โ†’ Reliance OI analysis options_oi_analytics("BANKNIFTY") โ†’ Bank Nifty options sentiment

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of transparency. It mentions it provides analysis for the 3 nearest expiries and claims it covers paid features for free, but does not disclose data freshness, source, or any limitations. No destructive behavior is implied, but a moderate score reflects missing details.

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 summary, bullet list of outputs, Args, and Examples. The marketing sentence about Sensibull adds slight verbosity but is not excessive. Every section has a purpose, and the content is front-loaded.

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?

Given the tool has an output schema (context signal), the description need not explain return values. It adequately covers inputs, outputs, and usage examples. With no annotations, it could be more complete about usage context, but overall it provides sufficient information for an AI agent to select and invoke the tool.

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 0%, so the description must compensate. It describes the 'symbol' parameter with examples (NIFTY, BANKNIFTY, RELIANCE, TCS) but does not specify case sensitivity, format constraints, or validation rules. The examples provide some meaning but lack thorough semantics.

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 'Advanced options OI analytics' and lists specific outputs (Max Pain, PCR trend, IV summary, top OI strikes), distinguishing it from sibling tools like nifty_pcr_trend and options_greeks by covering a broader set of analytics.

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?

The description implies usage by listing features and examples, but does not explicitly state when to use this tool versus alternatives or provide exclusionary criteria. For instance, it does not mention that nifty_pcr_trend might be sufficient for PCR-only needs.

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

portfolio_analysisA

Analyze a stock portfolio โ€” P&L, weights, risk. [PRO]

Provide your holdings and get total P&L, individual stock performance, portfolio weights, concentration risk, winners and losers.

Args: holdings: JSON string of holdings array. Each holding needs: symbol, quantity, buy_price. Example: '[{"symbol":"RELIANCE","quantity":10,"buy_price":2500}, {"symbol":"TCS","quantity":5,"buy_price":3800}]'

Examples: portfolio_analysis('[{"symbol":"RELIANCE","quantity":10,"buy_price":2500}]') portfolio_analysis('[{"symbol":"AAPL","quantity":5,"buy_price":150}, {"symbol":"MSFT","quantity":3,"buy_price":380}]')

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions the tool provides analysis results (P&L, weights, risk) but does not explicitly state if it is read-only or if there are side effects. The presence of an output schema helps, but further details on data sources or limitations would improve transparency.

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 brief intro, parameter documentation, and examples. It is front-loaded with the purpose. While slightly lengthy, it avoids unnecessary information and is easy to parse.

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?

Given the tool has one parameter and an output schema, the description covers the core functionality and usage. Minor gaps exist, such as error handling or limits on holdings size, but overall it is sufficient for correct use.

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 input schema has only one parameter with zero description coverage, but the tool description includes a detailed explanation of the 'holdings' parameter, including format, required fields, and an example. This fully compensates for the schema's lack of param documentation.

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 it analyzes a stock portfolio, covering P&L, weights, risk, winners, and losers. It uses specific verbs and resources, and the PRO tag distinguishes it from free tools. Among siblings, there is an 'analyze_portfolio' tool, but this description provides enough detail to differentiate.

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 explains how to use the tool with examples and parameter requirements. However, it does not explicitly state when to use this tool versus alternatives like 'analyze_portfolio' or 'backtest_strategy', leaving some ambiguity.

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

predict_circuitA

Predict lower circuit risk for an NSE stock.

Combines 5 signals: price proximity to 52W low, volume dry-up, promoter pledge velocity, FII net selling, negative news sentiment.

Risk levels: safe / watch / danger / imminent

"Predicted 4 lower circuits in March โ€” here's how"

Args: symbol: NSE symbol (most useful for mid/small caps under stress)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It lists input signals and risk levels but omits details on read-only nature, rate limits, or side effects, providing adequate but incomplete transparency.

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 concise with clear sections (purpose, signals, risk levels, param), no wasted words, and front-loaded key 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?

For a single-parameter tool with an output schema, the description covers all necessary aspects: what it does, what it returns (risk levels), and appropriate usage context.

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?

The description adds meaningful context to the single parameter 'symbol' beyond the schema, specifying it's an NSE symbol and suggesting suitability for mid/small caps, compensating for the 0% schema coverage.

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 predicts lower circuit risk for NSE stocks, uses specific verb 'predict', and distinguishes from siblings like 'nse_circuit_breakers' by focusing on risk assessment.

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?

The description mentions 'most useful for mid/small caps under stress', providing context but no explicit when-to-use or alternatives, leaving ambiguity for agents.

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

predict_earningsA

AI earnings preview before quarterly results.

Combines 4 signals to estimate beat/miss probability:

  • Last 4 quarters EPS trend (improving / declining / mixed)

  • Analyst consensus recommendation + target price upside

  • FII QoQ shareholding change (building before results = positive)

  • Stock alpha vs Nifty last 30 days (momentum into results)

Returns:

  • beat_probability_pct: e.g. 72

  • signal: BEAT LIKELY / SLIGHT BEAT / IN-LINE OR MISS / MISS LIKELY

  • key_risks: list of red flags

  • what_to_watch: what to monitor on results day

  • next_earnings_date: from yFinance calendar

Viral use: post prediction before TCS/Infy results. Screenshot if correct.

Args: symbol: NSE symbol (e.g. TCS, INFY, HDFCBANK, RELIANCE)

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses the four signals used, the outputs (beat_probability_pct, signal, key_risks, etc.), and the data source (yFinance). Missing limitations or reliability notes, but overall transparent.

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 logically structured (purpose, signals, returns, viral use, args) and mostly concise. The 'viral use' section adds length but is not essential, slightly reducing conciseness.

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?

Given the tool's complexity (predictive model with 4 signals) and an output schema that details returns, the description adequately covers purpose, inputs, and outputs. It lacks explanation of the model's reliability or calculation method, but remains fairly complete.

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?

The input schema has only one parameter 'symbol' with 0% description coverage. The description compensates by stating 'NSE symbol' and providing examples (TCS, INFY, etc.), adding meaning beyond the 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 predicts earnings outcomes before quarterly results using a specific verb ('predict') and resource ('earnings'). It distinguishes itself from sibling tools like 'earnings_calendar' and 'nse_quarterly_results' by being a predictive AI model, not just data retrieval.

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 explicit usage context (e.g., 'Viral use: post prediction before TCS/Infy results') and explains it combines 4 signals, implying when it is useful. However, it does not explicitly state when not to use it or compare it to alternative tools like 'earnings_calendar'.

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

promoter_pledgeA

Promoter pledge percentage โ€” how much of promoter holding is pledged as loan collateral.

Screener.in Pro (โ‚น4,999/yr) charges for this data. NSE publishes it free.

High pledge = risk signal: if the stock falls, lenders can force-sell pledged shares, causing further decline. A key red flag before investing.

Provides:

  • Promoter pledge % of total shares

  • Pledge % of promoter holding

  • Risk signal (clean / low / moderate / HIGH RISK)

  • Quarter-wise breakdown

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, ADANIENT)

Examples: promoter_pledge("ADANIENT") โ†’ Adani pledge levels and risk signal promoter_pledge("RELIANCE") โ†’ Reliance promoter pledge status

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It mentions data sources (NSE free vs Screener.in Pro paid) but does not disclose whether the tool requires authentication, pricing, rate limits, or other behavioral traits. The risk explanation is useful but does not cover tool behavior.

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 logically structured: purpose, data source, risk implication, output fields, parameter, examples. It is front-loaded with the core purpose, though the risk explanation adds some verbosity. Overall efficient.

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?

Given the tool has an output schema, the description need not detail return valuesโ€”but it still lists output fields, which is helpful. Missing edge cases or error handling for invalid symbols, but sufficient for typical use.

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?

The schema has 0% description coverage for the single parameter 'symbol'. The description compensates by clearly stating it is an NSE stock symbol and providing examples (RELIANCE, TCS, ADANIENT), which adds meaning beyond the schema.

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?

The description clearly states that the tool returns promoter pledge percentage and risk signals for a stock symbol, with a list of output fields. However, it does not explicitly differentiate from sibling tools like 'get_pledge_alert' or 'scan_pledge_risks', which may have overlapping functionality.

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?

The description implies the tool is for checking promoter pledge risk but does not specify when to use it over alternatives. No exclusions or alternative tool names are mentioned, leaving the agent to infer usage.

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

promoter_shareholdingA

Shareholding pattern for an NSE stock: promoter, FII, DII, public breakdown.

Covers features Screener.in Pro (โ‚น4,999/yr) and Trendlyne charge for โ€” free here.

Shows:

  • Promoter holding percentage

  • FII (Foreign Institutional Investor) holding

  • DII (Domestic Institutional Investor) holding

  • Public / retail holding

  • Top institutional and mutual fund holders

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: promoter_shareholding("RELIANCE") โ†’ Who owns Reliance and how much promoter_shareholding("HDFCBANK") โ†’ HDFC Bank ownership breakdown

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains outputs (percentages, top holders) but omits behavioral details like data freshness, rate limits, or scope (e.g., works for all NSE stocks?). It adds value by noting free access, but lacks complete transparency.

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-organized with bullet points and examples. It front-loads the main purpose and uses concise language, though could be slightly shorter.

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?

Given the tool's complexity (ownership breakdown) and presence of output schema, the description sufficiently explains what is returned (percentages, top holders). It is complete for a straightforward data retrieval tool.

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 coverage is 0%, so description must define the parameter. It clearly defines 'symbol' as NSE stock symbol with examples (e.g., RELIANCE, TCS). This adds meaning beyond the schema's type and title.

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 provides shareholding pattern breakdown (promoter, FII, DII, public) for NSE stocks. It uses specific verbs and resource, and distinguishes from siblings like 'promoter_pledge' and 'nse_quote' by focusing on ownership composition.

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?

The description mentions what data is covered and that it's free, but does not explicitly state when to use this tool vs alternatives (e.g., when to use 'promoter_shareholding' vs 'company_profile' or 'nse_quote'). No guidance on when not to use or prerequisites.

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

rbi_policy_ratesA

Current RBI monetary policy rates: Repo, Reverse Repo, CRR, SLR, MSF, Bank Rate.

Bloomberg Terminal charges $31,980/year for central bank data access. RBI publishes all policy rates free on rbi.org.in โ€” we surface them here.

Provides:

  • Repo rate (current RBI lending rate to banks)

  • Reverse repo rate

  • Marginal Standing Facility (MSF) rate

  • Cash Reserve Ratio (CRR)

  • Statutory Liquidity Ratio (SLR)

  • Bank Rate

  • Monetary policy stance

  • Last policy action summary

Examples: rbi_policy_rates() โ†’ All current RBI policy rates and stance

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It lists all returned fields (repo rate, reverse repo, etc.) and includes an example output. No side effects are expected, and the data source is stated.

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 bullet points and front-loaded. The Bloomberg mention adds useful context but slightly increases length. It remains efficient.

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?

For a zero-parameter tool with an output schema, the description fully explains the return values and usage. It provides examples and covers all necessary context.

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 input schema has no parameters, and the description compensates by explaining what the tool returns in detail, adding value beyond the empty 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 returns current RBI monetary policy rates (Repo, Reverse Repo, CRR, etc.) and provides an example. It distinguishes from sibling tools by focusing on a specific data set not offered by other tools.

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 implicitly suggests using this tool for free RBI rates and contrasts with Bloomberg's paid data. However, it does not explicitly list alternative tools or when not to use it. The context is clear enough.

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

scan_pledge_risksA

Scan multiple NSE stocks for promoter pledge risk simultaneously.

Returns results sorted by risk level (critical first). Useful for screening your watchlist or Nifty 500 for pledge dangers.

Args: symbols: list of NSE symbols (e.g. ["ADANIENT", "ZEEL", "RELIANCE", "TCS"])

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Without annotations, the description carries full burden. It discloses that the tool scans multiple stocks simultaneously and returns sorted results, implying a read-only operation. This is sufficient, though it could mention that no data is modified or provide more detail on risk criteria.

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 concise with three sentences plus an args section, all front-loaded with key information. Every sentence adds value: purpose, behavior, usage, and parameter details. No waste.

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 existence of an output schema (not shown), the description need not detail return values. It covers what the tool does, how to use it, and an example parameter. For a simple scan tool, this is complete and sufficient for an agent to invoke it correctly.

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 coverage is 0%, so the description must compensate. It provides an example and clarifies that symbols are NSE symbols (e.g., 'ADANIENT'), adding meaning beyond the schema's type-only definition. This helps the agent understand parameter format.

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 scans multiple NSE stocks for promoter pledge risk simultaneously, which distinguishes it from sibling tools like 'promoter_pledge' that may handle single stocks. The verb 'scan' and resource 'promoter pledge risk' are specific, and sorting by risk level is mentioned.

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 a clear use case: 'useful for screening your watchlist or Nifty 500 for pledge dangers.' However, it does not explicitly state when not to use this tool or mention alternatives, such as single-stock pledge tools, leaving some ambiguity for the agent.

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

scan_watchlistA

Batch-rank a watchlist using FinStack's multi-factor stock signal score.

Best use:

  • daily watchlist triage

  • n8n / WhatsApp automation

  • finding top buys and top risks in one shot

Args: symbols: list of NSE symbols (e.g. ["RELIANCE", "TCS", "HDFCBANK", "INFY"])

Returns:

  • ranked_watchlist: sorted by signal_score

  • top_buys

  • top_risks

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that output is sorted and includes top buys/risks, implying a read-only ranking operation. However, it does not detail potential behavioral aspects like API rate limits or error handling.

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?

Description is concise with a clear title line, a 'Best use' section, and parameter details. No redundant information; every sentence adds value.

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 single parameter and presence of output schema, the description fully covers what the tool does, when to use it, what input is needed, and what output is returned. It is contextually complete for the complexity level.

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 has 0% description coverage, but the description adds value by specifying that symbols are NSE symbols and providing an example. This clarifies the expected format beyond the generic array type.

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 verb 'Batch-rank', the resource 'watchlist', and the method 'FinStack's multi-factor stock signal score'. It distinguishes itself from sibling tools like stock_screener or compare_stocks_tool by focusing on ranking and signal scoring.

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

Usage Guidelines5/5

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

Explicit 'Best use' section lists concrete scenarios: daily triage, automation, and finding top buys/risks. This provides clear context for when to use the tool.

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

sec_filingA

Get SEC filings for a US-listed company.

Returns links to actual filing documents on SEC EDGAR.

Args: symbol: US stock ticker (e.g., AAPL, MSFT, GOOGL) filing_type: Type of filing. Options: - 10-K: Annual report - 10-Q: Quarterly report - 8-K: Current events report - ALL: All filing types count: Number of filings to return (default: 5, max: 20)

Examples: sec_filing("AAPL", "10-K") โ†’ Apple annual reports sec_filing("TSLA", "10-Q", 3) โ†’ Tesla last 3 quarterly reports sec_filing("MSFT", "ALL", 10) โ†’ Microsoft all recent filings

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
symbolYes
filing_typeNo10-K

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It states the return type (links to EDGAR) but does not mention edge cases (e.g., invalid ticker), rate limits, or pagination. This is adequate but leaves some gaps.

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 brief summary, labeled arguments, and examples. It is concise but could be tightened by removing redundant statements (e.g., 'Returns links...' could be merged).

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?

The description covers the tool's purpose, parameters, and provides examples. Given that an output schema exists (implied), it need not detail return values beyond stating the type. Minor omissions (e.g., error handling) do not significantly impact completeness.

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 has 0% description coverage, but the description lists all three parameters with explanations, examples, defaults, and options. This adds significant meaning beyond the raw schema, making it highly useful for an agent.

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 retrieves SEC filings for a US-listed company and returns links to documents on EDGAR, specifying the resource and action. It distinguishes from sibling tools like 'sec_filing_search' by focusing on known tickers and filing types.

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 parameter explanations and examples that imply usage scenarios (e.g., retrieving annual or quarterly reports). It does not explicitly contrast with alternatives like 'sec_filing_search', but the context is sufficient for an agent to decide when to use this tool.

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

sector_performanceA

Get performance of Nifty sectoral indices.

Shows how different sectors (Banking, IT, Pharma, FMCG, Auto, Metal, Realty, Energy) performed today, with best and worst performers highlighted.

No arguments needed.

Examples: sector_performance() โ†’ Which sectors are up/down today?

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains what the tool returns (today's performance with best/worst), but does not disclose caching, real-time vs daily data, or any side effects. The description is adequate but not thorough.

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 extremely concise: 3 sentences and an example. Every sentence adds value. It is front-loaded with the main purpose.

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 zero-parameter tool with an output schema present, the description sufficiently explains what the tool does. It lists the sectors and confirms it shows today's performance. Could mention time frame more explicitly, but overall complete.

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?

The input schema has 0 parameters, so baseline is 4. The description states 'No arguments needed' which adds clarity. No further parameter value is needed.

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 'Get performance of Nifty sectoral indices' and lists the specific sectors. It also mentions best/worst performers, and includes an example. This is precise and distinct from siblings like get_sector_peer_context.

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?

The description says 'No arguments needed' which is useful, but it does not provide guidance on when to use this tool versus other sector-related siblings (e.g., get_sector_peer_context). No explicit when-not-to-use or alternative tool mention.

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

sensex_componentsA

Get the list of stocks in Nifty 50 or Sensex with live prices.

Returns all constituent stocks with current price, % change today, market cap, plus top 5 gainers and losers within the index.

Args: index_name: "nifty50" (default) or "sensex"

Examples: sensex_components("nifty50") โ†’ All 50 Nifty stocks with live prices sensex_components("sensex") โ†’ All 30 Sensex stocks with live prices

ParametersJSON Schema
NameRequiredDescriptionDefault
index_nameNonifty50

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description provides good transparency by listing return data (current price, % change, market cap, top gainers/losers) and stating it returns live prices. It does not mention potential limitations like rate limits or data freshness, but for a data retrieval tool this is acceptable.

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 well-structured with a summary, return details, Args, and Examples. Every sentence is purposeful and information-dense, 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?

Given the tool's simplicity and the presence of an output schema, the description covers purpose, parameters, return data, and examples adequately. It could include additional usage notes on data accuracy or refresh frequency, but is otherwise complete.

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?

The parameter index_name has 0% schema coverage, but the description clearly explains its values (nifty50 or sensex) with default and examples, adding meaningful context beyond the schema definition.

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?

The description clearly states it retrieves the list of stocks in Nifty 50 or Sensex with live prices, including specific return fields. While it distinguishes from many sibling tools through its name and function, it does not explicitly differentiate from similar tools like nifty_index.

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 implied through Args and Examples, specifying valid index names and default. However, there is no explicit guidance on when to use this tool versus alternatives, nor any when-not-to-use conditions.

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

stock_historicalA

Get historical price data for any global stock.

Returns OHLCV data with summary stats.

Args: symbol: Stock ticker (e.g., AAPL, MSFT, TSLA) period: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max interval: 1m, 5m, 15m, 30m, 1h, 1d, 5d, 1wk, 1mo

Examples: stock_historical("AAPL", "1y", "1d") โ†’ Apple 1 year daily stock_historical("TSLA", "3mo", "1wk") โ†’ Tesla 3 month weekly

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1mo
symbolYes
intervalNo1d

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Given no annotations, the description discloses that it returns OHLCV data with summary stats. It does not detail error handling or rate limits, but the output schema likely covers return structure. Transparent enough for a read-only data retrieval tool.

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?

Concise with front-loaded purpose, structured Args section, and clear examples. Every sentence adds value, no redundancy.

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?

Given the tool's simplicity and presence of an output schema, the description covers purpose, parameters, and examples adequately. Could mention data source or update latency, but not essential.

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 description provides complete parameter documentation (symbol, period, interval with valid values) and examples, compensating for the 0% schema description coverage. 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 it retrieves historical price data for any global stock and returns OHLCV data with summary stats. This distinguishes it from sibling tools like nse_historical (only Indian) or stock_quote (current price).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., nse_historical for Indian stocks, crypto_historical for crypto). The examples show usage but do not specify exclusions or context.

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

stock_quoteA

Get real-time stock quote for any global stock.

Works for US, UK, European, Asian, and Indian stocks. Returns price, change, volume, market cap, P/E, sector, country, and more.

Args: symbol: Stock ticker symbol. Formats: - US stocks: AAPL, MSFT, GOOGL, TSLA, AMZN - UK stocks: HSBA.L, BP.L, VOD.L - Japan: 7203.T (Toyota), 6758.T (Sony) - Hong Kong: 0700.HK (Tencent) - India: RELIANCE.NS, TCS.NS (use nse_quote for Indian stocks)

Examples: stock_quote("AAPL") โ†’ Apple live price stock_quote("MSFT") โ†’ Microsoft live price stock_quote("TSLA") โ†’ Tesla live price

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It states the return fields ('price, change, volume, market cap, P/E, sector, country, and more') and that it works for global stocks. However, it doesn't explicitly state that it is a read-only, non-destructive operation or mention any rate limits or authentication requirements.

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 concise and well-structured: a brief intro, then bullet points for symbol formats, and examples. Every sentence adds value with no redundancy.

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 output schema exists (though not shown), the description lists all key return fields and covers global stock coverage sufficiently. It is complete for its purpose.

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 input schema has 0% description coverage for the 'symbol' parameter, but the description provides extensive detail on symbol formats with examples per region, adding significant meaning beyond the raw 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: 'Get real-time stock quote for any global stock.' It specifies the action (get), the resource (stock quote), and the scope (global). This distinguishes it from siblings like nse_quote, bse_quote, and crypto_price.

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 explicit examples for different regional formats (US, UK, Japan, Hong Kong, India) and mentions an alternative for Indian stocks ('use nse_quote for Indian stocks'). While it doesn't exhaustively list all alternatives, it gives clear usage context.

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

stock_screenerA

Screen stocks by multiple financial criteria. [PRO]

Filter Nifty 50 or S&P 500 stocks by P/E ratio, ROE, market cap, dividend yield, debt/equity ratio, and sector.

Args: exchange: "NSE" for Indian stocks, "US" for US stocks (default: NSE) pe_max: Maximum P/E ratio (e.g., 15 for value stocks). 0 = no filter. pe_min: Minimum P/E ratio. 0 = no filter. roe_min: Minimum Return on Equity in % (e.g., 20). 0 = no filter. market_cap_min: Minimum market cap in USD (e.g., 1000000000 for $1B). 0 = no filter. dividend_yield_min: Minimum dividend yield in % (e.g., 2). 0 = no filter. debt_equity_max: Maximum debt-to-equity ratio (e.g., 50). 0 = no filter. sector: Filter by sector name (e.g., "Technology", "Financial"). Empty = all. limit: Max number of results (default: 15)

Examples: stock_screener("NSE", pe_max=15, roe_min=20) โ†’ Value stocks with high ROE stock_screener("NSE", dividend_yield_min=3) โ†’ High dividend yield stocks stock_screener("US", pe_max=20, sector="Technology") โ†’ Cheap US tech stocks

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
pe_maxNo
pe_minNo
sectorNo
roe_minNo
exchangeNoNSE
market_cap_minNo
debt_equity_maxNo
dividend_yield_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description clearly explains the tool's screening behavior, including criteria and exchange options. However, it does not address potential side effects, authentication, or rate limits, which are minor given the read-only nature.

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 well-structured with a summary, parameter list, and examples, all front-loaded. Every sentence is useful, and the examples are concise yet illustrative.

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 output schema exists, the description focuses on inputs and usage. It covers all 9 parameters across two exchanges, includes examples, and provides sufficient detail for effective use without superfluous information.

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?

Schema coverage is 0%, so the description compensates fully with detailed explanations for each parameter, including examples, defaults, and usage hints like 'e.g., 15 for value stocks', adding significant meaning beyond the 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 explicitly states 'Screen stocks by multiple financial criteria' and lists specific filters (P/E, ROE, etc.) and exchanges (Nifty 50, S&P 500), making the purpose clear and distinct from siblings like 'nse_52week_scanner' or 'scan_watchlist'.

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?

The description provides examples illustrating typical usage but lacks explicit guidance on when to use this tool versus alternatives (e.g., technical scanners). Usage is implied by the parameter-focused examples.

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

support_resistanceA

Compute support and resistance levels for a stock. [PRO]

Calculates pivot points (R1, R2, R3, S1, S2, S3) and identifies key price levels from historical price action.

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL, TCS) period: Data period: 3mo, 6mo, 1y, 2y (default: 6mo)

Examples: support_resistance("RELIANCE") โ†’ Key levels for Reliance support_resistance("AAPL", "1y") โ†’ Apple support/resistance with 1yr data

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo6mo
symbolYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Without annotations, the description discloses basic behavior: computing pivot points and key price levels from historical data. It does not reveal data source, accuracy, or edge cases, but the core action is transparent.

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 structured with a brief purpose, Args, and Examples sections. It is concise but the '[PRO]' tag is unexplained. Every sentence adds value, though the examples could be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown), the description covers inputs adequately with examples. However, it lacks details on the output format or how results are structured, making it somewhat incomplete for a complex analytical tool.

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?

Schema coverage is 0%, so the description fully compensates by explaining both parameters: symbol with ticker examples and period with explicit options (3mo,6mo,1y,2y) and default. This adds substantial meaning beyond the schema's type and default.

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 it computes support and resistance levels, specifically naming pivot points R1-R3 and S1-S3. This verb+resource pair is distinct and well-defined, differentiating it from sibling tools like technical_indicators.

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?

The description provides examples of usage (stock tickers and periods), implying when to use it. However, it does not explicitly state when not to use it or contrast with alternatives like technical_indicators or stock_historical, leaving room for ambiguity.

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

technical_indicatorsA

Compute technical indicators for a stock with buy/sell signals.

Calculates RSI, MACD, SMA (20/50/200), EMA, Bollinger Bands, ATR, Stochastic, ADX, OBV โ€” all computed locally, no API cost.

Works for Indian (NSE/BSE) and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, TSLA) period: Data period for calculation: 3mo, 6mo, 1y, 2y (default: 6mo) indicators: Comma-separated list of specific indicators. Options: RSI, MACD, SMA, EMA, BBANDS, ATR, STOCH, ADX, OBV Leave empty for ALL indicators.

Examples: technical_indicators("RELIANCE") โ†’ All indicators for Reliance technical_indicators("AAPL", "1y") โ†’ Apple with 1 year data technical_indicators("TCS", "6mo", "RSI,MACD,SMA") โ†’ Only RSI, MACD, SMA

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo6mo
symbolYes
indicatorsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Mentions 'computed locally, no API cost' but lacks explicit read-only declaration, side effects, or other behavioral traits. Does not state that it is safe and non-destructive.

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?

Description is structured with an Args section and examples, making it easy to parse. Though slightly verbose with examples, each part adds value. Could be more concise, but structure is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers tool purpose, parameters, and markets. With an output schema present, lack of output description is acceptable. However, for a complex tool with many indicators, it could mention performance or data source details. Adequate but not thorough.

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%, but description explains each parameter clearly with defaults, options, and examples. Period values listed, indicators options enumerated, and examples illustrate usage, compensating well for schema gaps.

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?

Clearly states it computes technical indicators for stocks with buy/sell signals, listing specific indicators and markets. The verb 'Compute' and resource 'technical indicators' are specific, distinguishing it from sibling tools like 'nse_historical' or 'options_greeks'.

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?

The description provides examples and parameter details but does not explicitly state when to use this tool over alternatives (e.g., 'stock_quote' or 'nse_historical'). No when-not-to-use or competing tool mentions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 56 tool updates
    • Addedamfi_fund_flows
    • Addedanalyze_budget_live
    • Addedanalyze_portfolio
    • Addedbroker_setup_status
    • Addedbrsr_esg
    • Addedcalculate_tax_liability
    • Addedcheck_signal_outcomes
    • Addedcorrelate_gst_to_stocks
    • Addedcredit_ratings
    • Addeddetect_pump
    • Addeddetect_unusual_activity
    • Addeddividend_history_deep
    • Addedevaluate_signal_quality
    • Addedfyers_candles
    • Addedfyers_live_quote
    • Addedfyers_status
    • Addedget_agm_brief
    • Addedget_budget_impact
    • Addedget_fii_retail_divergence
    • Addedget_fno_trade_setup
    • Addedget_insider_signal
    • Addedget_mf_overlap
    • Addedget_morning_brief
    • Addedget_morning_fno_brief
    • Addedget_nifty_outlook
    • Addedget_pledge_alert
    • Addedget_sebi_alerts
    • Addedget_sector_peer_context
    • Addedget_signal_accuracy
    • Addedget_signal_history
    • Addedget_social_sentiment
    • Addedget_stock_brief
    • Addedget_stock_debate
    • Addedget_stock_signal_score
    • Addedget_stock_timeline
    • Addedget_telegram_tracker
    • Addedgift_nifty
    • Addedicici_candles
    • Addedicici_live_quote
    • Addedicici_status
    • Addedindia_gsec_yields
    • Addedindia_macro_indicators
    • Addedindia_vix
    • Addedlive_quote
    • Addedmarket_depth
    • Addednifty_pcr_trend
    • Addednse_insider_trading
    • Addedoptions_greeks
    • Addedoptions_oi_analytics
    • Addedpredict_circuit
    • Addedpredict_earnings
    • Addedpromoter_pledge
    • Addedpromoter_shareholding
    • Addedrbi_policy_rates
    • Addedscan_pledge_risks
    • Addedscan_watchlist
  2. 39 tool updatesv0.3.2
    • First observedbacktest_strategy
    • First observedbalance_sheet
    • First observedbse_quote
    • First observedcash_flow
    • First observedcompany_profile
    • First observedcompare_stocks_tool
    • First observedcrypto_historical
    • First observedcrypto_price
    • First observeddividend_history
    • First observedearnings_calendar
    • First observedfinstack_info
    • First observedforex_rate
    • First observedincome_statement
    • First observedipo_calendar
    • First observedkey_ratios
    • First observedmarket_news
    • First observedmutual_fund_nav
    • First observednifty_index
    • First observednse_52week_scanner
    • First observednse_bulk_deals
    • First observednse_circuit_breakers
    • First observednse_corporate_actions
    • First observednse_fii_dii_data
    • First observednse_historical
    • First observednse_market_status
    • First observednse_options_chain
    • First observednse_quarterly_results
    • First observednse_quote
    • First observednse_top_movers
    • First observedportfolio_analysis
    • First observedsec_filing
    • First observedsec_filing_search
    • First observedsector_performance
    • First observedsensex_components
    • First observedstock_historical
    • First observedstock_quote
    • First observedstock_screener
    • First observedsupport_resistance
    • First observedtechnical_indicators

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes clearly separated by asset class (crypto_, nse_, stock_) or function (financial statements vs. technical analysis). Minor ambiguity exists between the three quote tools (nse_quote, bse_quote, stock_quote) and historical data tools which could be confused if an agent doesn't know which market a symbol belongs to, but descriptions clarify the scope.

Naming Consistency3/5

Tools follow logical grouping patterns (nse_ prefix for Indian market tools, crypto_ for crypto, sec_ for SEC filings) but mix conventions. Some use snake_case descriptors (income_statement), others use _tool suffix (compare_stocks_tool), and financial statements use accounting terminology without prefixes while technical tools use descriptive verbs (backtest_strategy, support_resistance).

Tool Count2/5

With 39 tools, this significantly exceeds the threshold where count becomes unwieldy (25+). The breadth covers multiple exchanges and asset classes, but significant consolidation is possibleโ€”quote and historical data tools could be unified with exchange/asset parameters rather than having separate nse_quote, bse_quote, stock_quote, and crypto_price tools.

Completeness4/5

Excellent coverage for equity analysis across Indian and US markets including fundamental data (financial statements, ratios), technical analysis (indicators, backtesting), derivatives (options chain), and portfolio management. Minor gaps in fixed income/bonds and futures markets prevent a perfect score, but core equity workflows are fully supported.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time and historical Indian stock market data from NSE and BSE exchanges with 66 tools covering quotes, options chains, corporate actions, IPOs, and market analytics for LLM-powered financial analysis.
    85
    12
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides comprehensive Indian stock market data from the NSE and BSE, including live quotes, historical trends, and fundamental analysis. Users can compare stock performance, track major indices, and access financial statements without the need for an API key.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Indian stock market data. Provides 16 tools for quotes, history, fundamentals, mutual funds, indices, corporate actions, options, IPOs, and portfolio analysis.
    16
    99
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Exposes live Indian stock market data from the National Stock Exchange (NSE) via 17 tools covering bulk/block deals, institutional flows, market data, corporate events, and short selling.
    17
    12
    Apache 2.0

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/finstacklabs/finstack-mcp'

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