Indonesian stocks and ownership, in your terminal and your agent.
Quotes, fundamentals, technicals and KSEI shareholder data for every IDX stock. Tables for you, JSON for scripts, and an MCP server for AI agents.
$ npm install -g idx-cliDownloads the checksum-verified release binary. Or run once with npx idx-cli.
$ curl -fsSL https://raw.githubusercontent.com/0xrsydn/idx-cli/main/install.sh | shLinux and macOS. Installs to ~/.local/bin without sudo.
$ cargo install idx-cliBuilds from source. Requires Rust 1.89+.
$ nix profile install github:0xrsydn/idx-cliBundles curl-impersonate and MuPDF for the ownership importers.
Install idx-cli and its MCP server for me by following https://idx.rasyidanaf.com/agents/install.md, then show me that it works.Paste into Claude Code, Codex, Cursor or any coding agent. It installs idx, registers idx-mcp with itself, and asks before changing global config.
$ idx stocks quote BBCA BBRI BMRI TLKM SYMBOL PRICE CHG% VOLUME BBCA.JK 6,125 +2.94% 136,303,100 BBRI.JK 3,090 +0.32% 109,152,100 BMRI.JK 3,960 -0.75% 106,870,300 TLKM.JK 2,250 +0.45% 87,159,900 $ idx stocks quote BBCA | jq -c '.[0] | {symbol, price, change_pct}' {"symbol":"BBCA.JK","price":6125,"change_pct":2.9412} $ idx ownership ticker BBCA Ownership: BBCA KSEI=2026-09-30 1 DWIMURIA INVESTAMA ANDALAN 54.94% 2 ANTHONI SALIM 1.15% 3 TRICIPTA MANDHALA GUMILANG 1.07% Concentration: top1=54.94% free_float=41.82%
Stocks
Quotes, OHLC history, financial statements and a screener. Technical, growth, valuation and risk analysis, and side-by-side compare.
idx stocks fundamental BBRIOwnership
Who holds more than 1% of every listed company, from the monthly KSEI register. Month-over-month changes, entity search, cross-holdings. Sync once, query offline.
idx ownership entity "ANTHONI SALIM"Agents
JSON whenever output is piped, errors as one JSON object, meaningful exit codes. Plus idx-mcp: 11 tools for any MCP client.
npx -y idx-mcpAdd idx to your agent
idx-mcp serves the same data over stdio. Our agent smoke test runs the Claude Code, Codex, opencode, pi, and Hermes setups against the real agents.
claude mcp add idx -- npx -y idx-mcp
[mcp_servers.idx] command = "npx" args = ["-y", "idx-mcp"]
{
"mcpServers": {
"idx": { "command": "npx", "args": ["-y", "idx-mcp"] }
}
}{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"idx": { "type": "local", "command": ["npx", "-y", "idx-mcp"], "enabled": true }
}
}{
"mcpServers": {
"idx": { "command": "npx", "args": ["-y", "idx-mcp"], "exposure": "direct" }
}
}mcp_servers:
idx:
command: npx
args: ["-y", "idx-mcp"]
enabled: truecommand: npx args: -y idx-mcp # or the command idx-mcp, if installed # add --allow-sync to expose ownership_sync
Ownership tools need data: run idx ownership sync once, or start the server with --allow-sync. Full setup guide
Who owns BBCA?
KSEI register, holders above 1% · as of 30 Sep 2026| # | Investor | Type | Shares | Stake |
|---|---|---|---|---|
| 1 | DWIMURIA INVESTAMA ANDALAN | Corporate | 67,729,950,000 | |
| 2 | ANTHONI SALIM | Individual | 1,416,306,835 | |
| 3 | TRICIPTA MANDHALA GUMILANG | Corporate | 1,313,250,000 | |
| 4 | CATURGUWIRATNA SUMAPALA | Corporate | 1,261,750,000 |
Rendered from idx ownership ticker BBCA. The snapshot is rebuilt when IDX publishes a new month.
Built for pipes
stdout carries only data. Errors go to stderr as one JSON object, with exit codes an agent can act on.
- 2
- invalid input or config
- 3
- not found, or no cached data offline
- 4
- upstream unavailable, retry later
- 5
- unsupported
# screen, then compare the hits idx stocks screen --filter high-dividend \ | jq -r '.[].symbol' \ | idx stocks compare - # a year of daily closes, one JSON object per line idx -o jsonl stocks history BBCA --period 1y | tail -5 # bad input fails fast, as JSON on stderr idx stocks quote ../x {"error":true,"code":"INVALIDINPUT","message":"invalid input: invalid ticker symbol '../x'"} exit 2