Zerodha Kite Connect MCP Server
This is a Cloudflare Worker that serves as an MCP (Multi-Cloud Provider) server for interacting with the Zerodha Kite Connect API. It provides a RESTful API interface to various Zerodha trading functionalities.
Features
- Authentication with Zerodha
- User profile information
- Margins and funds
- Holdings and positions
- Order placement and management
- Instrument details
Setup
Prerequisites
- Zerodha Kite Connect API credentials (API Key and Secret)
- Cloudflare account
Deployment
- Clone this repository
- Install dependencies:Copy
- Create your configuration file:Copy
- Configure your Zerodha API credentials in the
wrangler.jsonc
file:- Update the
ZERODHA_API_KEY
andZERODHA_API_SECRET
values - Note: This file is gitignored to prevent committing sensitive information
- Update the
- Create a KV namespace in Cloudflare:Copy
- Update the
wrangler.jsonc
file with the KV namespace ID - Deploy the worker:Copy
API Endpoints
GET /api/login
- Redirects to Zerodha login pagePOST /api/session
- Exchange request token for access tokenGET /api/profile
- Get user profileGET /api/margins
- Get user marginsGET /api/holdings
- Get user holdingsGET /api/orders
- Get user ordersPOST /api/orders
- Place a new orderGET /api/positions
- Get user positionsGET /api/instruments?exchange=NSE
- Get instruments for a specific exchange
Authentication Flow
- Redirect the user to
/api/login
- After successful login, Zerodha will redirect to your registered redirect URL with a
request_token
- Send a POST request to
/api/session
with therequest_token
to obtain an access token - The access token will be stored in the KV namespace for subsequent API calls
Security
- API keys and secrets are stored securely in Cloudflare environment variables or KV namespace
- CORS headers are properly configured
- Access tokens are managed securely
Development
To run the worker locally:
Copy
License
MIT
This server cannot be installed
A Cloudflare Worker that provides a RESTful API interface to Zerodha trading functionalities, enabling users to authenticate, access profile information, manage orders, and view holdings and positions.