creditkarma-mcp 2.0.0 → 2.0.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.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  A [Model Context Protocol](https://modelcontextprotocol.io) server that connects Claude to [Credit Karma](https://www.creditkarma.com), giving you natural-language access to your transactions, spending patterns, and account summaries.
4
4
 
5
5
  > [!WARNING]
6
- > **AI-developed project.** This codebase was entirely built and is actively maintained by [Claude Sonnet 4.6](https://www.anthropic.com/claude). No human has audited the implementation. Review all code and tool permissions before use.
6
+ > **AI-developed project.** This codebase was entirely built and is actively maintained by [Claude Code](https://www.anthropic.com/claude). No human has audited the implementation. Review all code and tool permissions before use.
7
7
 
8
8
  ## What you can do
9
9
 
@@ -21,6 +21,7 @@ Ask Claude things like:
21
21
  - [Claude Desktop](https://claude.ai/download) or [Claude Code](https://claude.ai/code)
22
22
  - [Node.js](https://nodejs.org) 18 or later
23
23
  - A Credit Karma account
24
+ - [Google Chrome](https://www.google.com/chrome/) — used once for the scripted auth flow (optional; you can copy the cookie manually instead)
24
25
 
25
26
  ## Installation
26
27
 
@@ -81,21 +82,33 @@ Credit Karma uses short-lived JWTs. This server handles automatic token refresh
81
82
 
82
83
  ### Getting your credentials
83
84
 
85
+ #### Option A — scripted (recommended)
86
+
87
+ ```bash
88
+ npm run auth # prints the Cookie header to the console
89
+ npm run auth -- .env # writes CK_COOKIES=<header> to .env
90
+ ```
91
+
92
+ Launches Chrome with a dedicated profile at `~/.creditkarma-mcp/chrome-profile`, waits for you to sign in at creditkarma.com, then captures the full Cookie header (including the `CKAT` cookie that holds the access + refresh JWTs). Either prints it (for pasting into Claude Desktop / MCPB) or writes it to the env file you pass. Requires Google Chrome installed locally; the script installs `puppeteer-core` on first run (~1 MB).
93
+
94
+ #### Option B — manual (DevTools)
95
+
84
96
  1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome
85
97
  2. Open DevTools → **Application** → **Cookies** → `https://www.creditkarma.com`
86
98
  3. Find the `CKAT` cookie and copy its value
87
99
 
88
100
  ### Setting credentials
89
101
 
90
- Call `ck_set_session` with your cookie value — it accepts any of:
102
+ Either of these works:
103
+
104
+ - Paste the value from `npm run auth` (or your CKAT cookie) into `CK_COOKIES` in your `.env` or Claude config
105
+ - Or call `ck_set_session` from within Claude with the cookie value — it accepts any of:
91
106
 
92
107
  | Format | Example |
93
108
  |--------|---------|
94
109
  | Raw CKAT value | `eyJraWQ...%3BeyJraWQ...` |
95
110
  | `CKAT=<value>` | `CKAT=eyJraWQ...%3BeyJraWQ...` |
96
- | Full Cookie header | *(paste the entire Cookie header from DevTools → Network)* |
97
-
98
- Or set `CK_COOKIES` directly in your `.env` file (any of the three formats above).
111
+ | Full Cookie header | *(what `npm run auth` prints)* |
99
112
 
100
113
  The server automatically extracts both the access token and refresh token from the CKAT cookie, and refreshes the access token as needed.
101
114
 
@@ -103,7 +116,7 @@ The server automatically extracts both the access token and refresh token from t
103
116
 
104
117
  - **Access token**: ~15 minutes (auto-refreshed transparently)
105
118
  - **Refresh token**: ~8 hours
106
- - When the refresh token expires, log in to creditkarma.com again, grab the new CKAT cookie, and call `ck_set_session`
119
+ - When the refresh token expires, re-run `npm run auth` (or grab the new CKAT cookie from DevTools) and either update `CK_COOKIES` or call `ck_set_session`
107
120
 
108
121
  ## Available tools
109
122
 
@@ -145,7 +158,7 @@ sync_state (key, value)
145
158
 
146
159
  ## Troubleshooting
147
160
 
148
- **"TOKEN_EXPIRED"** — your refresh token has expired. Log in to creditkarma.com, grab the new CKAT cookie, and call `ck_set_session`.
161
+ **"TOKEN_EXPIRED"** — your refresh token has expired. Re-run `npm run auth` (or grab a new CKAT cookie) and update `CK_COOKIES` or call `ck_set_session`.
149
162
 
150
163
  **Sync returns 0 transactions** — check that your `CK_COOKIES` value is fresh. CKAT cookies expire after ~8 hours.
151
164
 
package/SKILL.md CHANGED
@@ -58,6 +58,15 @@ Or use a `.env` file in the project directory with `CK_COOKIES=<value>`.
58
58
 
59
59
  ### Getting CK_COOKIES
60
60
 
61
+ **Scripted (recommended — source install):**
62
+ ```bash
63
+ npm run auth # prints the Cookie header to the console
64
+ npm run auth -- .env # writes CK_COOKIES=<header> to .env
65
+ ```
66
+
67
+ Launches Chrome with a dedicated profile, waits for sign-in at creditkarma.com, then captures the full Cookie header. Use the printed value with Claude Desktop / MCPB, or the `.env` form when running from source.
68
+
69
+ **Manual (DevTools):**
61
70
  1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome
62
71
  2. DevTools → **Application** → **Cookies** → `creditkarma.com`
63
72
  3. Copy the `CKAT` cookie value
@@ -70,7 +79,7 @@ Call `ck_set_session` with your cookie value to store credentials and enable aut
70
79
 
71
80
  - Access token: ~15 min TTL, auto-refreshed transparently
72
81
  - Refresh token: ~8 hours TTL
73
- - When expired: log in to creditkarma.com, grab the new CKAT cookie, call `ck_set_session`
82
+ - When expired: re-run `npm run auth` (or grab a new CKAT cookie) and call `ck_set_session`
74
83
 
75
84
  ## Tools
76
85
 
@@ -97,10 +106,9 @@ Call `ck_set_session` with your cookie value to store credentials and enable aut
97
106
  ## Workflows
98
107
 
99
108
  **First-time setup:**
100
- 1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome
101
- 2. DevTools Application Cookies copy the `CKAT` value
102
- 3. `ck_set_session(cookies)` → credentials stored
103
- 4. `ck_sync_transactions` → initial full sync
109
+ 1. Run `npm run auth` (or grab the `CKAT` cookie manually from creditkarma.com DevTools)
110
+ 2. Paste into `CK_COOKIES` env var, or call `ck_set_session(cookies)` from within Claude
111
+ 3. `ck_sync_transactions` → initial full sync
104
112
 
105
113
  **Regular use:**
106
114
  - `ck_sync_transactions` → pull latest transactions