A multi-component system for portfolio tracking, trading assistance, and research. Includes a FastAPI backend, React frontend, CLI trading assistant, and research lab with MCP tools for stock quotes, portfolio management, market news, and ledger operations.
Portfolio Daily Tracker exposes 14 tools with mixed quality. Naming is generally clear (verb_noun pattern: get_*, research_*, propose_*), but descriptions vary widely. Research tools (1-7) have minimal descriptions (10-60 chars, below the 194-char baseline). Market/portfolio tools (8-14) have better descriptions but lack parameter details. All tools have proper JSON schemas with type definitions. Critical gap: no output schemas documented, no error handling guidance, no pagination for list tools. Tool annotations present but underutilized. Chinese descriptions (tools 8-12) are descriptive but inconsistent with English tools.
比较多只股票的行情表现,用于板块分析或同类股票对比
获取主要市场指数的实时行情,包括上证指数、深证成指、创业板指、沪深300等
获取近期市场新闻和国际宏观新闻。用户询问为什么市场涨跌、板块为何异动、隔夜发生了什么、宏观/地缘事件影响时,应调用此工具获取真实新闻标题后再分析。
获取用户当前的持仓信息,包括持有股票、数量、成本价、当前价、盈亏等
获取指定股票的实时行情数据,包括最新价、涨跌幅、成交量等。获取股票当前价格时必须调用此工具,严禁自行编造价格数据
Read a dated valuation snapshot; this is not a live ledger balance.
Prepare a transaction preview. No balances change until the user confirms on /ledger. Use explicit dates, accounts, currencies, quantities, prices and fees; ask for missing values. See docs/LEDGER.md for event fields.
Research tools (1-7) have critically short descriptions (10-60 chars vs 194-char baseline). LLMs cannot determine when to call research_capabilities vs research_templates vs research_datasets without fuller context.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does get_stock_quote return? Does get_portfolio return account_id for chaining?). Violates pattern:response-shaper.
List tools (research_runs, get_market_news, compare_stocks) lack pagination parameters (limit, offset, page_size). No indication of result caps. Large result sets risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Cancel research and stop further model calls/computation.
Inspect research limits and available model integrations.
List explicitly imported research datasets; excludes account holdings.
Submit a bounded manual or autonomous research task. Never places trades.
List saved research including failed and cancelled experiments.
Read progress, events and saved research results.
Discover registered learning methods and their parameter schemas.
No error handling guidance. Tools return no recovery hints (e.g., 'Symbol not found. Try search_symbols()' or 'Invalid market type'). Agents cannot self-correct on failures.
propose_ledger_events accepts 'events' array with untyped objects. No schema for event structure (required fields, field types, valid event types). LLMs cannot construct valid events without trial-and-error.