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 +20 -7
- package/SKILL.md +13 -5
- package/dist/bundle.js +9884 -614
- package/dist/index.js +10 -39
- package/dist/tools/auth.js +11 -12
- package/dist/tools/query.js +54 -58
- package/dist/tools/sql.js +10 -11
- package/dist/tools/sync.js +12 -14
- package/package.json +22 -4
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
|
|
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
|
-
|
|
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 | *(
|
|
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,
|
|
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.
|
|
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:
|
|
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.
|
|
101
|
-
2.
|
|
102
|
-
3. `
|
|
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
|