Trade-MCP
A modular trading automation project using the Zerodha Kite Connect API for tool-based and resource-based automation.
Trade-MCP
A modular trading automation project using Zerodha Kite Connect and MCP (Modular Command Platform) for tool-based and resource-based automation. This project exposes trading actions (like placing orders and fetching holdings) as MCP tools, making them accessible to Claude Desktop and other MCP-compatible clients.
Features
- Zerodha Integration: Place buy/sell orders and fetch holdings using the Kite Connect API.
- MCP Tools: Expose trading actions as callable tools for automation and AI agents.
- Environment-based Secrets: API keys and secrets are loaded from a
.envfile for security. - Extensible: Easily add new tools or resources for more trading actions.
Setup
1. Clone the Repository
git clone <your-repo-url>
cd Trade-MCP
2. Create and Activate a Virtual Environment
uv venv
.venv\Scripts\activate # On Windows
# or
source .venv/bin/activate # On Linux/Mac
3. Install Dependencies
uv pip install -r requirements.txt
# or, if using pyproject.toml:
uv pip install .
4. Configure Environment Variables
Create a .env file in the project root:
API_KEY=your_zerodha_api_key
API_SECRET=your_zerodha_api_secret
5. Get Your Zerodha Access Token
To use the Zerodha API, you need an access token. Follow these steps:
-
Get Your API Key and Secret
- Obtain these from the Zerodha developer console.
-
Generate the Login URL
In a Python shell or script, run:from kiteconnect import KiteConnect kite = KiteConnect(api_key="your_api_key") print(kite.login_url())- Open the printed URL in your browser and log in with your Zerodha credentials.
-
Extract the
request_token- After login, you will be redirected to your redirect URL (set in the Zerodha app settings).
- The URL will look like:
http://localhost:8000/?request_token=REQUEST_TOKEN_HERE&action=login&status=success - Copy the
request_tokenvalue from the URL.
-
Exchange the
request_tokenfor anaccess_token
In a Python shell or script, run:data = kite.generate_session("REQUEST_TOKEN_HERE", api_secret="your_api_secret") print(data["access_token"])- Replace
"REQUEST_TOKEN_HERE"and"your_api_secret"with your actual values. - The printed value is your
access_token.
- Replace
-
Set the Access Token
- You can set this as an environment variable or use it directly in your code as needed.
Usage
Run the MCP Server
uv run --with mcp[cli] mcp run server.py
Or, if MCP CLI is installed in your environment:
mcp run server.py
Claude Desktop Integration
-
Add a server entry in your
claude_desktop_config.json:{ "mcpServers": { "Trade-MCP": { "command": "uv.EXE", # Exact Path to uv executable "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "server.py" # Exact Path to your server script ] } } } -
Restart Claude Desktop.
-
The tools will appear in Claude's tool list.
Exposed Tools
add(a: int, b: int): Add two numbers.place_zerodha_buy_order(symbol: str, quantity: int): Place a buy order.place_zerodha_sell_order(symbol: str, quantity: int): Place a sell order.get_zerodha_holdings(): Get all holdings from Zerodha.
Extending
To add a new tool, define a function in server.py and decorate it with @mcp.tool():
@mcp.tool()
def my_tool(...):
...
License
MIT License
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
공공 API 연동 MCP 샘플
Integrates the Korea Meteorological Administration's public weather API to provide climate data.
Trustwise
Advanced evaluation tools for AI safety, alignment, and performance using the Trustwise API.
MCP Demo Server
A reference implementation of a Model Context Protocol (MCP) server with example tools, prompts, and resources.
ProjectFlow
A workflow management system for AI-assisted development with MCP support, featuring flexible storage via file system or PostgreSQL.
FAL FLUX.1 Kontext [Max]
A frontier image generation and editing model with advanced text rendering and contextual understanding, powered by the FAL AI API.
Narsil MCP
Blazingly fast 🔥 best in class MCP server in Rust 🦀 with neural engine, security profiling, and optional graph frontend
Infercnv-MCP
Infer Copy Number Variations (CNVs) from single-cell RNA-Seq data using a natural language interface.
android-mcp-toolkit
A growing collection of MCP tools for Android Development. Currently features a deterministic Figma-SVG-to-Android-XML converter, with plans for Gradle analysis, Resource management, and ADB integration tools.
Puppeteer MCP
MCP server for browser automation via Puppeteer
Unison MCP Server
An MCP server for the Unison language, allowing AI assistants to interact with the Unison Codebase Manager (UCM).