Skip to main content
Glama
vidyasagardivi9

screener-mcp-pro

screener-mcp-pro

An MCP server that gives an LLM (e.g. Claude) rich, structured data on Indian-listed companies: fundamentals and financial statements scraped from Screener.in, plus price-based technical indicators from Yahoo Finance. Built for deep, one-stock-at-a-time research — ratios, multi-year financials, shareholding trends, peer comparisons, annual reports/credit ratings/concall links, and SMA/RSI/ATR — in a single tool call.

Not affiliated with screener.in or Yahoo Finance.

Tools

Tool

What it returns

Login needed?

screener_get_full_company_snapshot

Everything below, in one call

No

screener_get_company_overview

P/E, book value, ROE, ROCE, market cap, dividend yield, About, pros/cons

No

screener_get_quarterly_results

Quarterly sales/profit table

No

screener_get_profit_loss

Multi-year P&L with compounded growth

No

screener_get_balance_sheet

Multi-year balance sheet

No

screener_get_cash_flow

Multi-year cash flow, incl. free cash flow

No

screener_get_shareholding_pattern

Promoter/FII/DII/govt/public % trend

No

screener_get_peer_comparison

Peer CMP/P/E/market cap/ROCE table

No

screener_get_documents

Announcements, annual reports, credit ratings, concall links

No

screener_get_company_insights

Headcount, $100M+ clients, revenue mix by geography/vertical, TCV, attrition

Yes (see below)

screener_get_technical_indicators

SMA20/50/200, RSI14, ATR14, 52w high/low (Yahoo Finance)

No

screener_login_status

Diagnostic: are credentials configured, did login succeed

N/A

Related MCP server: india-stock-mcp

Install

claude mcp add screener-pro -- uvx --from git+https://github.com/vidyasagardivi9/screener-mcp-pro- screener-mcp-pro

