screener-mcp-pro
MCP server providing fundamental and technical data on Indian-listed companies from Screener.in and Yahoo Finance, including financial statements, ratios, and technical indicators.
README
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 |
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.txtdisallows crawling its?q=search endpoint, so every tool takes an explicitsymbol(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
warningslist) if screener.in changes its page structure, but they can still break.tests/test_parsers.pyruns against saved HTML fixtures to catch regressions early — if screener.in changes its markup, update the fixtures and parsers together. screener_get_company_insightsvalues 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'srobots.txtdisallow 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.