mvk24199/zerodha-trade
If you are the rightful owner of zerodha-trade and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Zerodha Trading Agent is an intelligent stock trading agent built using Bun.js, Zerodha Kite Connect API, and Claude MCP Server Integration.
๐ Zerodha Trading Agent (MCP x Bun.js)
This is an intelligent Stock Trading Agent built using:
- Bun.js (fast JavaScript runtime)
- Zerodha Kite Connect API
- Claude MCP Server Integration
The agent allows you to place trades, auto-buy/sell stocks based on triggers, and (future roadmap) predict stock trends using historical data and live news.
๐ Features
- ๐ฅ Place Buy and Sell orders automatically via MCP Agent
- ๐ก๏ธ Authenticate securely using Kite Connect
- ๐ Auto-refresh access tokens periodically
- ๐ฏ (Coming Soon) Smart GTT-like Watchlist based buying/selling
- ๐ง (Coming Soon) Stock Future Prediction using charts and news analysis
- โก Built with Bun.js for superfast runtime
- ๐ฏ Fully compatible with Claude Toolchain / MCP Agents
๐ Project Structure
zerodha-trade/
โโโ index.ts # MCP Server setup, defines trading tools
โโโ trade.ts # Trading logic: place order, generate session
โโโ refreshToken.ts # Refreshes access token using request_token
โโโ login.ts # (One time) Generate new access token
โโโ tokenStore.json # Stores API key, secret, access token
โโโ watchlist.json # (Coming soon) GTT trigger rules
โโโ README.md # Project documentation
โ๏ธ Setup Instructions
1. Install Dependencies
bun install
(Make sure you have Bun.js installed:)
curl -fsSL https://bun.sh/install | bash
2. Configure API Credentials
Update tokenStore.json
with:
{
"apiKey": "YOUR_KITE_API_KEY",
"apiSecret": "YOUR_KITE_API_SECRET",
"accessToken": "YOUR_ACCESS_TOKEN"
}
If you don't have accessToken
yet, run:
bun login.ts
to generate one manually.
3. Running the Agent Server
bun index.ts
โ This will:
- Auto-refresh your access token every 24 hours
- Expose trading functions to Claude Agent via MCP Server
- Run a server on
http://localhost:3000
4. Using HTTPS Locally (via ngrok)
Since Kite Connect requires an HTTPS URL, you can use ngrok to tunnel your local server securely.
brew install ngrok # Install ngrok (if not already installed)
ngrok http 3000 # Expose port 3000 via HTTPS
After running, you will get a public HTTPS URL like https://abc1234.ngrok.io
. Use this URL as your Redirect URL when creating your Kite Connect App.
5. Creating Kite Connect App (to get API Key/Secret)
- Go to Kite Developer Console
- Click Create New App
- Fill in:
- App Name: (Any meaningful name)
- Redirect URL: (Paste your
https://xyz.ngrok.io
URL) - Postback URL: (Same or another ngrok HTTPS URL)
- Products: Kite Connect
- Exchange: NSE, BSE, etc.
- After creation, you will get API Key and API Secret
- Update
tokenStore.json
accordingly
๐ MCP Server Configuration Example
{
"mcpServers": {
"zerodha-trade": {
"command": "/Users/vamsi/.bun/bin/bun",
"args": [
"--directory",
"/Users/vamsi/Projects/zerodha-trade",
"index.ts"
]
}
}
}
๐ ๏ธ Future Enhancements (Roadmap)
- ๐ Smart GTT Trigger system: Buy/sell when price crosses target
- ๐ Stock Future Prediction Agent (using historical price + live news)
- ๐ Auto SIP Bot for ETFs like Nifty50
- ๐ฌ Telegram/Slack Alerts on successful order execution
- ๐ Stop Loss Automation on Portfolio Holdings
๐ค How It Works (High Level)
- MCP Agent requests
buyStock(symbol, quantity)
orsellStock(symbol, quantity)
- Agent server uses Kite Connect API to place orders
- Access token refreshed every day automatically
- (Upcoming) Background service watches prices to auto-trigger GTT-like orders
- (Upcoming) News + Chart analysis predict stock trend