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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kite MCP Servershow me my current portfolio holdings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: KaiaFun MCP
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:
bun installSet up environment variables:
# Edit .env with your API credentialsConfigure your Kite Connect app with redirect URL:
http://localhost:50000/zerodha/auth/redirectQuick Start
1. Authenticate with Kite API
bun run authThis will:
Start a local OAuth server
Open your browser to Kite login
Save your access token securely
2. Start the MCP Server
bun start3. Configure Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"kite": {
"command": "bun",
"args": ["run", "/path/to/kite-mcp/src/index.ts"]
}
}
}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
src/
├── config/
│ └── environment.ts # Configuration management
├── auth/
│ ├── token-manager.ts # Token storage and validation
│ └── oauth-server.ts # OAuth flow handling
├── api/
│ └── kite-client.ts # Kite API wrapper
├── mcp/
│ ├── server.ts # MCP server implementation
│ └── tools/
│ └── index.ts # MCP tools definitions
├── auth.ts # Authentication entry point
└── index.ts # MCP server entry pointDevelopment
Build (Optional)
bun run buildDevelopment Mode
bun run dev # Watch mode for MCP server
bun run dev:auth # Watch mode for auth serverArchitecture
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
API_KEY=your_kite_api_key # Required: Kite Connect API Key
API_SECRET=your_kite_api_secret # Required: Kite Connect API Secret
OAUTH_PORT=50000 # Optional: OAuth server port (default: 50000)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.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.