zerodha-mcp-go

zerodha-mcp-go

8

Zerodha MCP Server is a protocol designed to communicate and access Zerodha trading data using Claude MCP, allowing integration with Claude AI. It offers a range of functionalities to retrieve portfolio, market, and mutual funds data while requiring Go and Zerodha API credentials for setup. The project supports read-only operations and requires daily authentication renewal.

Zerodha MCP Server

Protocol to communicate with your Zerodha data written in Golang

Zerodha MCP Logo

Go

Overview

Zerodha MCP Server provides an implementation of the Claude MCP (Model Completion Protocol) interface for Zerodha trading data. This allows Claude AI to access your Zerodha trading account information directly.

Prerequisites

Installation

Option 1: Using Go Install

go install github.com/sukeesh/zerodha-mcp@latest

Option 2: Build from Source

git clone https://github.com/sukeesh/zerodha-mcp.git
cd zerodha-mcp
go install

The binary will be installed to your GOBIN directory, which should be in your PATH.

Usage with an MCP Client

GPT 4o mini

https://github.com/user-attachments/assets/849c4aca-0ca2-4aed-a9be-3df135f8a5c5

Claude Sonnet 3.7

Claude as MCP Client

Configuration

  1. Get your ZERODHA_API_KEY and ZERODHA_API_SECRET from the Kite Connect developer portal

  2. Set up a redirect URL in the Kite developer portal:

    http://127.0.0.1:5888/auth
    
  3. Configure Claude Desktop:

    • Open Claude Desktop → Settings → Developer → Edit Config
    • Add the following to your claude_desktop_config.json:
{
  "mcpServers": {
    "zerodha": {
      "command": "<path-to-zerodha-mcp-binary>",
      "env": {
       "ZERODHA_API_KEY": "<api_key>",
       "ZERODHA_API_SECRET": "<api_secret>"
      }
    }
  }
}
  1. Restart Claude Desktop. When prompted, authenticate with your Zerodha Kite credentials.

Debugging

The logs for MCP Server are available at ~/Library/Logs/Claude

Known Bugs

When the Claude desktop is shutdown, the underlying MCP Server is not getting killed.

kill -9 $(lsof -t -i:5888)

Available Tools

CategoryToolStatusDescription
Account Informationget_user_profileGet basic user profile information
get_user_marginsGet all user margins
get_user_segment_marginsGet segment-wise user margins
Portfolio & Positionsget_kite_holdingsGet current holdings in Zerodha Kite account
get_positionsGet current day and net positions
get_order_marginsGet margin requirements for specific orders
Market Dataget_ltpGet Last Traded Price for specific instruments
get_quoteGet detailed quotes for specific instruments
get_ohlcGet Open, High, Low, Close quotes
Instrumentsget_instrumentsGet list of all available instruments on Zerodha
get_instruments_by_exchangeGet instruments filtered by exchange
get_auction_instrumentsGet instruments available for auction sessions
Mutual Fundsget_mf_instrumentsGet list of all available mutual fund instruments
get_mf_holdingsGet list of mutual fund holdings
get_mf_holdings_infoGet detailed information about mutual fund holdings
get_mf_ordersGet list of all mutual fund orders
get_mf_order_infoGet detailed information about specific mutual fund orders
get_mf_sip_infoGet information about mutual fund SIPs
get_mf_allotted_isinsGet allotted mutual fund ISINs

Usage

After setup, you can interact with your Zerodha account data directly through Claude. For example:

  • "Show me my current portfolio holdings"
  • "What's my current margin availability?"
  • "Give me the latest price for RELIANCE"
  • "Show me my open positions with P&L"

Limitations

  • Only read operations are supported; trading is not yet available
  • Authentication token expires daily and requires re-login