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.2.tar.gz (433.6 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.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openkite-0.1.2.tar.gz
  • Upload date:
  • Size: 433.6 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.2.tar.gz
Algorithm Hash digest
SHA256 b0d5c5d7298732e2559d638804feacd3106cfa5bc013f510d5c452d1bb2f53d2
MD5 4968802daf4d91bfa5819607cb022ac6
BLAKE2b-256 6fdd0fc0542f2eba8a0a48c67fa97293368f76514fede776fabc1f8c58db773c

See more details on using hashes here.

Provenance

The following attestation bundles were made for openkite-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: openkite-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4bd8ca74db8771ae3c737a2db961c4cc507a84c7ebacf7ca877a44f262e9eb68
MD5 fe4bd6ecc120b64d351051f46cbb26f5
BLAKE2b-256 57fd79786da96b11066273d7532ce5682daad9cd081793df829e685db5260232

See more details on using hashes here.

Provenance

The following attestation bundles were made for openkite-0.1.2-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