IndiaQuant MCP

IndiaQuant MCP

IndiaQuant MCP is a real-time AI-powered market intelligence system that provides live stock data, trading signals, options analytics, sentiment analysis, and portfolio simulation using free APIs.

Category
Visit Server

README

šŸš€ IndiaQuant MCP – AI-Powered Market Intelligence System

Production-ready AI system for real-time stock analysis, trading signals, and portfolio simulation using FastAPI and MCP architecture.

⚔ Built with:

  • FastAPI backend
  • Real-time APIs (yfinance, NewsAPI)
  • Options analytics + Black-Scholes Greeks
  • Portfolio simulation (SQLite)
  • AI-agent compatible MCP tools

šŸ‘‰ Designed as a modular system for real-world financial intelligence applications

IndiaQuant MCP is a real-time AI-powered market intelligence system built using the Model Context Protocol (MCP).
It provides live stock data, trading signals, options analytics, sentiment analysis, and portfolio simulation using 100% free APIs.

The system exposes these capabilities as MCP-compatible tools so an AI agent (like Claude Desktop) can query and analyze financial markets in real time.


Project Architecture

AI Agent (Claude / AI Assistant)
        │
        ā–¼
MCP Tool Server (FastAPI)
        │
        ā”œā”€ā”€ Market Data Engine
        ā”œā”€ā”€ Signal Generator
        ā”œā”€ā”€ Options Analyzer
        ā”œā”€ā”€ Greeks Calculator
        ā”œā”€ā”€ Portfolio Manager
        ā”œā”€ā”€ Sentiment Analyzer
        ā”œā”€ā”€ Market Scanner
        └── Sector Heatmap
        │
        ā–¼
External APIs
   ā”œā”€ā”€ Yahoo Finance (yfinance)
   ā”œā”€ā”€ NewsAPI
   └── Alpha Vantage (optional)

The system is designed as a modular financial intelligence platform, where each component provides a specific capability.


Project Structure

indiaquant-mcp
│
ā”œā”€ā”€ app
│   ā”œā”€ā”€ market_data
│   ā”œā”€ā”€ signals
│   ā”œā”€ā”€ options
│   ā”œā”€ā”€ analytics
│   ā”œā”€ā”€ portfolio
│   ā”œā”€ā”€ decision          # decision layer v1 (normalize → fuse → validate)
│   └── mcp
│       ā”œā”€ā”€ mcp_server.py    # FastAPI + OpenAPI
│       └── stdio_server.py  # native MCP stdio (Claude Desktop / Cursor)
│
ā”œā”€ā”€ docs
│   └── decision_layer_first_draft.md
│
ā”œā”€ā”€ tests
│   └── test_decision_engine.py
│
ā”œā”€ā”€ .github/workflows
│   └── ci.yml
│
ā”œā”€ā”€ screenshots
│   ā”œā”€ā”€ live_price.png
│   ā”œā”€ā”€ signal.png
│   ā”œā”€ā”€ trade.png
│   └── heatmap.png
│
ā”œā”€ā”€ main.py
ā”œā”€ā”€ pytest.ini
ā”œā”€ā”€ CHANGELOG.md
ā”œā”€ā”€ requirements.txt
└── README.md

MCP Tools Implemented

The following MCP / HTTP tools are implemented.

Tool Description
get_live_price Fetches live stock price and market data
generate_signal Generates BUY/SELL/HOLD signal using technical indicators
get_options_chain Retrieves options chain data
calculate_greeks Computes Black-Scholes Greeks
place_virtual_trade Simulates buy/sell trades
get_portfolio_pnl Calculates portfolio profit and loss
analyze_sentiment Performs sentiment analysis on financial news (NEWSAPI_KEY env)
detect_unusual_activity Detects unusual options activity
scan_market Scans market for oversold stocks
get_sector_heatmap Displays sector performance heatmap
fuse_market_decision Decision layer v1: fuses technical + sentiment + options into unified direction, edge score, and validation
fuse_decision_manual Same fusion engine with caller-supplied normalized signals (tests / custom pipelines)
schemas/decision_layer (GET) JSON Schema bundle for decision-layer Pydantic models (integrators / contract tests)

All tools return live market data using free APIs where applicable. See docs/decision_layer_first_draft.md for schema, examples, and fusion rules; CHANGELOG.md summarizes decision-layer v1. Run tests: pytest (see pytest.ini). CI: .github/workflows/ci.yml.


Core Modules

Market Data Engine

Uses yfinance to fetch real-time market data.

Capabilities:

  • Live stock prices
  • Historical OHLC data
  • Volume and price change analysis
  • Supports NSE and global stocks

Example response:

{
"symbol": "RELIANCE",
"price": 1418.6,
"change_percent": 3.17,
"volume": 34897
}

AI Trade Signal Generator

Generates trading signals using technical indicators:

Indicators used:

  • RSI
  • MACD
  • Bollinger Bands

Signal output: BUY / SELL / HOLD confidence score

Example:

{
"symbol": "RELIANCE",
"signal": "BUY",
"confidence": 40
}

Options Chain Analyzer

Retrieves options data and performs analysis including:

  • Open Interest tracking
  • Max Pain calculation
  • Options volume comparison
  • Unusual activity detection

