screener-mcp-server
This server lets you research Indian listed stocks by pulling fundamental data from Screener.in and technical indicators via Yahoo Finance.
Search for companies: Look up a company's Screener ID/URL by name or ticker symbol (e.g. "TCS", "HDFC Bank") — useful before calling other tools.
Get company overview: Fetch key ratios (Market Cap, P/E, ROE, ROCE, Book Value, Dividend Yield, etc.), a short "About" description, and Screener's auto-generated Pros/Cons list.
Get financial statements: Retrieve multi-period tables — quarterly results, annual P&L, balance sheet, cash flow, or efficiency ratios — spanning multiple years.
Get peer comparison: Pull the industry peer-comparison table, benchmarking a company against sector peers on metrics like CMP, P/E, market cap, and ROE.
Run custom stock screens: Filter the entire Indian listed universe using Screener.in's query syntax (e.g.
Market Capitalization > 500 AND Return on equity > 22) to find stocks matching your criteria.Calculate technical indicators: Compute RSI (Wilder's method), SMA, EMA, or MACD (12/26/9) for any NSE/BSE stock using historical price data from Yahoo Finance — no API key required.
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., "@screener-mcp-serversearch for Infosys"
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.
screener-mcp-server
An MCP server for Screener.in — search Indian listed companies, pull key ratios, multi-year financial statements, peer comparisons, and run custom fundamental screens, all from Claude (or any MCP client).
Important: no official API
Screener.in explicitly states they don't provide an API — only CSV export from the UI. This server works by reading the same public, signed-out pages a browser would see (search, company pages, and the /screen/raw/ query endpoint). It does not require login for the core tools.
Because this isn't an official API:
Please keep request volume reasonable — the server throttles and caches requests for you (5 min cache, ~600ms min gap between requests), don't work around that.
Guest (logged-out) access to custom screens is capped by Screener to a small number of result rows. If you want more rows or CSV-export-only data, set
SCREENER_SESSION_COOKIE(see below) to a cookie from your own logged-in session.Screener's HTML structure can change without notice; if a tool starts erroring, the CSS selectors in
src/services/scraper.tslikely need a small update.Review Screener's Terms before heavy or commercial use.
Related MCP server: Daito
Tools
Tool | What it does |
| Look up a company's Screener ID/URL by name or ticker |
| Key ratios (Market Cap, P/E, ROE, ROCE, etc.), About text, Pros/Cons |
| Quarterly results, P&L, balance sheet, cash flow, or ratios — multi-year table |
| The peer-comparison table shown on a company's page |
| Run a Screener query-builder screen (e.g. |
| RSI, SMA, EMA, or MACD for an NSE/BSE stock, via Alpha Vantage |
Why compute indicators ourselves instead of using Groww or Alpha Vantage?
Groww's official MCP (
mcp.groww.in) is account-linked via OAuth (it's built to read your portfolio/trades). Folding it into this server would mean building a full OAuth pass-through proxy — a much bigger project, and unnecessary for public technicals like RSI.Alpha Vantage's NSE/BSE coverage (
NSE:TICKERformat) turned out to be unreliable in practice — it often only returns NASDAQ data despite documentation claiming Indian exchange support.
Instead, technical_get_indicator pulls raw historical close prices from Yahoo Finance's public chart endpoint (ticker + .NS/.BO suffix — the same data source most community NSE tooling, like yfinance, relies on) and computes RSI (Wilder's method), SMA, EMA, and MACD (12/26/9) server-side using standard formulas. No API key, no OAuth, no external rate limits — just one more tool in the same connector.
Since this is an unofficial-but-widely-used endpoint (not a documented Yahoo API), if it ever breaks, check src/services/yahoo.ts — the fix is usually just adjusting the URL or response shape to match Yahoo's current chart endpoint.
Setup
npm install
npm run buildRun locally (stdio) — for Claude Desktop / Claude Code
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"screener": {
"command": "node",
"args": ["/absolute/path/to/screener-mcp-server/dist/index.js"]
}
}
}Run as a remote HTTP server
TRANSPORT=http PORT=3000 npm startThen point your MCP client at http://localhost:3000/mcp.
Optional: logged-in session for more screen results
export SCREENER_SESSION_COOKIE="csrftoken=...; sessionid=..."Grab this from your browser's DevTools → Network tab → any request to screener.in → Cookie request header, while logged into your own Screener account. Never share this value; it's your personal session.
Development
npm run dev # tsc --watchIf Screener changes their page markup and a tool starts failing, check the selectors in src/services/scraper.ts (#top-ratios, .pros/.cons, #profit-loss/#balance-sheet/etc. table sections, #peers table) against the current HTML.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/shivamg194-lab/screener-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server