Angle One Stock MCP Server logo

Angle One Stock MCP Server

by himanshuteotia

A generic MCP server for fetching stock data and technical analysis from the Angle One API. It can be used with any platform that supports the MCP protocol.

View on GitHub

Last updated: N/A

Angle One Stock MCP

A generic MCP (Model Control Protocol) for fetching stock data and technical analysis from Angle One API. This MCP can be used with any platform that supports MCP protocol (Cursor, Copilot, Claude AI, etc.).

Features

  • Fetches historical stock data (configurable period)
  • Calculates technical indicators (RSI, EMA-20, EMA-50)
  • RESTful API endpoints
  • CORS enabled
  • Written in TypeScript
  • Generic MCP Integration

Prerequisites

  • Node.js (v14 or higher)
  • Angle One API credentials
  • Any MCP-supporting platform (Cursor, Copilot, etc.)

Setup

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Create a .env file in the root directory with your Angle One credentials:
    ANGLE_ONE_PUBLISHER_API_KEY=your_api_key_here
    ANGLE_ONE_CLIENT_ID=your_client_id_here
    ANGLE_ONE_PIN=your_pin_here
    ANGLE_ONE_TOTP=your_totp_secret_here
    PORT=3000
    DATA_PERIOD_MONTHS=6  # Optional: Number of months of historical data to fetch (default: 6)
    

Running the Server

Development mode (with hot reload):

npm run dev

Build and run in production:

npm run build
npm start

Watch mode (for development):

npm run watch

API Endpoints

Get Stock Data and Analysis

GET /api/stock/:symbol

Example:

GET http://localhost:3000/api/stock/RELIANCE

Response includes:

  • Historical data (OHLCV)
  • Technical indicators (RSI, EMA-20, EMA-50)

Technical Indicators

The server calculates the following technical indicators:

  • RSI (Relative Strength Index) - 14 periods
  • EMA (Exponential Moving Average) - 20 and 50 periods

Configuration

Data Period

You can configure how many months of historical data you want to fetch by setting the DATA_PERIOD_MONTHS environment variable. The default is 6 months.

Example:

DATA_PERIOD_MONTHS=12  # Fetch 1 year of data
DATA_PERIOD_MONTHS=3   # Fetch 3 months of data

MCP Integration

This API is available as a generic MCP that can be used with any platform supporting the MCP protocol.

TypeScript

The project is written in TypeScript and includes type definitions for:

  • API responses
  • Technical indicators
  • Request/Response objects
  • Environment variables