Investment runtime built for AI agents — 4-role LLM investment committee, portfolio ledger, decision accounting, MCP server
Project description
openInvest
An investment runtime built for AI agents. Your agent knows you — openInvest knows investing.
openInvest runs a 4-role LLM investment committee (Macro Strategist, Quant Analyst, Risk Officer, CIO) that debates any asset and returns a BUY / ACCUMULATE / HOLD / TRIM / SELL verdict with a written memo — plus portfolio tracking, a decision ledger, and full decision-accounting (which advice you followed, what happened after).
It is not a chatbot. Conversation, memory, and personalization stay in your agent (Claude Code, Codex, Cursor, or any script); openInvest provides the investing capabilities behind it.
Install & run
# no install needed — uvx fetches and caches it
INVEST_HOME=~/openInvest uvx openinvest status
# or install it
pip install openinvest
INVEST_HOME is your data directory (portfolio, ledgers, .env). All state lives there — the package itself is stateless.
First-time setup
uvx openinvest init # interactive onboarding (or `--from-stdin` for agents)
uvx openinvest doctor # health check
As an MCP server (recommended for agents)
14 tools — portfolio read/write, live prices, decision ledger, and the committee — over stdio:
claude mcp add openinvest -e INVEST_HOME=~/openInvest -- uvx openinvest-mcp
Read tools carry readOnlyHint; money-moving tools (buy, sell, deposit, withdraw) carry destructiveHint, so MCP clients gate them behind confirmation.
As a Claude Code / Codex plugin
Skills (committee orchestration protocol) + MCP server, bundled:
/plugin marketplace add longsizhuo/openInvest
/plugin install invest@openinvest
What it does
- Investment committee — 4 LLM roles debate any
yfinancesymbol (equities, ETFs, crypto, commodities, any currency). Two execution paths: Coordinator (your agent plays the roles — no API key) or Direct (backend LLM, needsDEEPSEEK_API_KEY). - Portfolio management — multi-currency cash + holdings with an append-only, fcntl-locked ledger. Never places real orders.
- Decision accounting — every verdict is joined at read time with rule interventions, your executions (or refusals, with reasons), and post-hoc PnL. Ask it: "How often did I actually follow the committee?"
- Discipline ledger — counterfactual PnL of what the safety rules blocked.
CLI
uvx openinvest status # portfolio + live P&L
uvx openinvest run_committee GC=F # one-shot committee verdict
uvx openinvest decisions --days 90 # decision ledger + adoption rate
uvx openinvest record_execution 2026-07-03/GC=F --rejected --reason "too pricey"
uvx openinvest buy --symbol AAPL --units 10 --price 210 --currency USD
Disclaimer
LLM-driven decision support — not investment advice. LLMs make mistakes and get overconfident. openInvest never auto-trades; its ledger is a local SQLite record with no connection to any brokerage or payment system. Past performance does not predict future returns.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openinvest-0.18.1.tar.gz.
File metadata
- Download URL: openinvest-0.18.1.tar.gz
- Upload date:
- Size: 403.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
166731456f213655109ef8b0609ee15db0a9c615854a691ddf5af4fc7f3ae2a9
|
|
| MD5 |
5e832b512218bf8eb4d9ac5e995ed8d0
|
|
| BLAKE2b-256 |
bdd86e741640d4cfd7947832090193131d7ebc7368d420ba445df7d7de02bc39
|
File details
Details for the file openinvest-0.18.1-py3-none-any.whl.
File metadata
- Download URL: openinvest-0.18.1-py3-none-any.whl
- Upload date:
- Size: 510.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f04a6f60c74099799538b3d1ac95a48f3c52320d6f17ba36a940fd8bffb89ac9
|
|
| MD5 |
ecb7b9660d7a4a6f00f6a5d5ccee60a1
|
|
| BLAKE2b-256 |
625391ab25d56c18b81567313e3f5cedd7294a163cbb87eef98236aa1e935aaa
|