groww-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@groww-mcpShow my portfolio summary and today's top gainers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
____ ____ ___ _ _ _ _ _ _ __ __ ____ ____
/ ___|/ ___| / _ \| | | | | | | | \/ |/ ___|/ _ |
| | _| |___ | | | | | | | | | | __ | |\/| | | | |_) |
| |_| |\___ \| |_| | |_| |_| |/ / | | | | | |___| __/
\____|____/ \___/ \_____/|___/ |_| |_| \____|_|Trade on Groww. Through Claude.
What is this
An MCP server that connects Claude Desktop to Groww's trading platform. It registers 23 tools that let you manage equity holdings, place buy/sell orders, track live market data, run SIPs, and invest in mutual funds -- all through natural language prompts in Claude. Supports a full mock mode for demos without touching real money.
Related MCP server: Groww MCP Server
Architecture
┌──────────────────┐ stdio / MCP ┌──────────────────────┐
│ │ ────────────────────────────> │ │
│ Claude Desktop │ │ groww-mcp │
│ (MCP Client) │ <──────────────────────────── │ (MCP Server) │
│ │ tool results (text) │ │
└──────────────────┘ └──────────┬───────────┘
│
│ HTTPS
│ axios + retry
v
┌──────────────────────┐
│ Groww API │
│ (or mock layer) │
└──────────────────────┘
┌──────────────────────────────────────────┐
│ Registered Tools │
├────────────┬───────────┬─────────────────┤
│ portfolio │ orders │ market │
│ positions │ watchlist│ quotes │
│ holdings │ modify │ OHLC │
├────────────┼───────────┼─────────────────┤
│ SIP │ funds │ search │
│ create │ invest │ top movers │
│ pause/stop │ details │ status │
└────────────┴───────────┴─────────────────┘Quickstart
1. Clone and build
git clone https://github.com/darved2305/groww-mcp.git
cd groww-mcp
npm install
cp .env.example .env # add your GROWW_API_TOKEN or leave MOCK_MODE=true
npm run build2. Register with Claude Desktop
Open your claude_desktop_config.json and add:
{
"mcpServers": {
"groww": {
"command": "node",
"args": ["/absolute/path/to/groww-mcp/dist/index.js"],
"env": {
"MOCK_MODE": "true",
"GROWW_API_TOKEN": "your_token_here"
}
}
}
}3. Restart Claude Desktop. You're done.
Tools
23 tools across 6 domains.
Portfolio
# | Tool | Description | Params |
1 |
| Current equity holdings with P&L | -- |
2 |
| Invested, current value, day P&L | -- |
3 |
| Intraday open positions | -- |
4 |
| Past orders, filterable by date |
|
Market
# | Tool | Description | Params |
5 |
| LTP, bid/ask, volume for symbol |
|
6 |
| Fuzzy search stocks by name/ticker |
|
7 |
| OHLC candles, 1d/1w/1m/1y |
|
8 |
| Top 5 gainers and losers | -- |
9 |
| NSE/BSE open or closed | -- |
Orders
# | Tool | Description | Params |
10 |
| BUY/SELL, MARKET/LIMIT, CNC/MIS |
|
11 |
| Cancel a pending order |
|
12 |
| Change price or quantity |
|
13 |
| Real-time order status |
|
Watchlist
# | Tool | Description | Params |
14 |
| All watchlist symbols with LTP | -- |
15 |
| Add a symbol |
|
16 |
| Remove a symbol |
|
SIP
# | Tool | Description | Params |
17 |
| All active SIPs with next date | -- |
18 |
| New SIP: fund, amount, frequency |
|
19 |
| Pause an active SIP |
|
20 |
| Cancel SIP permanently |
|
Mutual Funds
# | Tool | Description | Params |
21 |
| Search by name, category, AMC |
|
22 |
| NAV, AUM, expense ratio, returns |
|
23 |
| One-time lumpsum investment |
|
Example Prompts
"What's my current portfolio P&L today?"
"Buy 10 shares of RELIANCE at market price"
"Show me top gainers on NSE right now"
"Start a 5000/month SIP in Mirae Asset Large Cap"
"Cancel all my pending orders"
Environment Variables
Variable | Required | Default | Description |
| Yes* | -- | Groww API token for authentication |
| No |
| Base URL for the Groww API |
| No |
| Set to |
| No |
| Runtime environment |
*Not required when MOCK_MODE=true.
Mock Mode
The server ships with a full mock data layer. Set MOCK_MODE=true in your environment and every tool returns realistic hardcoded data using real Indian stocks (RELIANCE, TCS, INFY, HDFCBANK, ICICIBANK, WIPRO, BAJFINANCE) and real mutual fund schemes. No Groww account needed. No API calls made.
MOCK_MODE=true node dist/index.jsWARNING
This software can place real trades and move real money.
A poorly worded prompt can trigger a market order. A misunderstood confirmation can invest your savings in the wrong fund. The mock mode exists specifically so you don't learn this the hard way.
Use MOCK_MODE=true until you are absolutely certain. Test with small amounts first. The authors of this project accept zero responsibility for financial losses incurred through use of this tool.
License
MIT
Available Tools
23 toolsadd_to_watchlistC
Add a stock symbol to your watchlist
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol to add, e.g. RELIANCE | |
| exchange | No | Exchange | NSE |
TDQS
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 states the action but doesn't reveal whether this requires authentication, has rate limits, affects existing watchlist entries, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's perfectly front-loaded with the core action and resource, making it immediately scannable and understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address authentication requirements, error conditions, response format, or how it interacts with the watchlist system. Given the complexity of financial operations, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description doesn't add any parameter semantics beyond what's in the schema (e.g., format examples, constraints, or relationships between parameters). Baseline 3 is appropriate when schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and resource ('stock symbol to your watchlist'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from its sibling tool 'remove_from_watchlist' beyond the obvious verb difference, nor does it specify if this is for creating new watchlists or adding to existing ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., authentication, existing watchlist), when not to use it, or how it relates to sibling tools like 'get_watchlist' or 'remove_from_watchlist'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderC
Cancel a pending order by order ID
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID to cancel |
TDQS
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 states the action ('Cancel') but lacks details on permissions required, whether cancellation is reversible, rate limits, or what happens if the order isn't pending. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after cancellation (e.g., confirmation message, error conditions), nor does it address behavioral aspects like permissions or side effects, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'order_id' well-documented in the schema. The description adds no additional parameter semantics beyond what the schema already provides, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel') and target resource ('a pending order'), providing specific verb+resource pairing. However, it doesn't differentiate from sibling tools like 'modify_order' which might also handle order modifications, leaving room for ambiguity about when to choose one over the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'modify_order' or 'get_order_status'. It mentions 'pending order' but doesn't specify what qualifies as pending or whether it works on other order states, offering minimal contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_sipC
Cancel a SIP permanently
| Name | Required | Description | Default |
|---|---|---|---|
| sip_id | Yes | SIP ID to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action is 'permanent', which implies an irreversible destructive operation, but doesn't disclose other behavioral traits like authentication requirements, rate limits, error conditions, or what happens to associated funds. For a destructive tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a destructive operation with no annotations and no output schema, the description is incomplete. It doesn't explain what 'permanently' entails (e.g., funds returned, cancellation fee), expected response, or error handling. For a tool that permanently cancels financial transactions, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'sip_id' fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides (e.g., format examples, validation rules). Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel') and target resource ('a SIP'), making the purpose immediately understandable. It distinguishes from siblings like 'pause_sip' by specifying 'permanently', though it doesn't explicitly contrast with other cancellation tools like 'cancel_order'. The purpose is specific but could be more differentiated from similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., SIP must exist), exclusions (e.g., cannot cancel if already completed), or when to choose this over 'pause_sip' or 'cancel_order'. The description lacks any contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sipC
Create a new SIP with fund ISIN, amount, frequency, and start date
| Name | Required | Description | Default |
|---|---|---|---|
| isin | Yes | Mutual fund ISIN code, e.g. INF846K01EW2 | |
| amount | Yes | SIP amount in INR | |
| frequency | No | SIP frequency | MONTHLY |
| start_date | Yes | SIP start date (YYYY-MM-DD) |
TDQS
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. While 'Create' implies a write/mutation operation, it doesn't specify permissions required, whether the operation is idempotent, what happens on failure, or what the response contains. This is inadequate for a creation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose and enumerates the key parameters without any fluff. Every word serves a functional purpose, making it optimally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a SIP is, what the response looks like, error conditions, or system behavior post-creation. The agent lacks critical context to use this tool effectively in real scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all parameters. The description lists the parameters but adds no additional semantic context beyond what's in the schema (e.g., format examples, business rules, or constraints). This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new SIP') and specifies the key parameters (fund ISIN, amount, frequency, start date), making the purpose unambiguous. However, it doesn't explicitly differentiate this tool from sibling tools like 'invest_in_fund' or 'list_sips', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'invest_in_fund' or 'pause_sip'. It doesn't mention prerequisites, constraints, or typical use cases, leaving the agent 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.
get_fund_detailsA
NAV, AUM, expense ratio, returns (1y/3y/5y), risk grade for a mutual fund
| Name | Required | Description | Default |
|---|---|---|---|
| isin | Yes | Mutual fund ISIN code, e.g. INF846K01EW2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what data is returned but lacks critical behavioral details: whether this is a read-only operation (implied but not stated), if it requires authentication, rate limits, error handling (e.g., invalid ISIN), or data freshness. For a tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, listing all key metrics in a single, efficient phrase without unnecessary words. Every element (NAV, AUM, etc.) directly contributes to understanding the tool's output, making it zero waste and highly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally complete. It specifies what data is retrieved but lacks behavioral context (e.g., safety, errors) and doesn't explain return values (since no output schema exists). For a simple lookup tool, it's adequate but has clear gaps in transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'isin' well-documented in the schema. The description doesn't add any parameter-specific semantics beyond implying it's for mutual funds (which the schema's example also suggests). With high schema coverage and only one parameter, the baseline is 3, but the description's clarity on the resource type slightly enhances understanding, warranting a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb ('get') and resource ('fund details'), listing exactly what metrics are retrieved (NAV, AUM, expense ratio, returns, risk grade) for a mutual fund. It distinguishes from siblings like 'search_funds' (which likely searches) or 'invest_in_fund' (which transacts), 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.
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. It doesn't mention prerequisites (e.g., needing a valid ISIN), exclusions (e.g., not for stocks), or direct comparisons to siblings like 'search_funds' (which might return basic info) or 'get_quote' (which might be for stocks). Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_holdingsB
Fetch all current equity holdings with avg buy price, current value, P&L %
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 'fetch all current equity holdings' but doesn't disclose behavioral traits like whether this requires authentication, rate limits, real-time vs. cached data, pagination, or error conditions. The description is minimal and lacks operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Fetch all current equity holdings') and specifies key data fields. There is zero waste, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0 parameters, the description is minimally complete for a read-only tool. It states what data is fetched but lacks context on format, scope (e.g., all accounts or filtered), or behavioral expectations, leaving gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description adds no parameter semantics, but with zero parameters, the baseline is 4 as it adequately addresses the tool's purpose without unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch') and the resource ('all current equity holdings') with specific data fields (avg buy price, current value, P&L %). It distinguishes from siblings like get_portfolio_summary (likely aggregated) or get_positions (may include non-equities), though not explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving detailed equity holdings data, but provides no explicit guidance on when to use this tool versus alternatives like get_portfolio_summary or get_positions. Context is clear but lacks exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_statusA
Check if NSE/BSE is currently open for trading
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool's function but lacks behavioral details such as rate limits, authentication requirements, response format, or error conditions. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It is front-loaded with the core purpose, making it easy to parse and understand immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema) and lack of annotations, the description is adequate but minimal. It covers the basic purpose but lacks details on behavior, output, or error handling, which could be useful for an agent despite the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, aligning with the schema. Baseline is 4 for zero parameters, as it avoids unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Check') and resource ('if NSE/BSE is currently open for trading'), with precise scope (current trading status). It effectively distinguishes from siblings like get_ohlc_data or get_quote, which retrieve market data rather than operational status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (determining market hours for trading decisions) but does not explicitly state when to use it versus alternatives. No guidance on prerequisites or exclusions is provided, leaving usage context inferred rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ohlc_dataC
OHLC candles for a symbol — supports 1d/1w/1m/1y intervals
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol | |
| exchange | No | Exchange | NSE |
| interval | No | Candle interval | 1d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions what data is returned (OHLC candles) and supported intervals, it doesn't address critical behavioral aspects like rate limits, authentication requirements, data freshness, pagination, error conditions, or whether this is a real-time or historical data source. For a financial data tool with no annotation coverage, this represents significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with zero wasted words. It front-loads the core functionality (OHLC candles for a symbol) and efficiently lists the supported intervals. Every element serves a purpose, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a financial data retrieval tool. It doesn't explain what format the OHLC data returns, whether it includes timestamps, volume information, or how many periods are returned. For a tool with 3 parameters in a domain where data format matters significantly, more contextual information would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description adds minimal value beyond the schema by mentioning interval support, but doesn't provide additional context about parameter interactions, validation rules, or usage examples. The baseline score of 3 reflects adequate but not enhanced parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves OHLC candles for a symbol with specific interval support. It uses specific terms like 'OHLC candles' and 'symbol' with enumerated intervals, making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like get_quote or get_top_movers, which also provide market data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With multiple sibling tools for market data (get_quote, get_top_movers, get_market_status), there's no indication of when OHLC data is preferred over simple quotes or other market information. No prerequisites, exclusions, or comparison context is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_historyB
Past orders with status, optionally filter by date range
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | Start date (YYYY-MM-DD) | |
| end_date | No | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior, or what the return format looks like (e.g., list of orders with fields). 'Past orders with status' is minimal context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Past orders with status') and adds the optional filtering detail. No wasted words, though it could be slightly more structured (e.g., separating purpose from constraints).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 2 parameters, the description is incomplete. It doesn't explain what 'status' includes, the order of results, pagination, error conditions, or authentication needs. Given the complexity of order history data, more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds marginal value by mentioning 'optionally filter by date range', which aligns with the two date parameters but doesn't provide additional semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'past orders with status' and mentions optional date filtering, providing a specific verb ('get') and resource ('order history'). It distinguishes from siblings like 'get_order_status' (single order) and 'get_portfolio_summary' (aggregate data), though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving historical orders, but provides no explicit guidance on when to use this versus alternatives like 'get_order_status' for specific orders or 'get_portfolio_summary' for aggregated data. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_statusC
Real-time status of a specific order
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states 'real-time status' without clarifying what that entails (e.g., response format, latency, authentication needs, or rate limits). It misses critical behavioral details for a status-checking tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'status' includes (e.g., pending, executed, failed) or return values, leaving gaps for an AI agent to understand the tool's full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'order_id' well-documented in the schema. The description adds no additional meaning beyond implying a specific order context, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Real-time status of a specific order' clearly states the verb ('status') and resource ('order'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_order_history' or 'modify_order', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'get_order_history' for historical data or 'modify_order' for updates. It lacks any context about prerequisites or exclusions, leaving usage decisions ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_summaryC
Total invested, current value, total P&L, day's P&L
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 metrics but doesn't disclose behavioral traits such as whether it's a read-only operation, requires authentication, has rate limits, or how data is sourced (e.g., real-time vs. delayed). This leaves gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, listing key metrics in a single phrase without unnecessary words. However, it could be more structured by front-loading the purpose (e.g., 'Retrieve a summary of portfolio metrics including...') to improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of financial portfolio tools and lack of annotations or output schema, the description is incomplete. It lists metrics but doesn't explain return values, data formats, or potential errors, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but this is acceptable given the lack of parameters, aligning with the baseline for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists specific metrics (total invested, current value, total P&L, day's P&L) which implies it retrieves portfolio summary data, but it lacks a clear verb and doesn't distinguish from sibling tools like get_holdings or get_positions. It's vague about what exactly 'portfolio summary' entails beyond the listed metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like get_holdings or get_positions, which might offer more detailed or different portfolio information. The description only states what metrics are returned, not the 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_positionsB
Intraday open positions with unrealized P&L
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. While it indicates this is a read operation (get), it doesn't disclose important behavioral aspects like authentication requirements, rate limits, data freshness, or whether it returns real-time or delayed data. The description provides minimal behavioral context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single phrase that communicates the essential purpose without any wasted words. It's front-loaded with the core functionality and appropriately sized for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and the description's minimal content, this is incomplete for a financial data tool. The description doesn't explain what format the positions are returned in, what fields are included, whether it's real-time or end-of-day data, or any authentication requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, which is correct for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving intraday open positions with unrealized P&L. It specifies the resource (positions) and key attributes (intraday, open, with unrealized P&L), but doesn't explicitly differentiate from sibling tools like 'get_holdings' or 'get_portfolio_summary'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description doesn't mention prerequisites, timing considerations, or how it differs from similar sibling tools like 'get_holdings' or 'get_portfolio_summary'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteC
LTP, bid/ask, open, high, low, volume for a symbol (NSE/BSE)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol, e.g. RELIANCE, TCS, INFY | |
| exchange | No | Exchange — NSE or BSE | NSE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the data fields returned but doesn't describe any behavioral traits such as rate limits, authentication requirements, data freshness (real-time vs delayed), error conditions, or whether this is a read-only operation. The description is purely functional without operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence that packs all necessary functional information without any fluff. It's front-loaded with the core purpose and uses parentheses efficiently to clarify scope. Every word earns its place, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (financial data retrieval with multiple fields), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., structure of LTP, units for volume), error handling, or any prerequisites. For a tool with no structured output documentation, the description should provide more context about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'symbol (NSE/BSE)' which loosely relates to parameters but doesn't explain semantics like format requirements for symbols or the implications of choosing NSE vs BSE. With high schema coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what data the tool retrieves (LTP, bid/ask, open, high, low, volume) and for what resource (a symbol on NSE/BSE). It uses specific financial terminology and identifies the scope. However, it doesn't explicitly distinguish this from sibling tools like 'get_ohlc_data' or 'search_stocks', which might provide overlapping or related functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With siblings like 'get_ohlc_data' (which might provide similar OHLC data) and 'search_stocks' (which might help find symbols), there's no indication of when this specific quote retrieval tool is preferred or what its limitations are compared to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_moversB
Top 5 gainers and losers for the day
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 'for the day' which implies time-bound data, but doesn't disclose critical behaviors like whether it requires authentication, rate limits, data freshness, or error conditions. For a financial data tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple read operation) but lack of annotations and output schema, the description is incomplete. It doesn't explain what data is returned (e.g., format, fields), error handling, or dependencies like market hours. For a tool in a financial context with siblings requiring auth, this should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here. Baseline is 4 for zero parameters, as no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving the top 5 gainers and losers for the day. It specifies the verb ('get' implied by name) and resource (market movers), though it doesn't explicitly differentiate from siblings like get_quote or search_stocks. The description is specific but lacks sibling comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites, context (e.g., market hours), or compare to siblings like get_market_status or search_stocks for similar data. Usage is implied by the name and description but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watchlistB
List all watchlist symbols with LTP and day change
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read-only operation ('List'), but doesn't disclose behavioral traits like authentication requirements, rate limits, pagination, error conditions, or whether it returns real-time or cached data. For a financial tool with no annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes essential details (LTP and day change) without unnecessary elaboration. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple read operation with no parameters) and lack of annotations/output schema, the description is minimally adequate. It states what data is returned but lacks context on format, limitations, or behavioral aspects. It's complete enough for basic use but leaves gaps for reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (empty schema). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for tools with no parameters, as it doesn't introduce confusion or omissions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List all watchlist symbols with LTP and day change.' It specifies the verb ('List'), resource ('watchlist symbols'), and key data fields ('LTP and day change'). However, it doesn't explicitly differentiate from sibling tools like 'get_quote' or 'get_top_movers,' which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., needing a watchlist set up), exclusions, or comparisons to siblings like 'get_quote' (for single symbols) or 'get_top_movers' (for market trends). This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invest_in_fundC
One-time lumpsum investment in a mutual fund
| Name | Required | Description | Default |
|---|---|---|---|
| isin | Yes | Mutual fund ISIN code | |
| amount | Yes | Investment amount in INR |
TDQS
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 states this is an investment action, implying a financial transaction, but doesn't mention critical aspects like authentication requirements, whether this executes immediately or creates an order, potential fees, confirmation mechanisms, or what happens on failure. This leaves significant gaps for a tool that likely involves monetary transactions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 5 words, front-loading the essential information with zero wasted words. Every element ('one-time', 'lumpsum', 'investment', 'mutual fund') contributes meaningfully to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a financial transaction tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after invocation (confirmation? order ID? error handling?), doesn't mention authentication or permission requirements, and provides no behavioral context about execution timing or limitations. Given the complexity and risk profile of investment tools, this leaves too many unanswered questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema itself (ISIN code and amount in INR). The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline but doesn't provide extra value like explaining ISIN format requirements or minimum investment amounts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('one-time lumpsum investment') and resource ('mutual fund'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'place_order' or 'create_sip' which might also involve investment actions, leaving some ambiguity about when this specific tool should be used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'place_order' (which might handle stocks) or 'create_sip' (for recurring investments). It mentions 'one-time' and 'lumpsum' which helps distinguish from SIPs, but offers no explicit when/when-not instructions or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sipsB
All active SIPs with fund name, amount, next date
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what data is returned but doesn't mention whether this is a read-only operation, if it requires authentication, rate limits, pagination, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single phrase that efficiently communicates the core functionality and return data. Every word earns its place with no redundancy or unnecessary elaboration. It's front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with no parameters and no output schema, the description adequately covers what the tool returns. However, without annotations or output schema, it should ideally mention that this is a read-only operation and whether authentication is required. The description is minimally complete but could be more comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description appropriately doesn't discuss parameters, maintaining focus on what the tool returns rather than what it accepts. This meets the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists active SIPs and specifies the data fields returned (fund name, amount, next date). It distinguishes from siblings like 'get_holdings' or 'get_portfolio_summary' by focusing specifically on SIPs. However, it doesn't explicitly mention that it's a read-only operation or differentiate from 'create_sip' or 'pause_sip' beyond scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites, whether it requires authentication, or how it differs from other portfolio-related tools like 'get_holdings' or 'get_portfolio_summary'. The user must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modify_orderC
Modify price/quantity of a pending limit order
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID to modify | |
| quantity | No | New quantity | |
| price | No | New limit price | |
| trigger_price | No | New trigger price |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation ('modify') but doesn't state whether this requires specific permissions, if changes are reversible, what happens on failure, or any rate limits. For a financial tool with potential side effects, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. Every word earns its place: 'modify' (action), 'price/quantity' (fields), 'pending limit order' (target). There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a financial order modification tool with no annotations and no output schema, the description is incomplete. It lacks behavioral context (e.g., error conditions, side effects), usage prerequisites, and output expectations. The agent must rely heavily on the schema and external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value beyond the schema: it mentions 'price/quantity' but omits 'trigger_price', and doesn't clarify parameter interactions (e.g., if all fields are optional beyond 'order_id'). Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('modify') and target ('pending limit order'), specifying what fields can be modified ('price/quantity'). It distinguishes from siblings like 'cancel_order' or 'place_order' by focusing on modification rather than creation or cancellation. However, it doesn't explicitly mention that 'trigger_price' is also modifiable, which slightly reduces specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., order must be pending), exclusions (e.g., cannot modify filled orders), or compare to siblings like 'cancel_order' or 'place_order'. The agent must infer usage from the name and context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_sipC
Pause an active SIP temporarily
| Name | Required | Description | Default |
|---|---|---|---|
| sip_id | Yes | SIP ID to pause |
TDQS
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 'temporarily' which hints at non-destructive behavior, but fails to specify whether this requires authentication, has rate limits, what 'temporarily' means, or what happens after pausing. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'temporarily' means, whether the pause is reversible, what the expected response looks like, or error conditions. Given the complexity and lack of structured data, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents the single 'sip_id' parameter. The description doesn't add any semantic details beyond what's in the schema (e.g., format examples, where to find SIP IDs). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('pause') and target resource ('an active SIP'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'cancel_sip' or 'list_sips', which would require explicit comparison to achieve a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'cancel_sip' or 'modify_order', nor does it mention prerequisites (e.g., SIP must be active). It only states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderB
Place BUY/SELL order — supports MARKET/LIMIT, CNC/MIS/NRML product types
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol, e.g. RELIANCE | |
| exchange | No | Exchange | NSE |
| order_type | Yes | BUY or SELL | |
| product_type | No | CNC (delivery), MIS (intraday), NRML (F&O) | CNC |
| price_type | No | MARKET or LIMIT order | MARKET |
| quantity | Yes | Number of shares | |
| price | No | Limit price (required for LIMIT orders) | |
| trigger_price | No | Stop-loss trigger price |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions order types and product types, it fails to describe critical behaviors such as authentication requirements, rate limits, execution guarantees, error handling, or financial implications (e.g., funds deduction, margin requirements). For a high-stakes financial tool with no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with zero waste—it efficiently communicates the tool's core functionality and key supported features without redundancy. Every word earns its place, making it highly front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a financial order placement tool with no annotations and no output schema, the description is insufficient. It lacks details on return values, error conditions, side effects (e.g., fund transfers, position changes), and operational constraints. For a tool with 8 parameters and high stakes, more comprehensive guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by highlighting key parameter categories (BUY/SELL, MARKET/LIMIT, product types) but does not provide additional semantic context like interdependencies (e.g., price required for LIMIT orders, which is already in the schema) or usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Place BUY/SELL order') and specifies the resource (orders) with key supported features (MARKET/LIMIT price types, CNC/MIS/NRML product types). It distinguishes this tool from siblings like cancel_order, modify_order, or get_order_status by focusing on order creation rather than modification, cancellation, or querying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for placing orders, but does not explicitly state when to use this tool versus alternatives like modify_order or cancel_order. It mentions supported features but lacks guidance on prerequisites (e.g., account funding, market hours) or exclusions (e.g., when not to use certain product types).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_watchlistC
Remove a stock symbol from your watchlist
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol to remove | |
| exchange | No | Exchange | NSE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a removal operation, implying mutation, but lacks details on permissions required, whether the action is reversible, error handling (e.g., if the symbol isn't in the watchlist), or side effects. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words. It front-loads the core action and resource efficiently, making it easy to parse and understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's mutation nature, lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions, reversibility, or response format, nor does it provide usage context relative to siblings. For a tool that modifies user data, this leaves critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters (symbol and exchange). The description mentions 'stock symbol' but doesn't add semantic context beyond what the schema provides, such as format examples or the relationship between symbol and exchange. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and resource ('stock symbol from your watchlist'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_watchlist' or 'add_to_watchlist' beyond the obvious verb difference, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites (e.g., needing the symbol to already be in the watchlist), nor does it reference sibling tools like 'add_to_watchlist' or 'get_watchlist' for context, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fundsC
Search mutual funds by name, category, or AMC
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — fund name, category, or AMC | |
| category | No | Filter by category, e.g. Large Cap, Flexi Cap | |
| amc | No | Filter by AMC, e.g. Axis, Mirae, SBI |
TDQS
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 search functionality but doesn't disclose behavioral traits such as whether this is a read-only operation, how results are returned (e.g., pagination, sorting), rate limits, or authentication requirements. This is a significant gap for a search tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of funds, detailed results), how to interpret results, or any behavioral context like error handling. For a search tool with 3 parameters and no structured output, more guidance is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by listing the searchable fields (name, category, AMC), which aligns with the schema but doesn't provide additional syntax or format details beyond what's in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as searching mutual funds by specific criteria (name, category, or AMC), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'search_stocks' or 'get_fund_details' beyond the mutual fund focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description doesn't mention sibling tools like 'search_stocks' for different asset types or 'get_fund_details' for detailed information, nor does it specify prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stocksC
Fuzzy search stocks and MFs by name or ticker
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — stock name, ticker, or keyword |
TDQS
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 'fuzzy search' but doesn't disclose behavioral traits like result format, pagination, rate limits, or authentication needs. This is inadequate for a search tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It lacks details on return values, error handling, or usage context, which are critical for a search tool with one parameter but undefined behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'query' parameter. The description adds marginal value by clarifying it accepts 'name, ticker, or keyword', but doesn't provide syntax or format details beyond what the schema implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('fuzzy search') and resources ('stocks and MFs'), specifying it works by 'name or ticker'. It distinguishes from sibling 'search_funds' by covering both stocks and mutual funds, though the distinction could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'search_funds' or 'get_quote'. The description implies it's for searching, but doesn't specify contexts, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no significant overlap. For example, get_quote provides real-time price data, get_ohlc_data offers historical chart data, and get_fund_details focuses on mutual fund metrics. Even related tools like place_order and modify_order are clearly differentiated by their specific actions.
All tools follow a consistent verb_noun naming pattern (e.g., get_quote, place_order, search_funds). The verbs are appropriately descriptive (get, add, cancel, create, etc.) and the nouns clearly identify the target resource, creating a highly predictable and readable naming convention throughout the set.
With 23 tools, the count is slightly high but reasonable for a comprehensive trading and investment platform covering stocks, mutual funds, orders, SIPs, and watchlists. Each tool appears to serve a specific, necessary function without obvious redundancy, though the number approaches the upper limit of what feels well-scoped.
The tool set provides complete coverage for core trading and investment workflows. It includes market data (quote, OHLC, status), order management (place, modify, cancel, history), portfolio tracking (holdings, summary, positions), mutual fund operations (invest, SIP management, search), and watchlist management. No obvious gaps exist for the domain.
Maintenance
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
Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.
MCP server for stocksense-ai documentation, generated by doc2mcp.
MCP server for Mudrex futures trading enabling AI agents to securely access data and risk tools.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with Interactive Brokers TWS/Gateway via natural language for portfolio management and market data retrieval. It provides tools for account summaries, historical data, and a secure two-step confirmation process for placing and canceling orders.6MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server for the Groww trading platform. This enables LLM applications to interact with your Groww trading account.4
- AlicenseNot gradedqualityCmaintenanceAn MCP server for Zerodha Kite Connect that enables AI agents to execute trades, manage portfolios, fetch market data, and perform technical and fundamental analysis.31MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that lets a language model place real equity orders on a live Groww brokerage account.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/darved2305/groww-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server