(Registered as screener-pro so it doesn't collide with any other screener MCP server you may already have.)

Optional: enable the Insights tool

Every tool above except screener_get_company_insights works with zero configuration — screener.in serves company pages, financial statements, peer data, and documents publicly. The Insights section (headcount, client counts, revenue mix, etc.) is different: screener.in only sends those numbers to logged-in sessions. If you want that tool to return real values instead of just the metric names, register with your own credentials:

claude mcp add screener-pro -e SCREENER_USERNAME=you@example.com -e SCREENER_PASSWORD=your_password \
  -- uvx --from git+https://github.com/vidyasagardivi9/screener-mcp-pro- screener-mcp-pro

Credentials are read only from these environment variables, kept in an in-memory cookie jar for the process's lifetime, and never written to disk or logged. See .env.example for all supported variables.

Known limitations

  • No company-search tool. screener.in's robots.txt disallows crawling its ?q= search endpoint, so every tool takes an explicit symbol (the screener.in slug, normally identical to the NSE trading symbol — e.g. TCS, INFY, RELIANCE). Resolve the ticker yourself or let the calling LLM infer it from general knowledge.

  • Scraping-based, not an official API. Parsers degrade gracefully (partial results plus a warnings list) if screener.in changes its page structure, but they can still break. tests/test_parsers.py runs against saved HTML fixtures to catch regressions early — if screener.in changes its markup, update the fixtures and parsers together.

  • screener_get_company_insights values are genuinely locked without login — this isn't a scraping trick to get around, screener.in simply doesn't send the numbers to anonymous requests. With valid credentials and a successful login, the tool currently still reports metric names only (numeric-value parsing for the authenticated table layout is a follow-up, since it couldn't be verified without a live logged-in session during development).

  • Respectful by design: a single shared HTTP client, a descriptive User-Agent, retry/backoff only on 429/5xx/timeouts, a configurable minimum delay between requests (default 1.5s), and a defense-in-depth check (robots.py) against screener.in's robots.txt disallow rules. No CAPTCHA or bot-detection bypass of any kind.

  • Intended for personal/educational use consistent with screener.in's terms and your own account's usage limits — not a redistribution or resale of screener.in's data.

Development

uv sync
uv run pytest
uv run screener-mcp-pro   # runs the server over stdio

To inspect tools interactively:

npx @modelcontextprotocol/inspector uv run screener-mcp-pro

License

MIT — see LICENSE.

Available Tools

12 tools
screener_get_balance_sheetA
Read-onlyIdempotent

Multi-year balance sheet: equity, reserves, borrowings, assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

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?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description is not burdened with safety details. It adds context about multi-year data and specific line items but doesn't elaborate on limitations or error scenarios.

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, front-loaded sentence with no unnecessary words. Every element (multi-year, balance sheet, specific items) 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?

Given the simple tool, rich annotations, and existence of output schema, the description adequately states what the tool returns. However, lack of parameter semantics reduces completeness for proper invocation.

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 description coverage is 0%, and the description does not explain any parameters (symbol, consolidated, response_format). The tool's purpose is clear, but the agent receives no guidance on how to use optional parameters like consolidated or response_format beyond their names.

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 balance sheet with specific components (equity, reserves, borrowings, assets) and indicates multi-year scope. This distinguishes it from sibling tools like screener_get_profit_loss and screener_get_cash_flow.

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 when-to-use or when-not-to-use guidance is provided. However, the clear purpose and distinct resource name make it obvious when balance sheet data is needed. Lacks explicit differentiation from other financial statement tools.

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

screener_get_cash_flowB
Read-onlyIdempotent

Multi-year cash flow statement: operating/investing/financing activity, free cash flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. Description adds value by specifying it is multi-year and includes specific cash flow components. 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.

Conciseness5/5

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

Extremely concise and front-loaded. Every word is meaningful with no wasted text.

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 and low complexity (3 params, no nested objects), the description is mostly adequate but lacks parameter semantics. It covers the high-level data content but omits parameter details.

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

Parameters1/5

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

Schema description coverage is 0% and the description provides no information about the parameters (symbol, consolidated, response_format). This is a critical gap as the description fails to explain what each parameter does.

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 provides a multi-year cash flow statement with operating, investing, financing activities, and free cash flow. It is specific and distinct from siblings like profit_loss or balance_sheet, but does not explicitly differentiate itself.

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 such as screener_get_profit_loss or screener_get_balance_sheet. The description lacks context for selection.

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

screener_get_company_insightsA
Read-onlyIdempotent

Headcount, $100M+ client counts, revenue mix by geography/vertical, TCV, attrition, and similar operational metrics. NOTE: screener.in only sends the actual numbers to logged-in sessions -- without SCREENER_USERNAME/SCREENER_PASSWORD configured (or if login fails), this returns the available metric names only, with values locked.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

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?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds that results are locked without proper credentials, providing behavioral context beyond annotations.

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 sentences: first lists the data types, second covers the login-dependent behavior. No filler, efficient and front-loaded.

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 covers the tool's purpose and a key behavioral nuance (login dependency). However, it omits explanation of parameters and output format, which are partially covered by the output schema but not in the description itself.

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 description coverage is 0%. The description does not explain any of the three parameters (symbol, consolidated, response_format) or their effects, leaving the agent to rely solely on schema structure.

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 lists specific operational metrics (headcount, client counts, revenue mix, TCV, attrition) and distinguishes from sibling tools like balance sheet or cash flow. The verb 'get' is implicit but the resource is well-defined.

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 notes the login requirement and behavior when not logged in, guiding the agent on prerequisites. However, it does not compare with sibling tools or state when not 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.

screener_get_company_overviewA
Read-onlyIdempotent

Key ratios (P/E, book value, ROE, ROCE, market cap, dividend yield), the company's About text, and its pros/cons checklist from screener.in.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description adds value by specifying the output contents (ratios, about text, checklist). No contradictions are present.

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, concise sentence that summarizes the tool's outputs without unnecessary detail. Every word 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?

Although the tool has an output schema covering returns, the description lacks guidance on when to choose this tool over siblings. It is adequate for basic understanding but incomplete without usage context.

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 description coverage is 0%, and the description does not explain any of the three parameters (symbol, consolidated, response_format). The baseline is 3, but since coverage is low and description fails to compensate for parameter meaning, the score drops to 2.

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 retrieves key ratios (P/E, book value, ROE, ROCE, market cap, dividend yield), company about text, and pros/cons checklist from screener.in. This distinguishes it from sibling tools like screener_get_balance_sheet or screener_get_cash_flow, making its 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 Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like screener_get_company_insights or screener_get_full_company_snapshot. The purpose is implied by the name and description, but there is no direct guidance on context or exclusions.

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

screener_get_documentsA
Read-onlyIdempotent

Links to recent announcements, annual reports, credit rating updates, and concall transcripts/presentations/recordings.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating safe, non-destructive behavior. The description adds context on document types provided, enhancing transparency beyond annotations.

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 concise sentence that covers the essential purpose without extraneous text. It is well-structured and front-loaded.

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?

With an output schema present, the description does not need to detail return values. However, it lacks usage guidance and parameter semantics, making it marginally adequate for a 3-parameter tool.

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% with no parameter descriptions. The tool description does not explain the 'symbol', 'consolidated', or 'response_format' parameters, leaving the agent to infer from titles 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 the tool provides links to specific document types (announcements, annual reports, etc.), and the name 'get_documents' reinforces this. It is distinct from sibling tools that retrieve structured 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 siblings. The implication is to use it when document links are needed, but alternatives are not discussed.

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

screener_get_full_company_snapshotA
Read-onlyIdempotent

Everything in one call: overview, all financial statements, shareholding, peer comparison, documents, and insights for a company. Use this for a full analysis; use the individual tools when you only need one section.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

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?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint as true. The description does not add further behavioral context beyond stating it returns everything in one call, which is adequate but not enriched.

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 consists of two concise sentences, front-loading the key purpose and usage guidance with no unnecessary 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?

While the description explains the tool's purpose and usage, it lacks parameter details. However, given the output schema exists and annotations are rich, the description is mostly complete for a composite tool.

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

Parameters1/5

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

Schema coverage is 0%, and the description provides no explanation of the three parameters (symbol, consolidated, response_format). It fails to add any 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 provides 'overview, all financial statements, shareholding, peer comparison, documents, and insights for a company' in one call, distinguishing it from sibling tools that serve individual sections.

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?

The description explicitly states when to use this tool ('full analysis') and when to use alternatives ('individual tools when you only need one section'), providing clear guidance.

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

screener_get_peer_comparisonA
Read-onlyIdempotent

Peer comparison table: CMP, P/E, market cap, dividend yield, quarterly profit/sales and growth, ROCE for the company and its industry peers.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations declare safe read-only behavior; description adds value by listing the exact metrics returned, but does not disclose output format or limitations.

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?

Single sentence with 20 words, front-loaded with 'Peer comparison table', no 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 (not shown), the description lacks input parameter details and usage context, making it incomplete for an agent to fully understand the tool's requirements.

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

Parameters1/5

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

Schema has 0% description coverage and the tool description does not explain any parameters (symbol, consolidated, response_format), leaving the agent without guidance on input 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?

Description clearly states the tool returns a peer comparison table with specific financial metrics (CMP, P/E, market cap, etc.), which distinguishes it from sibling tools like balance sheet or cash flow 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?

The description implies usage context (comparing a company with its industry peers) but does not explicitly state when to use this tool over alternatives or any exclusions.

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

screener_get_profit_lossA
Read-onlyIdempotent

Multi-year Profit & Loss statement including compounded growth rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds behavioral detail (multi-year coverage and compounded growth rows) beyond the annotations, enhancing transparency without contradiction.

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, front-loaded sentence with no wasted words efficiently communicates the tool's core purpose.

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?

While the description mentions the output nature, it omits parameter details and usage context, leaving the agent to rely solely on schema, which has zero descriptions. Adequate but not complete.

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 description coverage is 0%, and the description does not explain any of the three parameters (symbol, consolidated, response_format), failing to add 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 provides a 'Multi-year Profit & Loss statement including compounded growth rows', which precisely identifies the tool's function and distinguishes it from sibling tools like screener_get_balance_sheet.

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, nor does it mention prerequisites or exclusions, leaving the agent to infer usage context.

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

screener_get_quarterly_resultsB
Read-onlyIdempotent

Quarterly sales, expenses, operating profit, and net profit table.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the agent knows it is a safe, idempotent read. The description does not add any behavioral context beyond what annotations provide, such as rate limits or authorization needs.

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 with 10 words, containing only essential information. It is front-loaded and does not waste words.

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 that an output schema exists and annotations cover behavioral aspects, the description is minimally adequate. However, it lacks details about data coverage (e.g., how many quarters), update frequency, or any nuances that might affect agent decisions. It is functional but not comprehensive.

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 description coverage is 0%, requiring the description to compensate. However, the description only mentions the content of the result (sales, expenses, profit) and does not explain any of the three parameters (symbol, consolidated, response_format). Neither their purpose nor their effect is clarified.

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 quarterly sales, expenses, operating profit, and net profit as a table. It specifies the resource (quarterly financial data) and the action (retrieval), but does not differentiate this tool from siblings like profit_loss or balance_sheet.

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. There is no mention of prerequisites, data currency, or appropriate contexts. The description only states what it returns, not when it should be chosen over sibling tools.

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

screener_get_shareholding_patternC
Read-onlyIdempotent

Promoter / FII / DII / government / public shareholding percentage trend.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
consolidatedNo
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

Description adds no behavioral information beyond what annotations already provide (read-only, open-world, idempotent). No mention of data freshness, rate limits, or response format implications.

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?

Single sentence is concise and front-loaded with purpose. However, it is overly terse, lacking essential details for a 3-parameter tool.

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 the presence of an output schema, the description does not complete the picture. Missing parameter explanations, usage examples, and any indication of the response structure.

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?

With 0% schema description coverage, the description should explain parameters but does not. It implies 'symbol' is needed but fails to clarify 'consolidated' or 'response_format' meaning.

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 indicates the tool retrieves shareholding percentage trends categorized by promoter, FII, DII, government, and public. It differentiates from sibling tools which cover balance sheet, cash flow, etc., by specifically addressing ownership 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 on when to use this tool versus alternatives. Does not specify prerequisites or context (e.g., need for symbol, consolidated vs standalone).

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

screener_get_technical_indicatorsB
Read-only

SMA20/50/200, RSI14, ATR14, and price-vs-SMA flags from free Yahoo Finance daily price history. No login required.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNo1y
symbolYes
exchangeNoNSE
response_formatNomarkdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true. The description adds that the data comes from free Yahoo Finance daily price history and requires no login. This provides context beyond annotations but does not disclose potential 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.

Conciseness5/5

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

Single sentence efficiently lists outputs, data source, and auth requirement. No redundancy; every word adds value.

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?

Given 4 parameters with zero schema description coverage and presence of an output schema, the description is incomplete. It fails to explain parameter usage, leaving the agent to guess about period defaults, exchange options, or response format. Output schema may help, but parameter coverage is insufficient.

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

Parameters1/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 mentions none of the four parameters (symbol, period, exchange, response_format) and does not explain their role or acceptable values. Agent must rely solely on schema names.

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 lists the specific technical indicators computed (SMA20/50/200, RSI14, ATR14, price-vs-SMA flags) and the data source. It distinguishes the tool from sibling financial data tools (balance sheet, cash flow, etc.) by focusing on technical indicators from price history.

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 it is for technical analysis but does not state prerequisites, limitations, or when not to use it. Sibling tools are listed but no comparison is provided.

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

screener_login_statusA
Read-only

Diagnostic: whether Screener.in credentials are configured and whether login succeeded. Never exposes the credentials themselves.

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?

Annotations already declare readOnlyHint=true, but the description adds key behavioral context: it checks both configuration and login status, and crucially states it never exposes credentials. This adds safety and transparency beyond the annotation.

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 sentences, no wasted words. The word 'Diagnostic:' front-loads the purpose, making the tool's role immediately clear.

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 simple purpose, the description covers what it does (check credential config and login status) and what it does not do (expose credentials). An output schema exists, so return value details are handled there.

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 0 parameters, so schema coverage is 100%. The description does not need to add parameter information; baseline for zero 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 it is a diagnostic tool for checking Screener.in credential configuration and login success, and explicitly notes it never exposes credentials. This purpose is distinct from all sibling tools which retrieve 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?

The description implies it should be used before data retrieval tools to verify connectivity, but does not explicitly state when to use or not, nor mention alternatives. Usage guidance is implied through context but not clearly articulated.

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.

  1. 12 tool updatesv0.1.0
    • First observedscreener_get_balance_sheet
    • First observedscreener_get_cash_flow
    • First observedscreener_get_company_insights
    • First observedscreener_get_company_overview
    • First observedscreener_get_documents
    • First observedscreener_get_full_company_snapshot
    • First observedscreener_get_peer_comparison
    • First observedscreener_get_profit_loss
    • First observedscreener_get_quarterly_results
    • First observedscreener_get_shareholding_pattern
    • First observedscreener_get_technical_indicators
    • First observedscreener_login_status

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a specific financial statement or aspect (balance sheet, cash flow, shareholding, etc.) with no overlap. The full snapshot tool aggregates everything but is distinct.

Naming Consistency5/5

All tools follow a consistent pattern: 'screener_get_' followed by a descriptive noun phrase (e.g., 'balance_sheet', 'company_insights'). No mixing of conventions.

Tool Count5/5

12 tools cover the essential financial data retrieval needs for a company analysis server. Each tool serves a clear purpose without redundancy.

Completeness5/5

The tool set covers all major financial statements, peer comparison, ownership, technical indicators, and a composite snapshot. No obvious gaps for fundamental analysis.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • 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
    56 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides access to screener.in financial data for Indian stocks, enabling queries for company info, financials, ratios, quarterly results, shareholding, and stock screening.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server for Indian stock market data — search companies, analyze fundamentals, compare stocks, browse sectors and screens.
    11
    -