SG's first AI-powered miles card optimizer — tells your agent which credit card earns the most miles at any merchant, based on MCC codes. Works offline, no API keys.
Project description
KiasuMiles
SG's first AI-powered miles card optimizer — "which card do I tap?"
KiasuMiles connects to your AI agent and tells you which credit card earns the most miles at any Singapore merchant — based on the actual MCC your card will post under.
No hosting. No API keys. Works offline.
How it works
- Add KiasuMiles to your agent's MCP config (one config block, copy-paste)
- Tell your agent which cards you carry — once, in plain English
- Next time you're at a merchant, just ask: "which card?"
Setup
Pick your agent below. You only do this once.
Claude Desktop
Open this file in a text editor:
On Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
On Linux:
~/.config/Claude/claude_desktop_config.json
(Create it if it doesn't exist yet)
Add the "kiasumiles" block inside "mcpServers":
{
"mcpServers": {
"kiasumiles": {
"command": "uvx",
"args": ["--from", "git+https://github.com/hosanxiv/kiasumiles", "kiasumiles-mcp"]
}
}
}
Save and fully restart Claude Desktop.
First time using uvx? Install
uvfirst — it's a fast Python tool manager:curl -LsSf https://astral.sh/uv/install.sh | shThen restart your terminal and try again.
Check it loaded: look for KiasuMiles in the tools menu (hammer icon), or ask:
"What KiasuMiles tools do you have?"
Claude Code (CLI)
Install the package locally, then register it:
pip3 install kiasumiles-mcp
kiasumiles-setup
kiasumiles-setup auto-connects to Claude Desktop and Claude Code in one step.
Restart Claude Code, then run /mcp to confirm:
kiasumiles: /path/to/kiasumiles-mcp - ✓ Connected
Prefer uv?
uv tool install kiasumiles-mcpthenkiasumiles-setupUsing pipx?pipx install kiasumiles-mcpthenkiasumiles-setup
OpenClaw
Add to your OpenClaw MCP config:
{
"mcpServers": {
"kiasumiles": {
"command": "uvx",
"args": ["--from", "git+https://github.com/hosanxiv/kiasumiles", "kiasumiles-mcp"]
}
}
}
Running OpenClaw on a VPS (Ubuntu)? Install
uvfirst:curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/envThen add the config block above and restart OpenClaw.
Hermes
Add to your Hermes MCP config:
{
"mcpServers": {
"kiasumiles": {
"command": "uvx",
"args": ["--from", "git+https://github.com/hosanxiv/kiasumiles", "kiasumiles-mcp"]
}
}
}
Running Hermes on a VPS (Ubuntu)? Install
uvfirst:curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/envThen add the config block above and restart Hermes.
Set up your card wallet
Once KiasuMiles is connected, tell your agent — replacing the cards with your own:
"Use kiasumiles_list_cards to see what's available, then set up my KiasuMiles wallet with these cards: HSBC Revolution, UOB PPV, DBS yuu, Amaze, Citi Rewards Mastercard, DBS Altitude, UOB PRVI Miles."
The agent matches your card names to the database and saves your wallet. You only do this once.
Example response:
Wallet saved with 7 cards:
· HSBC Revolution
· UOB Preferred Platinum Visa
· DBS yuu Visa
· Amaze
· Citi Rewards Mastercard
· DBS Altitude Visa
· UOB PRVI Miles Visa
Wallet saved to ~/.kiasumiles/wallet.yaml
If a card isn't found, ask "show me all KiasuMiles cards" to find the right name.
Daily use
Just ask, any time:
- "What card at NTUC FairPrice?"
- "Best card for Grab contactless?"
- "I'm at Shell. Which card?"
- "Booking flights on Singapore Airlines — which card?"
- "Which card at Shake Shack — I'm paying online"
KiasuMiles returns your best card, the earn rate, and the monthly cap. If you have Amaze, it automatically factors in the combo and nets out the fee.
Updating your wallet
Changed cards? Tell your agent:
"Update my KiasuMiles wallet — add OCBC 90N Mastercard, remove UOB PPV."
You can also ask: "What cards do I have saved?" to see your current wallet.
Troubleshooting
Agent doesn't know what KiasuMiles is after setup
Run this in your terminal to check the server starts correctly:
uvx --from git+https://github.com/hosanxiv/kiasumiles kiasumiles-mcp
You should see a JSON response. If you get an error, the most common cause is uv not being installed — see the setup steps for your agent above.
Claude Code: "Failed to connect"
Run to see the real error:
kiasumiles-mcp
Then re-register:
claude mcp remove kiasumiles
claude mcp add kiasumiles $(which kiasumiles-mcp)
Card not found during wallet setup
Ask your agent: "show me all KiasuMiles cards" — lists every supported card by name.
Tools
| Tool | What it does |
|---|---|
kiasumiles_lookup |
Best card for a merchant — MCC, earn rate, cap |
kiasumiles_configure |
Save your wallet |
kiasumiles_get_wallet |
See your currently saved cards |
kiasumiles_list_cards |
See all supported cards |
Supported cards (brief list)
HSBC Revolution · UOB PPV · UOB Visa Signature · DBS Altitude · DBS yuu · DBS Woman's World · Citi Rewards · Citi PremierMiles · OCBC 90N · OCBC Rewards · Maybank Horizon · Maybank World · UOB PRVI Miles · UOB Lady's · KrisFlyer UOB · Amex KrisFlyer · Standard Chartered Journey · BOC Elite Miles · Amaze combos · and more
Ask "show me all KiasuMiles cards" for the full list.
Data
Merchant MCC data is community-verified and updated regularly. Card rules sourced from publicly available bank T&Cs.
Built by Hosan · MIT License
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 kiasumiles_mcp-0.1.0.tar.gz.
File metadata
- Download URL: kiasumiles_mcp-0.1.0.tar.gz
- Upload date:
- Size: 45.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aebd2850ffe9e58e08fc1205c78b522ab20961c7308cecaae66d418a860bc9d5
|
|
| MD5 |
6fe37be9d7170eeb1ff9719d5a1497c3
|
|
| BLAKE2b-256 |
e643a30675abada21a4d2c574da9160477595017f41f445c1649166162d9dc0e
|
File details
Details for the file kiasumiles_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kiasumiles_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc837d4a6b4b6de05c9ce6d710c4138ee8bfeb455e5902d12e6f4074e58f476b
|
|
| MD5 |
82999fd0aea017af36b0003cb27281ea
|
|
| BLAKE2b-256 |
53e5a0ad9b224d9a5d8719e3042e34b346aafe35d32266a7b44b7be39ba64fa5
|