Skip to main content

OpenKite trading assistant packaged as a modular Python application.

Project description

OpenKite Logo

Overview

OpenKite is an AI-powered agentic trading assistant that combines real-time market access, fundamental analysis, and web intelligence into a single intelligent workflow. Built on the OpenAI Agents SDK, it autonomously selects and orchestrates tools to answer complex trading and investment queries — without you having to switch between multiple platforms.

Features

Feature Description
🤖 Agentic Reasoning Dynamically decides which tools to invoke based on user intent; minimizes unnecessary calls while maximizing insight
📈 Zerodha Kite Integration Fetch portfolio, positions, and holdings; place orders (including GTT); access real-time market data via the official Kite MCP server
🌐 Web Intelligence via Firecrawl Pull the latest news, trends, and external signals to enhance decision-making with real-world context
📊 Fundamental Analysis via Screener.in Retrieve company financials, key ratios, and quarterly trends for long-term investment research via a custom-built CLI tool — screenercli

Architecture

OpenKite Architecture

The agent orchestrator sits between the OpenAI Agents SDK and three tool groups:

  • Remote MCP — Zerodha Kite MCP server for live trading operations
  • Local MCP — Firecrawl MCP server for web crawl and search
  • Custom CLI Tools — Screener.in CLI for fundamental data lookups

Installation

pip install openkite

For local development:

pip install -e .[dev]

Prerequisite: Node.js (npx) is required to run the Firecrawl MCP server.

Configuration

Create a .env file in your working directory (or supply it via --env-file):

OPENAI_API_KEY=sk-...
FIRECRAWL_API_KEY=fc-...
OPENKITE_MODEL=gpt-4o
ZERODHA_MCP_SSE_URL=https://mcp.kite.trade/sse
OPENKITE_DB_PATH=~/.openkite/chat_history.db
OPENKITE_HOST=127.0.0.1
OPENKITE_PORT=7860
OPENKITE_SHARE=false

Keep .env out of source control — add it to .gitignore.

Variable Description
OPENAI_API_KEY Your OpenAI API key
FIRECRAWL_API_KEY Your Firecrawl API key
OPENKITE_MODEL OpenAI model to use (e.g. gpt-4o)
ZERODHA_MCP_SSE_URL Zerodha Kite MCP SSE endpoint
OPENKITE_DB_PATH Path for persisting chat history
OPENKITE_HOST Host for the Gradio UI server
OPENKITE_PORT Port for the Gradio UI server
OPENKITE_SHARE Set true to create a public Gradio share link

Usage

Launch the chat UI:

openkite chat

Validate your configuration:

openkite check

Pass custom runtime options:

openkite chat --env-file .env --host 0.0.0.0 --port 7860

Example Prompts

Try these in the chat UI to exercise Kite MCP, Firecrawl, and Screener together:

Portfolio & Positions

  • Show my current holdings with live prices, day change, unrealised P&L, and portfolio weights.
  • List my open positions and pending orders, then flag anything that needs attention today.
  • Review my top holdings by value using live Kite data, Screener fundamentals, and recent news, then highlight key risks and opportunities without placing orders.

Fundamental Analysis

  • Compare TCS and Infosys : valuation, growth, margins, ROCE, and the latest quarterly trend.
  • Show the last 4 quarters for HDFCBANK and tell me whether revenue, profit, and return ratios are improving or weakening.

Market Intelligence

  • Use recent web coverage to summarize the most important Reliance Industries news from the last 7 days and explain the likely market impact.
  • For NSE:INFY, combine live Kite price action, fundamentals, and recent web news into a short trading and investment brief.

Screenshots

OpenKite Chat Interface

Chat interface with example prompt suggestions

OpenKite Portfolio Analysis

AI-generated portfolio analysis with sell recommendations

OpenKite Tool Calls

Live agent tool-call trace during a Nifty 50 scan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openkite-0.1.1.tar.gz (433.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openkite-0.1.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file openkite-0.1.1.tar.gz.

File metadata

  • Download URL: openkite-0.1.1.tar.gz
  • Upload date:
  • Size: 433.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openkite-0.1.1.tar.gz
Algorithm Hash digest
SHA256 273080333a7ee30b27bace11070069fcee344abd86e02656df350f80a4c922ce
MD5 be2bcb83edcb461bd94aaae7cb4d17dc
BLAKE2b-256 227a445506adf33ea0f3e3314d237e1d0eff2b88e674adfc87348d4e3490f749

See more details on using hashes here.

Provenance

The following attestation bundles were made for openkite-0.1.1.tar.gz:

Publisher: publish.yml on mayur1064/openkite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openkite-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: openkite-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openkite-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ebea301ac42b35a8f91af89b72450afce318e96c0f271b0ae6f401a401530c3b
MD5 a2755146dd22f2f39514139c3afd16b4
BLAKE2b-256 7216ee56f21c82c58b6cc76c10752c4ab3387698f69639f77512891c6487ed24

See more details on using hashes here.

Provenance

The following attestation bundles were made for openkite-0.1.1-py3-none-any.whl:

Publisher: publish.yml on mayur1064/openkite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page