Credit card optimization MCP server for Claude Code (撸卡助手)
Project description
Luca Assistant (撸卡助手)
A credit card optimization tool layer for AI coding agents. Luca provides a database of US credit cards, sign-up bonuses, bank rules, and community data points — exposed as MCP tools that any agent can call.
Luca is a fuse layer, not a standalone agent. Your agent (Claude Code, OpenClaw, OpenCode, Codex) owns the LLM and conversation. Luca owns the data.
Install
As a Claude Code Plugin
# Add the marketplace
/plugin marketplace add troyt-666/luca-assistant
# Install
/plugin install luca-assistant@luca-marketplace
This gives you 11 MCP tools + 5 slash commands.
As an MCP Server
# From PyPI (when available)
claude mcp add --transport stdio luca-assistant -- uvx --from luca-assistant luca-mcp
# From source
git clone https://github.com/troyt-666/luca-assistant
cd luca-assistant
uv sync
claude mcp add --transport stdio luca-assistant -- uv run luca-mcp
Slash Commands (Plugin)
| Command | Description |
|---|---|
/luca-assistant:card-lookup |
Look up a card's details and offers |
/luca-assistant:compare-cards |
Side-by-side card comparison |
/luca-assistant:portfolio |
Your portfolio + 5/24 status |
/luca-assistant:bank-rules |
Bank application rules |
/luca-assistant:scrape |
Fetch fresh community data |
MCP Tools (11)
| Tool | Description |
|---|---|
luca_query_card_details |
Look up a card's benefits, offers, and fees |
luca_find_highest_offers |
Find the best current sign-up bonuses |
luca_compare_card_benefits |
Side-by-side card comparison |
luca_get_bank_rules |
Bank-specific application rules (5/24, lifetime language, etc.) |
luca_get_user_portfolio |
Your current card portfolio |
luca_check_chase_524_status |
Calculate 5/24 slots remaining |
luca_add_user_card |
Add a card to your portfolio |
luca_close_user_card |
Mark a card as closed |
luca_scrape_source |
Fetch fresh content from a source (doc, reddit, forum) |
luca_search_scraped |
Search previously scraped content |
luca_get_scrape_status |
Check when each source was last scraped |
What's in the Database
- 30+ popular US credit cards — Chase, Amex, Citi, Capital One, Bilt, US Bank, Wells Fargo
- Current sign-up bonuses with estimated USD values and spend requirements
- Category multipliers and credits (dining, travel, grocery, etc.)
- Bank application rules — Chase 5/24, Amex lifetime language, Citi 8/65, 2/90, one-Sapphire, and more
- Scraped content from Doctor of Credit, Reddit r/CreditCards, r/churning, and US Card Forum
CLI
luca cards # List all cards in DB
luca cards --bank Chase # Filter by bank
luca scrape # Scrape all sources
luca scrape --source doc # Scrape Doctor of Credit only
luca scrape --dry-run # Show what would be fetched
luca schedule enable --interval 6 # Set up cron job (every 6 hours)
luca schedule status # Check cron status
luca chat # Interactive chat (test harness, needs LLM key)
Development
git clone https://github.com/troyt-666/luca-assistant
cd luca-assistant
make dev # Install with dev deps
make test # Run 67 tests
make lint # Ruff lint check
make format # Ruff auto-format
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file luca_assistant-0.1.0.tar.gz.
File metadata
- Download URL: luca_assistant-0.1.0.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e627e9ecb9a6ea96546e5936854e71e990af7d55fbe4d497ce8d3d770234b1c6
|
|
| MD5 |
b33f734dfe9668226737ac6514c0ac71
|
|
| BLAKE2b-256 |
389d6a191736e2e5ef6ccaa8c4f6c3758347b971796cbb1bded6cfab6141aa99
|
Provenance
The following attestation bundles were made for luca_assistant-0.1.0.tar.gz:
Publisher:
publish.yml on troyt-666/luca-assistant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
luca_assistant-0.1.0.tar.gz -
Subject digest:
e627e9ecb9a6ea96546e5936854e71e990af7d55fbe4d497ce8d3d770234b1c6 - Sigstore transparency entry: 1155041885
- Sigstore integration time:
-
Permalink:
troyt-666/luca-assistant@0d4678ed4b39abb9a06cb815e3937353e6666989 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/troyt-666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0d4678ed4b39abb9a06cb815e3937353e6666989 -
Trigger Event:
push
-
Statement type:
File details
Details for the file luca_assistant-0.1.0-py3-none-any.whl.
File metadata
- Download URL: luca_assistant-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c0f0713e24229d870cb17aa04f31e0729346554e5ae9c421012bbf465dda7f8
|
|
| MD5 |
46b12c8c674ca146e7fe28d2d4e871a9
|
|
| BLAKE2b-256 |
46dad72b4b7e95373eb286b2c183f18f28a83659f01d422d810d9c2e1d1a8261
|
Provenance
The following attestation bundles were made for luca_assistant-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on troyt-666/luca-assistant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
luca_assistant-0.1.0-py3-none-any.whl -
Subject digest:
0c0f0713e24229d870cb17aa04f31e0729346554e5ae9c421012bbf465dda7f8 - Sigstore transparency entry: 1155041886
- Sigstore integration time:
-
Permalink:
troyt-666/luca-assistant@0d4678ed4b39abb9a06cb815e3937353e6666989 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/troyt-666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0d4678ed4b39abb9a06cb815e3937353e6666989 -
Trigger Event:
push
-
Statement type: