Financial Analyst MCP Server
A small MCP (Model Context Protocol) server that gives Claude Desktop, Cursor,
or any other MCP-compatible client live tools for stock research:
- get_stock_quote — current price, daily change, day range, market cap, 52w high/low
- get_historical_data — historical OHLCV summary over a period (5d → max)
- technical_analysis — SMA20/50/200, RSI(14), volatility, momentum signals
- compare_stocks — rank multiple tickers by performance, volatility, RSI
- company_overview — sector, industry, P/E, dividend yield, beta, business summary
- generate_insight_report — combines everything into one plain-English report
Data comes from Yahoo Finance via the free yfinance library — no API key needed.
1. Install
cd financial-analyst-mcp
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
Quick sanity check (needs internet access to Yahoo Finance):
python server.py
It should just sit there waiting on stdio — that's correct, it's a stdio MCP
server. Press Ctrl+C to stop. The real usage is through Claude Desktop or
Cursor, which will launch it for you (next steps below).
2. Connect it to Claude Desktop
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add (or merge into) the mcpServers block, using the absolute path to
this project on your machine:
{
"mcpServers": {
"financial-analyst": {
"command": "/absolute/path/to/financial-analyst-mcp/venv/bin/python",
"args": ["/absolute/path/to/financial-analyst-mcp/server.py"]
}
}
}
On Windows, command would point to
...\\financial-analyst-mcp\\venv\\Scripts\\python.exe.
Restart Claude Desktop. You should see a small tools/plug icon indicating the
financial-analyst server is connected, and Claude will be able to call its
tools automatically when you ask stock-related questions.
3. Connect it to Cursor
In Cursor: Settings → MCP → Add new MCP server, and either paste the same
JSON shape as above, or add it to .cursor/mcp.json in your project:
{
"mcpServers": {
"financial-analyst": {
"command": "/absolute/path/to/financial-analyst-mcp/venv/bin/python",
"args": ["/absolute/path/to/financial-analyst-mcp/server.py"]
}
}
}
Reload Cursor, then enable the server from the MCP panel.
4. Try it
Once connected, just ask naturally:
- "What's the current price of NVDA?"
- "Give me a technical analysis on TSLA over the last 3 months."
- "Compare AAPL, MSFT, and GOOGL performance this year."
- "Generate a full insight report on AMZN."
Claude will call the right tool(s) automatically and reason over the
structured data it gets back.
Notes & next steps
- This is a read-only research tool — it doesn't place trades or move
money anywhere.
- Reports are automated data summaries, not financial advice (the
generate_insight_report tool says so explicitly).
- Yahoo Finance data can be delayed and occasionally rate-limits rapid
requests — if a call fails, wait a few seconds and retry.
- Easy things to add later: caching, a
get_news tool (via a news API),
earnings calendar lookups, options chain data, or portfolio-level analysis
across a basket of tickers.