Local Stock Analyst MCP (Python)
Python MCP server that exposes stock-analysis tools with:
- Finnhub as primary provider
- Alpha Vantage as fallback
- local fallback calculations for RSI and MACD
stdioand Render-compatible HTTP transport support
Tools
get_stock_priceget_quoteget_company_profileget_candlesget_stock_newsget_rsiget_macdget_key_financialsget_portfoliolist_sell_decision_data_requirementsanalyze_portfolio_for_sellget_smaget_emaget_bollinger_bandsget_atrget_adxget_stochasticget_obvget_vwapget_support_resistance_levelsdetect_chart_patternsget_market_indicesgenerate_buy_sell_hold_signal
Requirements
- Python 3.11+
- API key for at least one provider:
FINNHUB_API_KEYALPHAVANTAGE_API_KEY
Setup
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Run Locally
Stdio Mode (Claude Desktop local MCP)
$env:TRANSPORT_MODE="stdio"
python -m mcp_server
HTTP Mode (Render/local web MCP)
$env:TRANSPORT_MODE="http"
$env:HOST="0.0.0.0"
$env:PORT="8000"
python -m mcp_server
Optional HTTP transport mode:
HTTP_TRANSPORT=sse(default)HTTP_TRANSPORT=streamable
Health endpoint defaults to /health.
Claude Desktop (Windows) Configuration
%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"local-stock-analyst": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "D:/mcpserverdemo/mcplocalstockliveinpythonrender",
"env": {
"TRANSPORT_MODE": "stdio",
"FINNHUB_API_KEY": "YOUR_FINNHUB_KEY",
"ALPHAVANTAGE_API_KEY": "YOUR_ALPHA_VANTAGE_KEY"
}
}
}
}
Render
Set environment variables:
TRANSPORT_MODE=auto(orhttp)HOST=0.0.0.0PORTprovided by Render- provider API keys
Build command:
pip install -r requirements.txt
Start command:
python -m mcp_server
Tests
python -m pytest -q