“Which card do I use again?”
KiasuMiles helps an AI agent choose the best Singapore miles card from the cards you already hold. It compares your confirmed cards against centrally maintained card rules and merchant-category data, then explains the best card, payment method, conditions, cap and fallback.
KiasuMiles is a hosted MCP service. MCP is the connection that lets a compatible agent use KiasuMiles as a tool. It is not a standalone chatbot or web app.
The hosted service does not store your card stack. It never needs your card number, expiry date, CVV, banking login, one-time password or payment credentials.
KiasuMiles ONLY works with AI assistants that can use external tools. Choose the setup for your assistant below.
After the one-time connection, send this message:
Use KiasuMiles. First verify the connection by calling kiasumiles_data_version. Ask which cards I carry only if you don’t already know; show supported cards if I need help choosing. Then ask where I’m paying and how, and recommend my best confirmed card with its earn rate, bonus conditions and fallback. If KiasuMiles tools aren’t available, stop and tell me.
This prompt verifies and uses an existing connection. It cannot give an ordinary chatbot capabilities that the app does not provide.
Status as of 9 September 2026:
| Agent | Current route | Plug-and-play status |
|---|---|---|
| Claude chat, Cowork, desktop and mobile | Account-level custom connector | Available after one-time setup; the directory submission is still under review |
| Codex desktop and CLI | Custom remote MCP server | Available now |
| OpenClaw, Hermes, Zo and similar agents | Agent-managed remote MCP connection | Paste the prompt above when the agent is allowed to update its MCP configuration |
| ChatGPT Work on web and mobile | Private custom connector created on ChatGPT web | Tested on a Pro account; public directory approval is not required for this route |
KiasuMiles is not a normal chatbot. It is an MCP tool, so the assistant must support external tools and have KiasuMiles connected before the usage prompt can work.
For an agent that can update its own MCP configuration, such as OpenClaw, Hermes or Zo, paste this into its chat:
Use KiasuMiles. If its tools are already available, reuse them. Otherwise, connect to https://kiasumiles.space/mcp if you can manage remote MCP connections. Ask before changing settings or installing anything. If you cannot, say that this agent needs a one-time MCP connection and stop. Do not claim KiasuMiles is connected until you can list its tools and call kiasumiles_data_version successfully. Then ask which banks I use, show their supported cards, and let me confirm mine. Finally, ask for a Singapore merchant and payment method and recommend the best confirmed card with its conditions and fallback.
In Codex desktop, add a Streamable HTTP MCP server named KiasuMiles with:
https://kiasumiles.space/mcp
For Codex CLI:
codex mcp add kiasumiles --url https://kiasumiles.space/mcp
codex mcp listIn the Claude app, open Settings → Customise → Connectors → Add custom connector, name it KiasuMiles, and enter:
https://kiasumiles.space/mcp
Start a new Claude chat, enable KiasuMiles from the + menu, then send the Start here prompt. Anthropic documents account-level remote connectors across Claude, Cowork, desktop and mobile. Workspace policies may require an administrator to approve the connector. See Claude's remote MCP connector guide.
Set up once on ChatGPT web, then use KiasuMiles in Work on web or mobile. This route passed native MCP tests on a ChatGPT Pro account. Availability may vary by account and plan; ordinary ChatGPT Chat was not verified by these tests.
- On ChatGPT web, open Settings → Plugins → Developer mode and enable it.
- Open Plugins from the sidebar. Click the + beside the search bar to open New Plugin.
- Enter KiasuMiles as the name. Choose Server URL, enter
https://kiasumiles.space/mcp, and set Authentication to No Auth. Leave the optional fields blank. - Read the warning, tick I understand and want to continue, then select Create → Connect.
- Start a Work conversation on web or mobile and send the Start here prompt. Approve Connect again if prompted, then ask it to continue.
The public directory submission is separately awaiting review. This private setup does not make KiasuMiles publicly listed. We have not verified that the ChatGPT connection carries over to Codex; use the separate Codex instructions above.
After KiasuMiles is connected:
- Tell the agent which cards you carry. If you need help, name your banks and choose from their supported cards.
- Provide a merchant and how you are paying. Include the amount if you want a miles estimate.
- KiasuMiles compares only the cards supplied for that lookup and returns the recommendation, conditions and fallback.
Reuse your card selection within the conversation. Whether it carries into another conversation depends on your assistant, not KiasuMiles.
Try:
What card should I use at NTUC FairPrice with Apple Pay?
Other useful questions:
I’m paying for Grab in the app. Which card should I use?
Compare how I should pay at Uniqlo using the cards I carry.
Does my card stack have any weak categories?
The hosted MCP server has no wallet-save or wallet-read tools. For each recommendation, the agent supplies the selected card names or identifiers in that request. KiasuMiles returns the result without retaining them as a wallet.
Whether the selection survives a new conversation depends on the agent you use. KiasuMiles cannot promise persistence on another product’s behalf.
Only provide card names. Never provide:
- Card numbers
- Expiry dates or CVVs
- Banking usernames or passwords
- One-time passwords
- Transaction or account credentials
The app does not have permission or capability to add a remote MCP connection. Use its documented plugin or connector setup. Do not ask it to imitate KiasuMiles using general card knowledge.
The connection is not verified. Reload the agent using its documented method, then require it to list the KiasuMiles tools and call kiasumiles_data_version.
Claude has loaded an older local KiasuMiles server instead of the hosted connector. Disable the old local server, start a new Claude chat, enable the remote KiasuMiles connector, and retry. The current hosted connector exposes seven tools, including kiasumiles_data_version; do not let Claude replace that check with a different tool.
The agent did not retain it. Confirm the cards again and ask the agent whether its own storage persists across conversations. The hosted KiasuMiles service is not a wallet store.
Include the exact merchant, outlet when relevant, payment method and transaction amount. Merchant classifications and bank terms can change, so review the returned conditions and fallback before a large or unusual purchase.
The hosted MCP endpoint defaults to 30 requests per 60 seconds per IP address for each running service instance. Wait and retry.
Ask the connected agent:
Show me all cards currently supported by KiasuMiles.
The production service reports its data version, record counts and active backend at:
https://kiasumiles.space/health
Confidence and last-verified fields are useful signals, not guarantees that every merchant classification or bank rule is current. Recommendations are informational; check the bank’s current terms when the stakes are high.
For supported Amaze pairings, include both Amaze and the paired card in the confirmed stack.
KiasuMiles exposes seven read-only MCP tools:
| Tool | Purpose |
|---|---|
kiasumiles_list_cards |
Lists supported cards, optionally filtered by bank |
kiasumiles_lookup |
Ranks supplied cards for a merchant and payment method |
kiasumiles_compare_payment_methods |
Compares supported payment methods in one request |
kiasumiles_changes_since |
Summarises source-neutral data changes since a date |
kiasumiles_recommend_stack |
Reviews category coverage among supplied cards |
kiasumiles_data_version |
Returns the data version, record counts and backend |
kiasumiles_agent_guide |
Returns conversation and display guidance |
Hosted lookups are stateless. The caller supplies the selected cards for each lookup, and the server does not retain them as a wallet.
curl -i -X POST https://kiasumiles.space/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-smoke","version":"1.0"}}}'Production loads card rules and merchant mappings from Supabase. The repository includes a smaller bundled dataset for development and tests. Lookup and ranking remain deterministic and do not perform live web searches.
Environment variables:
KIASUMILES_SUPABASE_URLKIASUMILES_SUPABASE_SERVICE_ROLE_KEYKIASUMILES_SUPABASE_CARDS_TABLE— optional; defaults tocard_rulesKIASUMILES_SUPABASE_MERCHANTS_TABLE— optional; defaults tomerchant_mccKIASUMILES_DATA_BACKEND— optional;autoorsupabaseKIASUMILES_RATE_LIMIT_REQUESTS— optional; defaults to30;0disables the MCP rate limitKIASUMILES_RATE_LIMIT_WINDOW_SECONDS— optional; defaults to60
The schema is at supabase/schema.sql. Both /health and kiasumiles_data_version report the selected backend.
The Supabase keep-awake GitHub Actions workflow performs one direct, read-only card_rules query at 08:17, 16:17 and 00:17 Singapore time each day. It never inserts, updates or deletes data.
Store KIASUMILES_SUPABASE_URL and KIASUMILES_SUPABASE_SERVICE_ROLE_KEY only as encrypted GitHub Actions secrets. Never place either value in source code, logs or a pull request.
If a recommendation appears wrong or a merchant is missing, message @kiasumilesbot on Telegram with the merchant, outlet and payment method. Leave out card numbers and personal payment details.
KiasuMiles is built by Hosan, founder of The AI Burrow, Singapore’s applied AI collective for teams and builders who want to move past the hype and actually deploy.
- theaiburrow.xyz
- Telegram: t.me/theaiburrow
- Email: hello@theaiburrow.xyz
MIT License
