Repository navigation
v0.3.0 - idx-mcp server, idx-core library, agent-native output
Highlights
- New:
idx-mcp, an MCP server. It serves the same market, financial and ownership data to MCP clients over stdio, through 11 tools:get_quotes,get_price_history,screen_stocks,get_company,analyze_stock,compare_stocks,get_shareholders,get_investor_holdings,search_investors,get_ownership_changes,ownership_status.- Install with
claude mcp add idx -- npx -y idx-mcp,cargo install idx-mcp, ornix profile install github:0xrsydn/idx-cli#idx-mcp. - Live results come as
{data, source, fetched_at, stale}. - Errors use the CLI's
{error, code, message}body. - The server shares idx's config, cache and ownership database.
--allow-syncadds anownership_synctool.
- Install with
- Agent-native CLI output. idx now prints JSON when stdout is not a terminal, and tables when it is. Agents and scripts get structured data without flags. JSON is compact when piped.
-o jsonlprints one record per line. No color codes appear when piped. idx-corelibrary. All data access, caching and analysis now live in a separate crate shared byidxandidx-mcp.
Breaking changes
-
Default output when piped is JSON. Use
-o table,IDX_OUTPUT=table, orgeneral.output = "table"to get tables back. A config created byidx config initbefore 0.3 pinsoutput = "table"; runidx config set general.output autoto switch to the new behavior. -
Exit codes by error class. Before 0.3, every error exited with 1.
Exit Meaning 2 invalid input or config 3 not found, no data, or no cached data offline 4 upstream unavailable; retry later 5 unsupported 1 other
CLI
stocks quote -andstocks compare -read symbols from stdin, separated by whitespace or commas. Example:idx stocks screen --filter high-dividend | jq -r '.[].symbol' | idx stocks compare -.- Financial statement line items come out in a stable order in JSON.
- Fixed: tables with colored cells (signals, change types) had a ragged right border in terminals.
Ownership
- Fixed: the IDX workbook stores the share code
TRUE(TRINITI DINAMIK) as a boolean cell, so its holders were imported under ticker1.- The published snapshot for 2026-09-30 has been rebuilt. The rebuild also corrects the bogus August→September changes for
TRUEand1. - With 0.3,
idx ownership syncpicks up the rebuild automatically. - On 0.2.x, run
idx ownership sync --forceonce.
- The published snapshot for 2026-09-30 has been rebuilt. The rebuild also corrects the bogus August→September changes for
- Sync now updates a database that is still byte-identical to an earlier build of the same snapshot. The manifest gains an optional
replaces_sqlite_sha256field, which older clients ignore. A database you imported or edited locally still needs--force.
Distribution
- Release assets add
idx-mcp-<platform>binaries next toidx-<platform>, all listed inSHA256SUMS. - New npm package
idx-mcp, alongsideidx-cli. New cratesidx-coreandidx-mcp. - Rust:
idxbuilds with 1.85+, andidx-mcpneeds 1.88+.
Verification
- 143 golden outputs (every command in table and JSON, plus error cases) are unchanged except for the documented output-default and exit-code changes.
- Live A/B checks against 0.2.4 match.
- Each MCP tool's data equals the CLI's JSON.