Skip to main content
Glama
screener-mcp-pro

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.

Inputs: symbol (required), consolidated, response_format. Returns: result

screener_get_cash_flowB
Read-onlyIdempotent

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

Inputs: symbol (required), consolidated, response_format. Returns: result

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.

Inputs: symbol (required), consolidated, response_format. Returns: result

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.

Inputs: symbol (required), consolidated, response_format. Returns: result

screener_get_documentsA
Read-onlyIdempotent

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

Inputs: symbol (required), consolidated, response_format. Returns: result

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.

Inputs: symbol (required), consolidated, response_format. Returns: result

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.

Inputs: symbol (required), consolidated, response_format. Returns: result

screener_get_profit_lossA
Read-onlyIdempotent

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

Inputs: symbol (required), consolidated, response_format. Returns: result

screener_get_quarterly_resultsB
Read-onlyIdempotent

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

Inputs: symbol (required), consolidated, response_format. Returns: result

screener_get_shareholding_patternC
Read-onlyIdempotent

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

Inputs: symbol (required), consolidated, response_format. Returns: result

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.

Inputs: symbol (required), period, exchange, response_format. Returns: result

screener_login_statusA
Read-only

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

Inputs: no named parameters. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      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
      67 npm
      5
      MIT
    • A
      license
      Not graded
      quality
      D
      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
      -