Skip to main content
Glama
Prem07a
by Prem07a

find_high_quality_companies

Screen up to 15 NSE/BSE-listed Indian stocks and rank them by financial health score, using earnings quality and red-flag count as tiebreakers.

Instructions

Screen an explicit list of NSE/BSE-listed Indian equities and rank by financial_health_score, using earnings-quality score and red-flag count as tiebreakers. Yahoo has no NIFTY-500-style constituent-list endpoint, so you supply the candidates (max 15). Candidates that couldn't be resolved are appended at the end rather than dropped silently.

:param symbols: candidate ticker symbols to screen (max 15; extras are dropped)
:param max_results: how many ranked candidates to return (failed ones don't count against this)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolsYes
max_resultsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
candidatesYes
Install Server

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses important non-obvious behavior: unresolved candidates are appended at the end rather than silently dropped, extras beyond 15 are dropped, and failed candidates do not count against max_results. This is more transparent than most descriptions, though it does not mention side effects, permissions, or return format.

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 compact and front-loaded, with purpose in the first sentence and behavior explained in the second. The param lines are useful and not redundant with the schema. Minor repetition of 'max 15' between prose and param docs keeps it from being a perfect 5.

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 two parameters and an output schema, the description covers the essential call context: candidate source, limits, tiebreakers, and failure handling. The main gap is exactly how ticker symbols should be formatted for NSE/BSE equities, which is important for a Yfinance-based 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 description coverage is 0%, so the description must compensate, and it does. It explains that symbols are candidate ticker symbols (max 15, extras dropped) and that max_results counts only ranked candidates, not failed ones. It could add ticker format guidance (e.g., .NS suffix), but the provided semantics are useful and actionable.

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 names a specific verb ('screen'), a specific resource ('NSE/BSE-listed Indian equities'), and a concrete ranking method ('by financial_health_score, using earnings-quality score and red-flag count as tiebreakers'). This clearly distinguishes it from sibling tools like find_undervalued_companies or calculate_financial_ratios.

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 tells the agent that candidates must be supplied because Yahoo has no NIFTY-500-style endpoint, and sets the max-15 constraint. It gives clear context for when to use the tool, though it does not explicitly name alternative tools 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.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Prem07a/FinMCP'

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