MCP Stock Analyzer 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
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 mcp-stock-analyzer -- node "<FULL_PATH_TO_MCPAGENTSTOCKANALYZER>/dist/index.js"

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

README.md

Dynamically analyze Global/Indian stocks and local NSE BhavData using AI.

šŸ“ˆ MCP Stock Analyzer

An official Model Context Protocol (MCP) server for dynamically analyzing Global/Indian stocks and offline local NSE BhavData documents using AI.

⭐ Core Capabilities:

  • Global Stocks: Automatically grabs live prices, history, fundamentals, and ticker resolution via yfinance.
  • Local BhavData: AI dynamically writes SQL statements to extract massive local datasets.
    • āš ļø CRITICAL WARNING: Do not use the "Add Context" button (or drag-and-drop) to upload huge BhavData CSVs directly into your chat. This will instantly blow up your AI's token limits and cost a fortune. Instead, simply paste the absolute file path (e.g., "Analyze C:\downloads\bhav.csv") as normal text in your prompt, and let this MCP server securely query it in the background!
  • Visual Dashboards: The AI creates completely interactive, localized HTML graphing dashboards on demand.

šŸ—ļø System Architecture

graph TD
    User([šŸ‘¤ End User])
    LLM_Client[🧠 AI Client / IDE  e.g., Cline, Claude, Ollama]

    subgraph "Python MCP Server (.venv)"
        Server[šŸ”Œ server.py  FastMCP Entrypoint]
        GlobalMod[šŸŒ global_stocks.py  yfinance API]
        BhavMod[šŸ“ bhavdata_analyzer.py  SQLite & Pandas]
        DashMod[šŸ“ˆ dashboard_generator.py  Chart.js & HTML]
    end

    subgraph "External Providers"
        YFinance[(Yahoo Finance API)]
        LocalDisk[(User's Local C: Drive  .csv files)]
        CDN[(Chart.js CDN)]
    end

    User -->|Sends Prompt & Files| LLM_Client
    LLM_Client -->|Calls JSON Tools via stdio| Server
    
    Server -->|Routes query| GlobalMod
    Server -->|Routes query| BhavMod
    Server -->|Routes query| DashMod

    GlobalMod <-->|Fetches real-time/historical data| YFinance
    BhavMod <-->|Loads/Runs SQL on| LocalDisk
    DashMod -->|Embeds| CDN
    DashMod -->|Outputs temp HTML file to| LocalDisk
    
    Server -.->|Returns result context| LLM_Client
    LLM_Client -.->|Streams final answer to| User

šŸ› ļø Installation & Quick Setup

To guarantee there are zero package or import errors, please set up the isolated environment:

  1. Open a terminal navigating to the project folder (d:\Projects\MCPAgentStockAnalyzer).
  2. Run these configuration commands to set up the dependencies firmly in a .venv:
    python -m venv .venv
    .\.venv\Scripts\activate
    pip install -r requirements.txt
    

(If you use VSCode, .vscode/settings.json is automatically pre-configured to select this virtual environment.)


šŸ”Œ Connecting to LLM Clients

To have your AI interact with this server, you'll simply embed its configuration into your specific tool's config file.

Here is the master Configuration JSON you will use for every client listed below:

"StockAnalyzer": {
  "command": "d:/Projects/MCPAgentStockAnalyzer/.venv/Scripts/python.exe",
  "args": ["d:/Projects/MCPAgentStockAnalyzer/src/server.py"]
}

1. Claude Desktop (Mac / Windows)

  1. Open up Claude Desktop application.
  2. Go to Settings > Settings file or navigate to %APPDATA%\Claude\claude_desktop_config.json.
  3. Add the StockAnalyzer block above right inside the "mcpServers": { ... } object.
  4. Restart Claude Desktop.

2. Cline (VS Code Extension)

  1. In VS Code, click the Cline Extensions icon on the sidebar.
  2. Click the specific MCP server (plugin) settings config near the bottom.
  3. Paste the configuration block directly into your mcp_settings.json.

3. Antigravity (Local IDE Agent)

  1. Inside your ~/.gemini/antigravity/ folder (or active brain/project .gemini folder).
  2. Edit the mcp_config.json file.
  3. Drop the StockAnalyzer block into "mcpServers". Keep chatting and it hot-reloads dynamically!

4. GitHub Copilot

Currently, GitHub Copilot integrates officially directly with the Claude or OpenAI engines on newer IDE builds via specific marketplace extensions. If utilizing Copilot Chat, ensure you rely on an editor like VSCode or Cursor equipped directly with extensible Tool/Plugin settings (similar to Cline's mcp_settings.json) that bridge custom MCP standard definitions.

5. Claude Code (CLI)

If you're using Anthropic's new direct CLI tool (claude-code), configure it simply by defining it as a server in its explicit config file:

claude config set --mcp-server StockAnalyzer "d:/Projects/MCPAgentStockAnalyzer/.venv/Scripts/python.exe d:/Projects/MCPAgentStockAnalyzer/src/server.py"

šŸ¦™ Running completely FREE (Local LLMs)

You do not need a paid Claude 3.5 Sonnet or OpenAI API key to use this. You can direct local frameworks through Cline or Cursor directly to a local engine.

Using Ollama

  1. Download Ollama
  2. Open terminal and run a fast coder model: ollama run qwen2.5-coder:7b
  3. Point Cline's settings to Base URL: http://localhost:11434/v1

Using LM Studio

  1. Download [LM Studio

Tools (3)

analyze_global_stocksFetches live prices, history, fundamentals, and ticker resolution via yfinance.
query_bhavdataExecutes AI-generated SQL statements to extract data from local NSE BhavData CSV files.
generate_dashboardCreates interactive HTML graphing dashboards for visual performance tracking.

Configuration

claude_desktop_config.json
{"StockAnalyzer": {"command": "d:/Projects/MCPAgentStockAnalyzer/.venv/Scripts/python.exe", "args": ["d:/Projects/MCPAgentStockAnalyzer/src/server.py"]}}

Try it

→Get the latest historical price data for AAPL and calculate the 50-day moving average.
→Analyze C:\downloads\bhav.csv and find the top 5 stocks by volume.
→Create an interactive dashboard showing the performance of Reliance Industries over the last year.
→Compare the fundamental data of Microsoft and Google using yfinance.

Frequently Asked Questions

What are the key features of MCP Stock Analyzer?

Live global stock price and fundamental data retrieval via yfinance. AI-driven SQL querying of massive local NSE BhavData CSV files. Generation of interactive HTML graphing dashboards using Chart.js. Secure local file path handling to avoid token limit exhaustion.

What can I use MCP Stock Analyzer for?

Automated financial research and historical data analysis. Visualizing stock performance trends through interactive dashboards. Querying large offline datasets without uploading files to the LLM. Integrating real-time market data into local AI development workflows.

How do I install MCP Stock Analyzer?

Install MCP Stock Analyzer by running: python -m venv .venv && .\.venv\Scripts\activate && pip install -r requirements.txt

What MCP clients work with MCP Stock Analyzer?

MCP Stock Analyzer 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 MCP Stock Analyzer 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