This helps identify potential institutional trading behavior.


Greeks Calculator

Implements the Black-Scholes model from scratch.

Greeks calculated:

  • Delta
  • Gamma
  • Theta
  • Vega

Example:

{
  "delta": 0.2265,
  "gamma": 0.026248,
  "theta": -0.06355,
  "vega": 0.172592
}

Portfolio Risk Manager

Simulates a virtual trading portfolio using SQLite.

Features:

  • Place virtual buy/sell trades
  • Track portfolio positions
  • Real-time PnL calculation
  • Trade history storage

Example: POST /place_virtual_trade

{
"symbol": "RELIANCE",
"qty": 1,
"side": "BUY"
}

Sentiment Analysis

Uses NewsAPI to analyze market sentiment from financial news.

Process:

  1. Fetch recent headlines
  2. Score sentiment based on keywords
  3. Generate sentiment signal

Example output:

{
  "symbol": "RELIANCE",
  "sentiment_score": 2,
  "signal": "POSITIVE"
}

Market Scanner

Scans multiple stocks to find oversold opportunities.

Criteria: RSI < 30

Example response:

[
{
"symbol": "AAPL",
"RSI": 28.3,
"signal": "OVERSOLD"
}
]

Sector Heatmap

Analyzes sector performance by aggregating stock movements.

Example output:

[
{"sector": "IT", "change_percent": 0.35},
{"sector": "BANKING", "change_percent": -2.82},
{"sector": "ENERGY", "change_percent": -0.78},
{"sector": "AUTO", "change_percent": -4.6}
]

Technologies Used

Core stack:

  • Python
  • FastAPI
  • SQLite
  • yfinance
  • pandas
  • numpy
  • NewsAPI

Libraries: fastapi uvicorn pandas numpy yfinance newsapi-python sqlite3


Installation

Clone repository

git clone https://github.com/sowjanya5751/indiaquant-mcp.git

cd indiaquant-mcp

Create virtual environment

Windows

python -m venv venv venv\Scripts\activate

Linux / Mac

python -m venv venv source venv/bin/activate

Install dependencies

pip install -r requirements.txt


Running the MCP Server

Option A — FastAPI (HTTP tools + OpenAPI)

Start the server:

cd indiaquant-mcp
pip install -r requirements.txt
uvicorn app.mcp.mcp_server:app --reload

Server will start at:

http://127.0.0.1:8000

Option B — Native MCP (stdio, Claude Desktop / Cursor)

The repo also exposes an official MCP server over stdio using the Python mcp SDK (FastMCP), including fuse_market_decision and core market tools.

From the repo root:

PYTHONPATH=. python -m app.mcp.stdio_server

Example Claude Desktop (claude_desktop_config.json) fragment:

{
  "mcpServers": {
    "indiaquant": {
      "command": "python3",
      "args": ["-m", "app.mcp.stdio_server"],
      "cwd": "/absolute/path/to/indiaquant-mcp",
      "env": {
        "PYTHONPATH": ".",
        "NEWSAPI_KEY": "your-key-optional"
      }
    }
  }
}

API Endpoints

Endpoint Method Description
/get_live_price POST Fetch live stock price
/generate_signal POST Generate trading signal
/get_options_chain POST Retrieve options data
/calculate_greeks POST Compute Black-Scholes Greeks
/place_virtual_trade POST Execute simulated trade
/get_portfolio_pnl GET Calculate portfolio PnL
/analyze_sentiment POST Analyze financial news sentiment
/fuse_market_decision POST Decision layer v1: fused direction + edge + validation
/fuse_decision_manual POST Fuse caller-supplied normalized signals
/schemas/decision_layer GET JSON Schema bundle for decision models
/detect_unusual_activity POST Detect unusual options activity
/scan_market GET Find oversold stocks
/get_sector_heatmap GET Sector performance overview

API Documentation

Interactive API documentation is available at:

http://127.0.0.1:8000/docs

Swagger UI allows testing all MCP tools directly.


Design Decisions

FastAPI was chosen because:

  • High performance async framework
  • Automatic API documentation
  • Ideal for MCP tool integration

SQLite was used because:

  • Lightweight database
  • Perfect for portfolio simulation
  • Easy local deployment

yfinance provides:

  • Free stock market data
  • Historical price access
  • Options chain support

Future Improvements

Possible extensions:

  • Real-time WebSocket streaming
  • Machine learning trading models
  • Redis caching for faster data retrieval
  • Cloud deployment (AWS / GCP)
  • Advanced portfolio risk analytics

Assignment Requirements Fulfilled

āœ” Real-time market data
āœ” 10 MCP tools implemented
āœ” Options analysis and Greeks calculation
āœ” Sentiment analysis using NewsAPI
āœ” Virtual trading portfolio
āœ” Modular system architecture
āœ” API-based MCP server compatible with AI agents


API Demo

Live Price

Live Price

Trade Signal

Signal

Portfolio Trade

Trade

Sector Heatmap

Heatmap

Conclusion

IndiaQuant MCP demonstrates how AI agents can interact with financial markets through modular tools and real-time data pipelines.

The system combines quantitative analysis, market intelligence, and AI integration into a unified platform capable of supporting advanced trading insights.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured