mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
feat(mcp): add idx-mcp, a stdio MCP server over idx-core
Phase 4 of docs/DESIGN.md. Eleven grouped tools (quotes, history, screen,
company, analysis, compare, shareholders, investor holdings, search,
ownership changes, status); ownership_sync is listed only with
--allow-sync. Live results keep the Fetched envelope, errors use the CLI's
{error, code, message} body, and investor tools on an empty database
point at the sync path.
idx-core gains Period/Interval FromStr, Investor::status, a ticker
filter on changes, and Display for ErrorCode (now used by the CLI too).
CLI output and goldens are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5b8a26499d
commit
cda12fe2db
18 changed files with 1546 additions and 38 deletions
23
README.md
23
README.md
|
|
@ -144,7 +144,7 @@ idx composes with `jq`, Python, and other shell tools:
|
|||
```bash
|
||||
idx stocks quote BBCA BBRI | jq -r '.[] | "\(.symbol) \(.price)"'
|
||||
idx -o jsonl stocks history BBCA --period 1y | tail -5
|
||||
idx stocks screen --filter low-pe | jq -r '.[].symbol' | idx stocks compare -
|
||||
idx stocks screen --filter high-dividend | jq -r '.[].symbol' | idx stocks compare -
|
||||
```
|
||||
|
||||
- stdout carries only data; warnings and errors go to stderr
|
||||
|
|
@ -157,6 +157,27 @@ idx stocks screen --filter low-pe | jq -r '.[].symbol' | idx stocks compare -
|
|||
If you ran `idx config init` before v0.3, your config pins `output = "table"`;
|
||||
change it to `auto` with `idx config set general.output auto`.
|
||||
|
||||
## MCP server
|
||||
|
||||
`idx-mcp` serves the same data to MCP clients over stdio, as 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`, and
|
||||
`ownership_status`. Live results come wrapped as
|
||||
`{data, source, fetched_at, stale}`; errors use the CLI's `{error, code,
|
||||
message}` body. It shares idx's config, cache, and ownership database.
|
||||
|
||||
Until it is released, build it from this repo:
|
||||
|
||||
```bash
|
||||
cargo install --path crates/idx-mcp # or: nix build .#idx-mcp
|
||||
claude mcp add idx -- idx-mcp # Claude Code; other clients run `idx-mcp`
|
||||
```
|
||||
|
||||
Ownership tools need a populated database: run `idx ownership sync` once, or
|
||||
start the server with `idx-mcp --allow-sync` to expose an `ownership_sync`
|
||||
tool (it downloads several MB).
|
||||
|
||||
## Documentation
|
||||
|
||||
- [docs/INSTALL.md](docs/INSTALL.md): install script options
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue