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.
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
Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex.
Real-time news with bias scoring, live market data, and AI-powered options pricing
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/TuokkiCode/finviz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server