ContextCraft: Claude-Ready Stock Trading MCP Server

April 24, 2025 Β· View on GitHub

Built by Arin Dhimar ✨
Claude-integrated 🧐 β€’ Zerodha-powered πŸ“ˆ β€’ Python 3.10+ ✨


πŸš€ Overview

ContextCraft is an intelligent, Claude-compatible MCP (Model Context Protocol) server that lets Claude (or any MCP agent) perform live stock trading through Zerodha KiteConnect.

Speak naturally. Claude understands:

β€œBuy 10 shares of INFY at market price.”
β€œSell 5 SBIN when it hits 780.”


πŸ”§ Features

  • Place Market or Limit orders
  • Query symbols by substring
  • Works seamlessly with Claude Desktop
  • FastMCP-compatible β€” zero boilerplate
  • Auto-installs kiteconnect
  • Real-time stock data integration (via Zerodha KiteConnect API)
  • Advanced portfolio management (coming soon)
  • Full integration with the Claude platform for hands-free trading
  • Auto Trade Assistant with conditions like price triggers
  • Portfolio Risk Analyzer for better decision-making
  • Earnings Calendar & Predictions for proactive trading strategies
  • Explain This Stock AI Tool to simplify stock information

πŸ“‚ Project Structure

FilePurpose
server.pyMCP server with trading tools
main.pyMinimal script entrypoint
.envAPI key + token (Git ignored)
pyproject.tomlProject + dependency declarations

πŸ“… Installation

1. Clone the repo

git clone https://github.com/arindhimar/contextcraft.git
cd contextcraft

2. Setup virtual environment

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3. Install dependencies

uv pip install -e .

4. Setup .env

API_KEY=your_kiteconnect_key
ACCESS_TOKEN=your_valid_access_token
RAPIDAPI_KEY =your_valid_rapidapi_key
RAPIDAPI_HOST = "indian-stock-exchange-api2.p.rapidapi.com"

▢️ How to Run

🚧 Development

mcp dev server.py

βš›οΈ Production

uv run python server.py

🧰 Tools Available

trade(symbol, side, quantity, price?)

Place a buy/sell order for a stock.

ParamTypeDescription
symbolstrSubstring or full tradingsymbol
sidestr"buy" or "sell"
quantityintNumber of shares
pricefloat?Leave blank or say "market" for LTP

portfolio_risk_analyzer()

Analyzes your portfolio’s risk by evaluating the stocks you hold, their current prices, and their market volatility.

explain_stock(symbol)

Returns a simplified, AI-generated explanation of a stock, including its market trends, news, and predictions.

ParamTypeDescription
symbolstrSubstring or full tradingsymbol

earnings_calendar()

Fetches the earnings calendar for the current or upcoming quarter, providing predictions on stock movements based on earnings announcements.


🌐 Claude Desktop Integration

"mcpServers": {
  "ContextCraft": {
    "command": "uv",
    "args": [
      "--directory", "C:\\Users\\Arin Dhimar\\Documents\\ContextCraft\\mcp-server-contextcraft",
      "run", "python", "server.py"
    ]
  }
}

Reload config in Claude Desktop. You're live!


πŸš€ Future Ideas

  • Tool to fetch holdings
  • View order history
  • Fetch current prices on demand
  • Add more financial tools (alerts, watchlists, etc.)

πŸŽ“ License

MIT License Β© Arin Dhimar


Made with coffee, code & context β˜•οΈ