Finviz MCP
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., "@Finviz MCPGet me the Finviz fundamentals for NVDA."
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.
Finviz MCP
MCP server that gives Claude (or any MCP client) access to Finviz stock data: single stock fundamentals, news, and screener searches, as well as real historical price data (Yahoo Finance). Data is fetched live using the finvizfinance and yfinance libraries, so no API keys are needed.
Tools
get_stock(ticker)– Finviz fundamentals for a single stock (P/E, market cap, margins, returns, etc.)get_stock_news(ticker)– recent news headlines for a stockget_price_history(ticker, days=7)– real daily-level historical data (Open/High/Low/Close/Volume) from Yahoo Finance for up to 365 days, plus a ready-made analysis of which day would have been the best buying day (lowest price and best return compared to the latest closing price). Finviz itself does not have a historical data API, only a current snapshot and a static chart image.screen_stocks(...)– Finviz screener with natural parameters (market_cap,sector,pe_max,rsi,dividend_yield_min,signal, ...). Claude doesn't need to know Finviz's internal filter names – the server automatically translates parameters to the closest Finviz-supported value. Only works when run locally, not when deployed on a cloud server – see Limitations.list_screener_filters(search=None)/list_screener_signals()– helper tools for Claude if it needs a filter thatscreen_stocksdoesn't yet cover with a named parameter. The found value can be passed as thescreen_stocks(extra_filters={...})parameter.
screen_stocks parameters always snap to the nearest "bucket" Finviz offers (e.g. pe_max=18 → "Under 20"), because Finviz's screener only supports predefined value ranges, not arbitrary numbers.
Related MCP server: Yahoo Finance MCP Server
1. Local Testing
Requires Python 3.10+:
pip install -r requirements.txt
python server.pyThe server starts at http://localhost:8000/mcp (Streamable HTTP).
Tested end-to-end in this environment (installation, startup,
initializehandshake, and all five tools with real Finviz data). During testing it turned out that PyPI'sfinvizfinance1.3.0 was not yet up to date with Finviz's redesigned page layout:get_stockcrashed entirely (the oldquote-linksCSS class is nowquote-header_categories, with different content), and the Ticker column inscreen_stockshad an extra leading character (e.g. "NVDA" → "NNVDA", due to Finviz's new logo placeholder).server.pyfixes both directly (see the comment at the top of the file) – if Finviz changes its page again, these fixes should be revisited first.
If Python is not installed on your machine but Docker is, you can test without a local Python installation:
docker build -t finviz-mcp .
docker run -p 8000:8000 finviz-mcpQuick functionality test from the command line (requires curl and that the server is running):
curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"The response should show six tools: get_stock, get_stock_news, get_price_history, screen_stocks, list_screener_filters, list_screener_signals.
2. Deployment (e.g. Render)
Push this folder to your own Git repo (GitHub/GitLab).
Render → New + → Web Service → connect the repo.
Render will automatically detect the
Dockerfile. No separate environment variables are needed – the server reads the port from Render'sPORTvariable.After deployment you get an address like
https://finviz-mcp.onrender.com. The MCP endpoint is/mcpafter that, i.e.:https://finviz-mcp.onrender.com/mcp.
Railway, Fly.io, etc. work on the same principle (Dockerfile-based Python hosting, PORT environment variable).
3. Connecting to Claude
Claude → Settings → Connectors → Add custom connector → paste the MCP URL (https://<your-address>/mcp).
Claude supports remote MCP servers via Streamable HTTP, so this works as-is.
4. Example Prompts
"Get me the Finviz fundamentals for NVDA."
"Find oversold technology stocks with market cap over $10B."
"Show me 15 large-cap dividend stocks with yield over 4% and P/E under 20."
"What's the latest news on TSLA?"
"Find stocks flagged as Top Gainers today with average volume over 1M."
Limitations
screen_stocks(andlist_screener_filters/list_screener_signals) does not work when deployed on a cloud server (tested on Render): Finviz returns 403 Forbidden specifically for the screener endpoint (finviz.com/screener.ashx) from datacenter IP addresses, even thoughget_stock/get_stock_news/get_price_historywork perfectly fine from the same server (they use different, less protected endpoints). This could not be fixed by tweaking HTTP headers – it appears to be Finviz's own intentional datacenter IP block specifically for the screener. If you need thescreen_stocksfunctionality, run the server locally (python server.py) and connect to it via e.g. acloudflared/ngroktunnel, so that requests originate from your home network's IP.Data is scraped from Finviz/Yahoo Finance websites (no official API keys), so it may break if they change their page structure.
screen_stockslimits results to 20 by default and at most 50 rows to keep the request fast.get_price_historylimits thedaysparameter to at most 365.Does not include authentication – if the service is publicly on the internet, anyone who knows the URL can call it. The data is public, but keep this in mind if you later add paid/restricted features.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Scrape stock quotes, historical prices, and financial statements from Yahoo Finance.
Analyze stocks with summaries, price targets, and analyst recommendations. Track SEC filings, divi…
Fetch current stock prices and key data for symbols across global markets. Look up companies like…
Finnhub MCP — wraps Finnhub Stock API (finnhub.io)
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive financial market data and news through the Finnhub API. Enables real-time stock quotes, company profiles, financial metrics, analyst recommendations, and market news access.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time stock quotes, historical price data, financial news, and multi-stock comparisons using Yahoo Finance data. Enables users to access comprehensive financial market information through natural language queries.541MIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time stock market data through Yahoo Finance without requiring an API key. Get quotes, historical data, company information, financial statements, and ticker search capabilities.-
- AlicenseNot gradedqualityCmaintenanceProvides real-time stock quotes, historical data, and stock search via Yahoo Finance, enabling AI assistants to access and analyze financial market data.1819MIT