Local Stock Analyst MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add local-stock-analyst -- node "<FULL_PATH_TO_MCPLOCALSTOCKRENDERLIVETESTED>/dist/index.js"

Replace <FULL_PATH_TO_MCPLOCALSTOCKRENDERLIVETESTED>/dist/index.js with the actual folder you prepared in step 1.

README.md

Python MCP server that exposes stock-analysis tools

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
  • stdio and Render-compatible HTTP transport support

Tools

  • get_stock_price
  • get_quote
  • get_company_profile
  • get_candles
  • get_stock_news
  • get_rsi
  • get_macd
  • get_key_financials
  • get_portfolio
  • list_sell_decision_data_requirements
  • analyze_portfolio_for_sell
  • get_sma
  • get_ema
  • get_bollinger_bands
  • get_atr
  • get_adx
  • get_stochastic
  • get_obv
  • get_vwap
  • get_support_resistance_levels
  • detect_chart_patterns
  • get_market_indices
  • generate_buy_sell_hold_signal

Requirements

  • Python 3.11+
  • API key for at least one provider:
    • FINNHUB_API_KEY
    • ALPHAVANTAGE_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 (or http)
  • HOST=0.0.0.0
  • PORT provided by Render
  • provider API keys

Build command:

pip install -r requirements.txt

Start command:

python -m mcp_server

Tests

python -m pytest -q

Tools (22)

get_stock_priceRetrieves the current stock price for a given symbol.
get_quoteFetches detailed quote information for a stock.
get_company_profileGets the company profile and business details.
get_candlesRetrieves historical candle data for technical analysis.
get_stock_newsFetches recent news articles related to a stock.
get_rsiCalculates the Relative Strength Index for a stock.
get_macdCalculates the Moving Average Convergence Divergence.
get_key_financialsRetrieves key financial metrics for a company.
get_portfolioRetrieves current portfolio data.
analyze_portfolio_for_sellAnalyzes portfolio holdings to identify potential sell signals.
get_smaCalculates the Simple Moving Average.
get_emaCalculates the Exponential Moving Average.
get_bollinger_bandsCalculates Bollinger Bands for a stock.
get_atrCalculates the Average True Range.
get_adxCalculates the Average Directional Index.
get_stochasticCalculates the Stochastic Oscillator.
get_obvCalculates the On-Balance Volume.
get_vwapCalculates the Volume Weighted Average Price.
get_support_resistance_levelsIdentifies support and resistance levels for a stock.
detect_chart_patternsDetects common technical chart patterns.
get_market_indicesRetrieves data for major market indices.
generate_buy_sell_hold_signalGenerates a trading signal based on technical analysis.

Environment Variables

FINNHUB_API_KEYAPI key for Finnhub data provider
ALPHAVANTAGE_API_KEYAPI key for Alpha Vantage data provider
TRANSPORT_MODESets transport mode to stdio or http

Configuration

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"
      }
    }
  }
}

Try it

What is the current RSI and MACD for AAPL stock?
Analyze my portfolio and suggest which stocks I should consider selling based on current technical indicators.
Get the latest news and key financial metrics for NVIDIA.
Calculate the support and resistance levels for TSLA and detect any chart patterns.
Generate a buy/sell/hold signal for Microsoft based on its current moving averages.

Frequently Asked Questions

What are the key features of Local Stock Analyst?

Supports both stdio and Render-compatible HTTP transport modes. Integrates with Finnhub and Alpha Vantage for market data. Provides local fallback calculations for RSI and MACD. Includes a wide range of technical indicators like Bollinger Bands, ATR, and VWAP. Automated portfolio analysis and trading signal generation.

What can I use Local Stock Analyst for?

Automating technical analysis reports for personal investment portfolios. Integrating real-time stock market data into Claude for financial research. Developing custom trading signal alerts based on technical indicators. Quickly retrieving company financials and news for fundamental analysis.

How do I install Local Stock Analyst?

Install Local Stock Analyst by running: python -m venv .venv && .venv\Scripts\Activate.ps1 && pip install -r requirements.txt

What MCP clients work with Local Stock Analyst?

Local Stock Analyst works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Local Stock Analyst docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare