MCP Server for Portfolio Quotes API — provides tools for querying stock positions, options, bonds, loans, trades, and net worth across multiple accounts
Server has 8 tools with basic schemas and descriptions, but significant gaps prevent production use. Most tool descriptions lack actionable context (e.g., 'Query all US stock positions' doesn't explain WHEN to call vs get_tw_stocks). Parameter descriptions are sparse or missing entirely, get_trades has 4 params with minimal guidance on valid values or dependencies. No output schemas documented. Error handling returns raw exception text instead of recovery guidance. Naming is acceptable (verb_noun pattern) but lacks disambiguation for similar tools (get_us_stocks vs get_tw_stocks vs get_tw_stocks). No tool annotations (readOnlyHint/destructiveHint). add_trade is the only write tool but lacks confirmation/dry-run pattern.
Add a new trade record. action: Buy/Sell/Open/Close/Roll. asset_type: Stock/Option.
Get current USD/TWD exchange rate.
Query full net worth overview including assets, liabilities, and bond income.
查詢所有選擇權倉位、損益、及建議動作(資料來源:Google Sheets)
Get a real-time quote for a single stock ticker (e.g. NVDA, 2330.TW).
Query trade history. Optional filters: ticker, result (Win/Loss/Breakeven), asset_type (Stock/Option).
查詢所有台股持倉及損益(TWD/USD 雙幣,資料來源:Google Sheets)
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does get_us_stocks return account_id for chaining?). Violates pattern:tool requirement.
Parameter descriptions missing or minimal. get_trades has 'ticker', 'result', 'asset_type', 'limit' with no guidance on valid values (e.g., is result 'Win'/'Loss'/'Breakeven' or 'win'/'loss'/'breakeven'?). Violates pattern:tool-description.
Tool descriptions lack WHEN/WHY context. 'Query all US stock positions' doesn't explain when to call get_us_stocks vs get_tw_stocks vs get_networth. LLMs cannot disambiguate similar tools. Violates review:name-clarity.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
查詢所有美股持倉及損益(按帳戶分組,資料來源:Google Sheets)
add_trade (write tool) lacks confirmation/dry-run pattern. No protection against accidental duplicate trades or data corruption. Violates pattern:confirmation-request.
Error handling returns raw exception text ('Error: {str(e)}') instead of actionable recovery guidance. LLM cannot determine if error is retryable or user-fixable. Violates pattern:recovery-guide.