Skip to main content
Glama
bhimanshukalra

Kite Connect MCP Server

Kite Connect MCP POC

A proof-of-concept TypeScript MCP server that demonstrates how MCP tools can call Kite Connect APIs over stdio. This project is intentionally incomplete and focuses on proving the primary concept rather than providing a production-ready trading integration.

Features

  • greet: returns a greeting for a provided name.

  • add_two_numbers: adds two numbers.

  • factorial: calculates the factorial of a non-negative integer.

  • buy_stock: places a Kite Connect market buy order on NSE.

  • sell_stock: places a Kite Connect market sell order on NSE.

Prerequisites

  • Node.js

  • pnpm

  • A Zerodha Kite Connect API key

  • A valid Kite Connect access token

Setup

Install dependencies:

pnpm install

Create a .env file in the project root:

KITE_API_KEY=your_api_key
KITE_ACCESS_TOKEN=your_access_token

Run

Start the MCP server:

pnpm dev

The server uses stdio transport, so it is intended to be launched by an MCP-compatible client.

MCP Tools

buy_stock

Places a regular CNC market buy order on NSE.

Input:

{
  "stock": "INFY",
  "qty": 1
}

sell_stock

Places a regular CNC market sell order on NSE.

Input:

{
  "stock": "INFY",
  "qty": 1
}

greet

Input:

{
  "name": "Bhimanshu"
}

add_two_numbers

Input:

{
  "a": 2,
  "b": 3
}

factorial

Input:

{
  "a": 5
}

Safety Note

The buy_stock and sell_stock tools call Kite Connect's placeOrder API and can place real market orders. Use valid credentials carefully and test with small quantities only when you are ready to trade.

Project Structure

.
├── config.ts       # Loads required environment variables
├── index.ts        # Defines and starts the MCP server
├── trade.ts        # Wraps Kite Connect order placement
├── package.json    # Scripts and dependencies
└── tsconfig.json   # TypeScript configuration