Skip to main content
Glama

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

  1. Zerodha Kite Connect App: Create an app at Kite Connect

  2. API Credentials: Get your API Key and Secret

  3. Bun: Latest version of Bun runtime

Installation

  1. Clone and install dependencies:

bun install
  1. Set up environment variables:

# Edit .env with your API credentials
  1. 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 information

  • get_positions - Get current trading positions

  • get_holdings - Get long-term holdings

  • get_margins - Get account margins and funds

Order Tools

  • get_orders - Get today's orders

  • place_order - Place a new trading order

  • cancel_order - Cancel an existing order

Market Data Tools

  • get_ltp - Get Last Traded Price for instruments

  • get_quote - Get detailed market quotes

  • get_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

  1. Verify API credentials in .env

  2. Check redirect URL in Kite Connect app settings

  3. Ensure OAuth port (50000) is available

Token Expiry

  • Kite tokens expire every ~6 hours

  • Re-run bun run auth when expired

  • Server will notify you of authentication status

MCP Connection Issues

  1. Verify Claude Desktop configuration

  2. Check server is running: bun start

  3. Look for errors in Claude Desktop logs

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Follow the existing code structure and patterns

  4. Add appropriate error handling

  5. 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    An MCP server that enables token listing, trading, and interaction with the Kaia blockchain via Claude Desktop.
    Last updated -
    1
    Apache 2.0
  • -
    security
    -
    license
    -
    quality
    An MCP server that helps users create NFT collections, deploy smart contracts to the Monad blockchain, and generate mint websites with Claude AI integration.
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables AI models to interact with the Zerodha trading platform, allowing users to execute trades, view portfolio holdings, and manage positions through a standardized interface.
    Last updated -
    2
    MIT License
  • -
    security
    F
    license
    -
    quality
    Implements a Model Context Protocol server that connects with Zerodha Kite API, allowing users to buy/sell stocks and retrieve holdings and positions information.
    Last updated -
    1

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/linkwithjoydeep/kite-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server