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 installCreate a .env file in the project root:
KITE_API_KEY=your_api_key
KITE_ACCESS_TOKEN=your_access_tokenRun
Start the MCP server:
pnpm devThe 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