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
31
crates/idx-mcp/Cargo.toml
Normal file
31
crates/idx-mcp/Cargo.toml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
[package]
|
||||
name = "idx-mcp"
|
||||
description = "MCP server for Indonesian stock market (IDX) market, financial, and ownership data"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
# rmcp requires 1.88.
|
||||
rust-version = "1.88"
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
homepage.workspace = true
|
||||
readme = "../../README.md"
|
||||
keywords = ["idx", "stocks", "indonesia", "mcp", "finance"]
|
||||
categories = ["finance"]
|
||||
include = ["/Cargo.toml", "/LICENSE", "/src/**"]
|
||||
|
||||
[[bin]]
|
||||
name = "idx-mcp"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
idx-core.workspace = true
|
||||
clap.workspace = true
|
||||
rmcp = { version = "3.5", default-features = false, features = ["server", "macros", "transport-io"] }
|
||||
schemars = "1"
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio = { version = "1", features = ["macros", "rt-multi-thread", "io-std"] }
|
||||
|
||||
[dev-dependencies]
|
||||
# Tests drive the binary with the mock provider; release builds exclude it.
|
||||
idx-core = { workspace = true, features = ["testing"] }
|
||||
Loading…
Add table
Add a link
Reference in a new issue