Uses Bun as the runtime environment for the MCP server, leveraging its JavaScript/TypeScript capabilities for server execution and package management.
Provides tools for interacting with Zerodha Kite trading platform, enabling portfolio management, real-time market data retrieval, order management (placing, modifying, canceling), and account information access.
Kite MCP Server
A Model Context Protocol (MCP) server for integrating with Zerodha Kite API. This server provides Claude with tools to interact with your Kite trading account.
Features
Portfolio Management: Get positions, holdings, and orders
Market Data: Real-time quotes, LTP, and instrument data
Order Management: Place, modify, and cancel orders
Account Info: Profile, margins, and authentication status
Secure Authentication: OAuth 2.0 flow with token persistence
Related MCP server: Monad NFT Launch Tool
Prerequisites
Zerodha Kite Connect App: Create an app at Kite Connect
API Credentials: Get your API Key and Secret
Bun: Latest version of Bun runtime
Installation
Clone and install dependencies:
Set up environment variables:
Configure your Kite Connect app with redirect URL:
Quick Start
1. Authenticate with Kite API
This will:
Start a local OAuth server
Open your browser to Kite login
Save your access token securely
2. Start the MCP Server
3. Configure Claude Desktop
Add to your Claude Desktop configuration:
Available Tools
Portfolio Tools
get_profile- Get user profile informationget_positions- Get current trading positionsget_holdings- Get long-term holdingsget_margins- Get account margins and funds
Order Tools
get_orders- Get today's ordersplace_order- Place a new trading ordercancel_order- Cancel an existing order
Market Data Tools
get_ltp- Get Last Traded Price for instrumentsget_quote- Get detailed market quotesget_instruments- Get tradable instruments list
Utility Tools
get_auth_status- Check authentication status
Project Structure
Development
Build (Optional)
Development Mode
Architecture
The project follows the Single Responsibility Principle:
ConfigManager: Environment and configuration handling
TokenManager: Token persistence and validation
OAuthServer: OAuth 2.0 authentication flow
KiteClient: Kite API wrapper with error handling
KiteMCPServer: MCP protocol implementation
Tools: Individual MCP tool implementations
Environment Variables
Security
Tokens are stored locally in
access_token.jsonOAuth flow uses secure redirect handling
API credentials are never logged or exposed
Tokens auto-expire for security
Troubleshooting
Authentication Issues
Verify API credentials in
.envCheck redirect URL in Kite Connect app settings
Ensure OAuth port (50000) is available
Token Expiry
Kite tokens expire every ~6 hours
Re-run
bun run authwhen expiredServer will notify you of authentication status
MCP Connection Issues
Verify Claude Desktop configuration
Check server is running:
bun startLook for errors in Claude Desktop logs
Contributing
Fork the repository
Create a feature branch
Follow the existing code structure and patterns
Add appropriate error handling
Submit a pull request
License
MIT License - see LICENSE file for details
Disclaimer
This is an unofficial integration with Zerodha Kite API. Use at your own risk. Always verify trades and orders before execution.