Kite MCP Server
An MCP server for integrating with Zerodha Kite API that provides Claude with tools to interact with your Kite trading account, enabling portfolio management, market data access, and order execution.
README
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
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 install
- Set up environment variables:
# Edit .env with your API credentials
- Configure your Kite Connect app with redirect URL:
http://localhost:50000/zerodha/auth/redirect
Quick Start
1. Authenticate with Kite API
bun run auth
This will:
- Start a local OAuth server
- Open your browser to Kite login
- Save your access token securely
2. Start the MCP Server
bun start
3. 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 point
Development
Build (Optional)
bun run build
Development Mode
bun run dev # Watch mode for MCP server
bun run dev:auth # Watch mode for auth server
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
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.json - OAuth flow uses secure redirect handling
- API credentials are never logged or exposed
- Tokens auto-expire for security
Troubleshooting
Authentication Issues
- Verify API credentials in
.env - Check 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 expired - Server will notify you of authentication status
MCP Connection Issues
- Verify Claude Desktop configuration
- Check server is running:
bun start - Look 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.