Zerodha Kite Connect MCP Server

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

  1. Clone this repository
  2. Install dependencies:
    npm install
  3. Create your configuration file:
    cp wrangler.jsonc.example wrangler.jsonc
  4. Configure your Zerodha API credentials in the wrangler.jsonc file:
    • Update the ZERODHA_API_KEY and ZERODHA_API_SECRET values
    • Note: This file is gitignored to prevent committing sensitive information
  5. Create a KV namespace in Cloudflare:
    wrangler kv:namespace create ZERODHA_KV
  6. Update the wrangler.jsonc file with the KV namespace ID
  7. Deploy the worker:
    npm run deploy

API Endpoints

  • GET /api/login - Redirects to Zerodha login page
  • POST /api/session - Exchange request token for access token
  • GET /api/profile - Get user profile
  • GET /api/margins - Get user margins
  • GET /api/holdings - Get user holdings
  • GET /api/orders - Get user orders
  • POST /api/orders - Place a new order
  • GET /api/positions - Get user positions
  • GET /api/instruments?exchange=NSE - Get instruments for a specific exchange

Authentication Flow

  1. Redirect the user to /api/login
  2. After successful login, Zerodha will redirect to your registered redirect URL with a request_token
  3. Send a POST request to /api/session with the request_token to obtain an access token
  4. 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:

npm run dev

License

MIT

-
security - not tested
-
license - not tested
-
quality - not tested

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.

  1. Features
    1. Setup
      1. Prerequisites
      2. Deployment
    2. API Endpoints
      1. Authentication Flow
        1. Security
          1. Development
            1. License
              ID: j98433nyi0