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
|
|
@ -601,7 +601,7 @@ fn handle_changes(
|
|||
args: &ChangesArgs,
|
||||
config: &IdxConfig,
|
||||
) -> Result<(), IdxError> {
|
||||
let changes = investor.changes(&args.from, &args.to)?;
|
||||
let changes = investor.changes(&args.from, &args.to, None)?;
|
||||
|
||||
if config.output.is_json() {
|
||||
return json::print_json(&changes);
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ pub fn emit_error(err: &IdxError, format: &OutputFormat) {
|
|||
}
|
||||
let payload = serde_json::json!({
|
||||
"error": true,
|
||||
"code": format!("{:?}", err.code()).to_uppercase(),
|
||||
"code": err.code().to_string(),
|
||||
"message": err.to_string()
|
||||
});
|
||||
let pretty = *format == OutputFormat::Json && std::io::stderr().is_terminal();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue