№ 0170Skill
Dowser: find the money hiding in your life
Dowser is a read-only MCP connector for Muse that surfaces open class-action settlements, product recalls with refunds, unused card credits, expiring points and birthday freebies, each with an official link.
Dowser
Finds the money hiding in your life. A read-only MCP connector for AI assistants such as Meta Muse: open class action settlements, CPSC product recalls with refunds, unused credit card credits, expiring loyalty points and birthday freebies, each with an official link.
Built for the Muse Connector Platform. Works with any MCP client, and every tool doubles as a REST endpoint.
Tools
| Tool | What it answers | REST |
|---|---|---|
search_settlements |
Which open U.S. class action settlements match the brands I use? Deadline, payout, proof needed, claim link. | GET /api/v1/settlements |
match_recalls |
Has anything I own been recalled in the last three years, and what is the remedy? | GET /api/v1/recalls |
card_benefits |
Which statement credits and perks on my cards reset soon and how do I use them? | GET /api/v1/cards |
points_expiry |
When do my miles and points expire, and what keeps them alive? | GET /api/v1/points |
birthday_freebies |
What do chains near me give away on birthdays, and by when must I join? | GET /api/v1/freebies |
check_for_new |
What is new since my last check? One call for a weekly sweep. | GET /api/v1/updates |
Plus one MCP prompt, find_my_money, that walks an assistant through a full sweep.
How it works
data/settlements.json ← scripts/build-data.ts ← OpenClassActions.com + ClassAction.org (daily, GitHub Action)
data/recalls.json ← scripts/build-data.ts ← CPSC recalls API, 3-year window (daily) + live top-up per request
data/cards.json, programs.json, freebies.json hand-maintained catalogues with last_reviewed + confidence per entry
src/app.ts Express: POST /mcp (stateless streamable HTTP, official SDK), /api/v1/*, pages, /openapi.json
src/mcp.ts registers the six tools (all readOnlyHint) and the prompt
src/tools/* pure functions; the MCP and REST layers are thin wrappers
api/index.js Vercel entry (imports dist/app.js)
No database, no accounts, no stored personal data. Matching is a small TF-IDF index over titles, product names and summaries, so "Bank of America" scores higher than "America" and generic words do not match everything.
Run it locally
npm install
npm run build:data # ~30 s: scrapes settlements, pulls 3 years of CPSC recalls
npm run dev # http://localhost:3000 (MCP at



