中信×富邦信用卡支付建議系統(MCP Server + React Web Demo)- A credit card payment recommendation system that helps users find the best card to use for different spending scenarios.
Server has 6 tools with complete input schemas and descriptions in Traditional Chinese. Naming follows verb_noun pattern (search_by_channel, recommend_payment, compare_cards, get_promotions, get_card_details, list_all_cards). Descriptions are detailed and context-aware (avg ~180 chars), explaining WHEN to use each tool. However, output schemas are not documented in the visible code, tool_trace.py shows compact display logic but no formal schema definitions. Parameters are well-described with enums (channel IDs), defaults, and constraints. Error handling is minimal, no recovery guidance or error categorization visible. All tools are READ_ONLY (safe), but no explicit error responses documented.
比較使用者持有的多張信用卡,列出每張卡在指定通路(或全通路)的回饋表現。
取得單張信用卡的完整資料:所有通路回饋率、條件、截止日、年費、備註。
取得目前有效的信用卡優惠活動清單,以及持有卡中「即將到期」的優惠提醒。
列出資料集中所有可用的信用卡 card_id 和卡名。
針對【自然語言消費情境】做一站式推薦。內部會自動解析情境、抽取通路與金額,再對每個通路呼叫 search_by_channel,最後綜合產出建議。
從使用者持有的信用卡中,找出在【特定通路】回饋最高的卡片。這是「主力查詢工具」—— 使用者一旦提到任何具體消費場景就應該優先呼叫此工具。一次只能查一個通路;若使用者問題涉及多個通路(如「全聯和星巴克」),請分別多次呼叫。
Output schemas not formally documented. tool_trace.py shows compact display logic but no JSON Schema definitions for tool responses. LLMs cannot plan downstream calls without knowing return field names and types.
No error handling or recovery guidance visible. Tools return READ_ONLY results but no documented error responses, error categorization, or actionable recovery steps for invalid inputs (e.g., invalid card_id, unsupported channel).
Parameter 'cards_owned' is required but empty arrays are rejected ('不可為空'). No validation error message documented. If LLM passes empty array, tool fails silently with no guidance on how to recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Channel parameter uses opaque 17-character IDs (e.g., 'convenience_store', 'ecommerce'). No tool to discover valid channels. LLM must memorize enum or guess. Consider adding a 'list_channels' discovery tool.
Tool descriptions are in Traditional Chinese. While appropriate for Taiwan market, no English fallback provided. Non-Chinese-speaking developers cannot understand tool intent or debug issues.