pointmaxx-mcp 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +29 -18
  2. package/package.json +27 -8
  3. package/server.mjs +1 -1
package/README.md CHANGED
@@ -1,18 +1,10 @@
1
- # PointMaxx MCP server
1
+ # pointmaxx-mcp
2
2
 
3
- Lets an AI assistant (Claude, or any app that speaks the Model Context Protocol) ask PointMaxx three things:
3
+ Ask your AI assistant which credit card to use, and which cards would earn you the most, with the same math as [pointmaxx.app](https://pointmaxx.app). Compares 53 U.S. credit cards after annual fees, spending caps and the credits you'd actually use.
4
4
 
5
- - **best_card**: which of your cards earns the most at a store or in a category.
6
- - **compare_cards**: which one, two and three cards would earn the most on your monthly spending, after fees, and how much more that is than your cards.
7
- - **card_terms**: a card's fee, rates, caps and credits, and when they were last checked; with no card, every card it knows (54, one of them closed to new applicants).
5
+ ## Set it up
8
6
 
9
- It uses the site's own engine (`public/engine.js`, `public/cards.json`) and the extension's per-purchase ranking (`extension/pick.js`), so all three give the same answers.
10
-
11
- ## Privacy
12
- It runs on your own machine over stdio and makes no network requests. It takes card names and monthly totals by category, never statements or card numbers, and saves nothing.
13
-
14
- ## Use it with Claude Desktop
15
- Add this to Claude Desktop's config (Settings, then Developer, then Edit Config), then restart Claude:
7
+ **Claude Desktop:** open Settings, then Developer, then Edit Config, add this, and restart Claude:
16
8
 
17
9
  ```json
18
10
  {
@@ -22,12 +14,31 @@ Add this to Claude Desktop's config (Settings, then Developer, then Edit Config)
22
14
  }
23
15
  ```
24
16
 
25
- Needs Node 18 or later. Other MCP apps take the same command: `npx -y pointmaxx-mcp`.
17
+ **Any other MCP app:** run `npx -y pointmaxx-mcp` as a stdio server. Needs Node 18 or later.
18
+
19
+ ## What you can ask
20
+
21
+ | Tool | Ask your assistant something like |
22
+ |---|---|
23
+ | `best_card` | "I have Amex Gold and Citi Double Cash. Which should I use on DoorDash?" |
24
+ | `compare_cards` | "I spend about $500 a month on groceries, $300 on dining and $1,500 on everything else. Which two cards would earn the most? I have a Double Cash." |
25
+ | `card_terms` | "What's the annual fee on the Sapphire Reserve, and what are its credits?" |
26
+
27
+ Answers include each card's percent back, why it wins, any spending cap, the net value a year after fees, and how much more that is than the cards you already have.
28
+
29
+ ## Privacy
30
+
31
+ It runs on your own computer and makes no network requests. It only needs card names and rough monthly spending by category: never statements, card numbers or a login. Nothing is saved.
32
+
33
+ ## Good to know
34
+
35
+ - Estimates from each card's published terms, checked against issuer pages. Not financial advice; check the issuer before you apply.
36
+ - Points are valued at a fixed cents-per-point for each card. Sign-up bonuses are left out.
37
+ - Card terms are built into each release. Run with `npx -y pointmaxx-mcp` to always get the latest.
26
38
 
27
- From a copy of this repo instead, use `"command": "node", "args": ["/full/path/to/card-backtest/mcp/server.mjs"]` after running `node mcp/build.mjs`.
39
+ For a full backtest on a year of your own statements, read in your browser and never uploaded, try [pointmaxx.app](https://pointmaxx.app).
28
40
 
29
- ## Test
30
- `node mcp/build.mjs && node mcp/server.test.mjs` copies in the engine and card data, then runs it over stdio and checks its answers against the engine.
41
+ MIT licensed. Card data includes [CardPin](lib/CARDPIN-LICENSE.txt) (MIT).
31
42
 
32
- ## Publishing
33
- `cd mcp && npm publish` (prepack copies the engine and card data into `lib/`). Bump `version` in `mcp/package.json` whenever `public/cards.json` changes, so people get the new terms.
43
+ ## Source
44
+ This repo is the published package: `server.mjs` plus the engine and card data in `lib/`, copied from PointMaxx's main codebase at each release. Run `npm test` to check it.
package/package.json CHANGED
@@ -1,17 +1,36 @@
1
1
  {
2
2
  "name": "pointmaxx-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
+ "mcpName": "io.github.trypointmaxx/pointmaxx-mcp",
4
5
  "description": "PointMaxx for AI assistants: which of your credit cards to use, which cards to get on your spending, and any card's terms. Runs locally; nothing leaves your machine.",
5
6
  "type": "module",
6
- "bin": { "pointmaxx-mcp": "server.mjs" },
7
- "files": ["server.mjs", "lib/", "README.md", "LICENSE"],
8
- "engines": { "node": ">=18" },
9
- "keywords": ["mcp", "model-context-protocol", "credit-cards", "rewards", "cash-back", "points"],
7
+ "bin": {
8
+ "pointmaxx-mcp": "server.mjs"
9
+ },
10
+ "files": [
11
+ "server.mjs",
12
+ "lib/",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "engines": {
17
+ "node": ">=18"
18
+ },
19
+ "keywords": [
20
+ "mcp",
21
+ "model-context-protocol",
22
+ "credit-cards",
23
+ "rewards",
24
+ "cash-back",
25
+ "points"
26
+ ],
10
27
  "homepage": "https://pointmaxx.app",
11
28
  "license": "MIT",
12
29
  "scripts": {
13
- "build": "node build.mjs",
14
- "prepack": "node build.mjs",
15
- "test": "node build.mjs && node server.test.mjs"
30
+ "test": "node server.test.mjs"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/trypointmaxx/pointmaxx-mcp"
16
35
  }
17
36
  }
package/server.mjs CHANGED
@@ -15,7 +15,7 @@ require(path.join(LIB, 'engine.cjs'));
15
15
  const E = globalThis.Engine;
16
16
  await import(pathToFileURL(path.join(LIB, 'pick.cjs')).href);
17
17
  const STORES = require(path.join(LIB, 'stores.json'));
18
- const VERSION = '0.1.0', VERSIONS = ['2025-06-18', '2025-03-26', '2024-11-05'];
18
+ const VERSION = '0.1.2', VERSIONS = ['2025-06-18', '2025-03-26', '2024-11-05'];
19
19
  const NOTE = 'Estimates from each card\'s published terms, not financial advice. Check the issuer before applying.';
20
20
  const CATS = Object.keys(E.CAT_LABEL);
21
21