kite-mcp-server

MCP.Pizza Chef: zerodha

The kite-mcp-server is an MCP server that integrates Zerodha's Kite Connect API, providing real-time access to trading data and functionality. It supports multiple modes including stdio and SSE, allowing seamless connection with MCP clients. This server enables developers to build AI-powered trading assistants, automate trading workflows, and access live market data securely within the MCP ecosystem.

Use This MCP server To

Access real-time stock market data via Zerodha Kite API Automate trading orders and portfolio management Integrate live trading data into AI-powered trading assistants Stream market updates using SSE mode for low-latency data Securely manage API keys and trading credentials Enable multi-step trading workflows with LLMs Connect MCP clients to Zerodha trading platform Test and develop trading strategies with live data

README

Kite MCP Server

Claude config:

The path to the config file can be found in the claude_desktop_config.json file.

Linux: ~/.config/Claude/claude_desktop_config.json

stdio mode:

{
  "mcpServers": {
    "kite": {
      "command": "go",
      "args": ["run", "<ABSOLUTE_PATH>/main.go"],
      "env": {
        "APP_MODE": "stdio",
        "KITE_API_KEY": "<your_api_key>",
        "KITE_API_SECRET": "<your_api_secret>"
      }
    }
  }
}

SSE mode

For the SSE mode, you can run the following command to start the server:

go run main.go
{
  "mcpServers": {
    "kite": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:8081/sse"]
    }
  }
}

If you want to use the hosted version, you can use the following config:

{
  "mcpServers": {
    "kite": {
      "command": "npx",
      "args": ["mcp-remote", "http://mcp.kite.trade/sse"]
    }
  }
}

Kite Connect API Integration Status

API Method Integration Status Remarks
User & Account Methods
GetUserProfile() [x] Implemented as get_profile tool
GetUserMargins() [x] Implemented as get_margins tool
GetHoldings() [x] Implemented as get_holdings tool
GetPositions() [x] Implemented as get_positions tool
GetFullUserProfile() [ ] Not yet implemented
InvalidateAccessToken() [ ] Not yet implemented
InvalidateRefreshToken() [ ] Not yet implemented
RenewAccessToken() [ ] Not yet implemented
Orders & Trades Methods
GetOrders() [x] Implemented as get_orders tool
GetTrades() [x] Implemented as get_trades tool
PlaceOrder() [x] Implemented as place_order tool
ModifyOrder() [x] Implemented as modify_order tool
CancelOrder() [x] Implemented as cancel_order tool
ExitOrder() [ ] Not yet implemented
ConvertPosition() [ ] Not yet implemented
GetOrderHistory() [ ] Not yet implemented
GetOrderTrades() [ ] Not yet implemented
GetOrderMargins() [ ] Not yet implemented
GetBasketMargins() [ ] Not yet implemented
GetOrderCharges() [ ] Not yet implemented
GTT Orders
GetGTTs() [x] Implemented as get_gtts tool
GetGTT() [ ] Not yet implemented
PlaceGTT() [x] Implemented as place_gtt_order tool
ModifyGTT() [x] Implemented as modify_gtt_order tool
DeleteGTT() [x] Implemented as delete_gtt_order tool
Market Data Methods
GetQuote() [x] Implemented as get_quotes tool
GetHistoricalData() [x] Implemented as get_historical_data tool
GetLTP() [ ] Not yet implemented
GetOHLC() [ ] Not yet implemented
GetInstruments() [-] Won't implement. Use instruments_search tool.
GetInstrumentsByExchange() [-] Won't implement
GetAuctionInstruments() [ ] Not yet implemented
Mutual Funds Methods
GetMFOrders() [ ] Not yet implemented
GetMFOrderInfo() [ ] Not yet implemented
PlaceMFOrder() [ ] Not yet implemented
CancelMFOrder() [ ] Not yet implemented
GetMFSIPs() [ ] Not yet implemented
GetMFSIPInfo() [ ] Not yet implemented
PlaceMFSIP() [ ] Not yet implemented
ModifyMFSIP() [ ] Not yet implemented
CancelMFSIP() [ ] Not yet implemented
GetMFHoldings() [x] Implemented as get_mf_holdings tool
GetMFHoldingInfo() [ ] Not yet implemented
GetMFInstruments() [ ] Not yet implemented
GetMFOrdersByDate() [ ] Not yet implemented
GetMFAllottedISINs() [ ] Not yet implemented
Other Methods
InitiateHoldingsAuth() [ ] Not yet implemented
GetUserSegmentMargins() [ ] Not yet implemented

kite-mcp-server FAQ

How do I configure the kite-mcp-server for use?
Configure using the claude_desktop_config.json file with your Kite API key and secret, specifying stdio or SSE mode.
What modes does kite-mcp-server support?
It supports stdio mode for direct command execution and SSE mode for server-sent events streaming.
Can I use a hosted version of kite-mcp-server?
Yes, you can connect to the hosted MCP server at http://mcp.kite.trade/sse using the provided config.
How does kite-mcp-server handle authentication?
It uses your Kite Connect API key and secret set as environment variables for secure authentication.
Is kite-mcp-server compatible with multiple MCP clients?
Yes, it is designed to work with any MCP client that supports the protocol, enabling flexible integrations.
What programming languages can I use to interact with kite-mcp-server?
While the server is written in Go, MCP clients can be implemented in any language supporting MCP protocol.
How can I start the kite-mcp-server locally?
Run 'go run main.go' for SSE mode or configure stdio mode with the appropriate command and environment variables.
Does kite-mcp-server support real-time market data streaming?
Yes, SSE mode enables low-latency streaming of live market updates to connected clients.