Luca Assistant (撸卡助手)
A credit card rewards optimization tool. Query 150+ US credit cards, compare benefits, track your portfolio, and find the best sign-up bonuses.
When to use this skill
Trigger this skill when the user asks about:
- - Credit card recommendations or comparisons
- Sign-up bonuses (SUBs) or welcome offers
- Chase 5/24 status or bank application rules
- Adding/removing cards in their portfolio
- Card benefits, category multipliers, or annual credits
Setup
Check if already installed
Before running setup, check whether Luca is already available:
CODEBLOCK0
If luca-mcp responds, skip to How to use. Otherwise run setup below.
First-run setup
CODEBLOCK1
This installs luca-assistant from PyPI via uv and seeds the database (~150 cards from Offer Optimist).
PATH note: uv tool install places binaries in ~/.local/bin. If luca-mcp is not found after setup, ensure ~/.local/bin is on PATH (export PATH="$HOME/.local/bin:$PATH").
Verify setup
CODEBLOCK2
How to use
Luca is an MCP tool server. The database lives at ~/.local/share/luca/luca.db.
If Luca is already configured as an MCP server in the agent's environment, call luca_* tools directly. Otherwise, call tools via the bundled script:
CODEBLOCK3
Available MCP tools
Card queries:
- -
luca_query_card_details(card_name, bank?) — look up a card's benefits, current offers, and fees - INLINECODE11 — best current sign-up bonuses
- INLINECODE12 — side-by-side benefit comparison
- INLINECODE13 — issuer application rules (Chase 5/24, Amex lifetime language, Citi 8/65, etc.)
Card enrichment:
- -
luca_update_card_benefit(card_name, category, multiplier, points_type, notes?, bank?, annual_credit?, credit_category?) — add or update a card's category multiplier or credit - INLINECODE15 — refresh data from 'offer-optimist' (cards + SUBs) or 'cfpb' (APRs + fees)
Portfolio tracking:
- -
luca_get_user_portfolio() — user's open and closed cards - INLINECODE17 — 5/24 count and remaining slots
- INLINECODE18 — add a card to portfolio
- INLINECODE19 — mark a card as closed
Examples
CODEBLOCK4
Enrichment workflow
When luca_query_card_details returns a multiplier_hint, the card has missing category multiplier data. To fill the gap:
- 1. Web search for the card on INLINECODE22
- Find the earning rates (e.g., "3x on dining, 2x on travel")
- Call
luca_update_card_benefit for each category to persist the data
Optional: USCardForum integration
For community data points from USCardForum (美卡论坛), install the companion nitan skill. It provides discourse_search, discourse_read_topic, discourse_list_hot_topics, and more.
Guidelines
- - All card data comes from the database — never fabricate card details
- If a card isn't found, tell the user rather than guessing
- Respond in the user's language (Chinese or English)
- Use
luca_import_cards to refresh data if it seems stale
Luca Assistant (撸卡助手)
一款信用卡积分优化工具。可查询150+美国信用卡,比较权益,追踪你的卡组,并找到最佳开卡奖励。
何时使用此技能
当用户询问以下内容时触发此技能:
- - 信用卡推荐或比较
- 开卡奖励(SUBs)或欢迎礼遇
- Chase 5/24状态或银行申请规则
- 在卡组中添加/移除卡片
- 卡片权益、类别倍率或年度额度
设置
检查是否已安装
在运行设置前,检查Luca是否已可用:
bash
export PATH=$HOME/.local/bin:$PATH
command -v luca-mcp && luca-mcp --help
如果luca-mcp有响应,请跳至如何使用。否则运行以下设置。
首次运行设置
bash
export PATH=$HOME/.local/bin:$PATH
bash {baseDir}/scripts/setup.sh
此操作通过uv从PyPI安装luca-assistant,并初始化数据库(来自Offer Optimist的约150张卡片)。
PATH说明: uv tool install会将二进制文件放置在~/.local/bin中。如果设置后找不到luca-mcp,请确保~/.local/bin在PATH中(export PATH=$HOME/.local/bin:$PATH)。
验证设置
bash
luca-mcp --help # 应显示MCP服务器用法
luca cards | head -5 # 应列出数据库中的卡片
如何使用
Luca是一个MCP工具服务器。数据库位于~/.local/share/luca/luca.db。
如果Luca已在代理环境中配置为MCP服务器,请直接调用luca_*工具。否则,通过捆绑脚本调用工具:
bash
export PATH=$HOME/.local/bin:$PATH
bash {baseDir}/scripts/mcpcall.sh name>
可用的MCP工具
卡片查询:
- - lucaquerycarddetails(cardname, bank?) — 查询卡片的权益、当前优惠和费用
- lucafindhighestoffers(bank?, minbonususd?, isbusiness?, limit?) — 当前最佳开卡奖励
- lucacomparecardbenefits(cardnames) — 并排比较卡片权益
- lucagetbank_rules(bank) — 发卡行申请规则(Chase 5/24、Amex终身限制、Citi 8/65等)
卡片数据补充:
- - lucaupdatecardbenefit(cardname, category, multiplier, pointstype, notes?, bank?, annualcredit?, creditcategory?) — 添加或更新卡片的类别倍率或额度
- lucaimport_cards(source?, force?) — 从offer-optimist(卡片+开卡奖励)或cfbp(年利率+费用)刷新数据
卡组追踪:
- - lucagetuserportfolio() — 用户的已开和已关卡片
- lucacheckchase524status() — 5/24计数和剩余名额
- lucaaddusercard(cardname, openeddate, bank?, creditlimit?, bonusearned?, bonusmetdate?, notes?) — 向卡组添加卡片
- lucacloseusercard(cardname, closed_date, bank?) — 将卡片标记为已关闭
示例
bash
查询Chase Sapphire Preferred
bash {baseDir}/scripts/mcp
call.sh lucaquery
carddetails {card_name:Chase Sapphire Preferred}
查找价值至少500美元的前5个优惠
bash {baseDir}/scripts/mcp
call.sh lucafind
highestoffers {min
bonususd:500,limit:5}
比较两张卡片
bash {baseDir}/scripts/mcp
call.sh lucacompare
cardbenefits {card_names:[Amex Gold,Chase Sapphire Preferred]}
检查Chase 5/24状态
bash {baseDir}/scripts/mcp
call.sh lucacheck
chase524_status {}
数据补充工作流程
当lucaquerycarddetails返回multiplierhint时,表示该卡片缺少类别倍率数据。要填补这一空白:
- 1. 网络搜索该卡片,使用site:doctorofcredit.com OR site:thepointsguy.com
- 查找赚取倍率(例如,餐饮3倍,旅行2倍)
- 对每个类别调用lucaupdatecard_benefit以持久化数据
可选:USCardForum集成
如需获取USCardForum(美卡论坛)的社区数据点,请安装配套的nitan技能。它提供discoursesearch、discoursereadtopic、discourselisthot_topics等功能。
指南
- - 所有卡片数据均来自数据库 — 切勿虚构卡片详情
- 如果未找到卡片,请告知用户,而非猜测
- 使用用户的语言回复(中文或英文)
- 如果数据看起来过时,使用lucaimportcards刷新数据