{"id":"d6e72183-c3d0-44f8-8f8a-857a050dba3f","entityType":"agent","slug":"clawhub-chrischall-creditkarma","name":"creditkarma","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chrischall-creditkarma","canonicalPath":"/agent/clawhub-chrischall-creditkarma","generatedAt":"2026-10-10T07:42:32.437Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":null},"description":"Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below). Skill: creditkarma Owner: chrischall Summary: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or an","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:creditkarma","sourceUrl":"https://clawhub.ai/chrischall/creditkarma","homepage":"https://clawhub.ai/chrischall/skills/creditkarma","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chrischall/creditkarma","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chrischall/skills/creditkarma","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries,"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":null},"stars":null,"forks":null,"downloads":1746,"packageName":null,"latestVersion":"3.3.2","tractionLabel":"1.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:10:56.721Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T03:10:56.722Z","lastCrawledAt":"2026-10-10T03:10:56.721Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T03:10:56.721Z","lastVerifiedAt":null,"highlights":[{"version":"3.3.2","createdAt":"2026-10-09T23:29:55.197Z","changelog":"- Removed the file: skill-card.md - Updated SKILL.md with minor documentation changes - Increased the default limit for `ck_get_recent_transactions` from 20 to 25 and clarified valid values for `limit` and `offset` on listing tools","fileCount":3,"zipByteSize":4848},{"version":"3.3.1","createdAt":"2026-10-07T13:36:10.275Z","changelog":"- Removed the skill-card.md file to clean up documentation. - No changes to functionality or user-facing features.","fileCount":3,"zipByteSize":4835},{"version":"3.3.0","createdAt":"2026-10-06T23:05:29.064Z","changelog":"- Adds support for the include_matched parameter to show credit-report duplicates of linked accounts in ck_get_account_balances - Updates the account schema with a matched_account_id field - Improves clarity around balance sources (linked vs. credit_report) and handling of duplicate/hidden balances - Removes the obsolete skill-card.md file","fileCount":3,"zipByteSize":4818},{"version":"3.2.0","createdAt":"2026-10-06T21:47:41.222Z","changelog":"- Added support for querying account balances, including new trigger phrases and the `ck_get_account_balances` tool. - Expanded database schema: `accounts` table now includes balance and metadata fields; new `account_aliases` table added. - Updated documentation to reflect support for account balance queries and workflow examples. - Removed unused file: skill-card.md.","fileCount":3,"zipByteSize":4819},{"version":"3.1.6","createdAt":"2026-10-05T02:51:26.086Z","changelog":"- Removed the sample skill card file (skill-card.md). - No changes made to functionality or documentation.","fileCount":3,"zipByteSize":4413},{"version":"3.1.5","createdAt":"2026-10-03T01:40:23.762Z","changelog":"- Removed the skill-card.md file. - No other changes to functionality or documentation.","fileCount":3,"zipByteSize":4427},{"version":"3.1.4","createdAt":"2026-09-28T13:56:54.945Z","changelog":"- Updated setup instructions to recommend the new ContextMint Bridge extension (formerly fetchproxy) for cookie onboarding. - Adjusted documentation to reference ContextMint Bridge as the preferred browser integration. - Removed references to the old fetchproxy extension in onboarding and first-time setup steps. - No changes to skill logic or usage; documentation update only. - Removed the legacy skill-card.md file.","fileCount":3,"zipByteSize":4356},{"version":"3.1.3","createdAt":"2026-09-25T15:53:24.289Z","changelog":"- Added new tool: `ck_forget_session()` to delete the saved session file and clear in-memory credentials (transactions database is kept). - Updated `ck_query_sql` tool: now takes a `max_rows` argument (default 500, max 5000) to limit output, with truncation support. - Clarified tool descriptions and usage in documentation. - Removed the obsolete `skill-card.md` file.","fileCount":3,"zipByteSize":4220}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:creditkarma","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T07:42:32.425Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-creditkarma/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":null},"readme":"Skill: creditkarma\n\nOwner: chrischall\n\nSummary: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n\nTags: latest:3.3.2\n\nVersion history:\n\nv3.3.2 | 2026-10-09T23:29:55.197Z | auto\n\n- Removed the file: skill-card.md\n- Updated SKILL.md with minor documentation changes\n- Increased the default limit for `ck_get_recent_transactions` from 20 to 25 and clarified valid values for `limit` and `offset` on listing tools\n\nv3.3.1 | 2026-10-07T13:36:10.275Z | auto\n\n- Removed the skill-card.md file to clean up documentation.\n- No changes to functionality or user-facing features.\n\nv3.3.0 | 2026-10-06T23:05:29.064Z | auto\n\n- Adds support for the include_matched parameter to show credit-report duplicates of linked accounts in ck_get_account_balances\n- Updates the account schema with a matched_account_id field\n- Improves clarity around balance sources (linked vs. credit_report) and handling of duplicate/hidden balances\n- Removes the obsolete skill-card.md file\n\nv3.2.0 | 2026-10-06T21:47:41.222Z | auto\n\n- Added support for querying account balances, including new trigger phrases and the `ck_get_account_balances` tool.\n- Expanded database schema: `accounts` table now includes balance and metadata fields; new `account_aliases` table added.\n- Updated documentation to reflect support for account balance queries and workflow examples.\n- Removed unused file: skill-card.md.\n\nv3.1.6 | 2026-10-05T02:51:26.086Z | auto\n\n- Removed the sample skill card file (skill-card.md).\n- No changes made to functionality or documentation.\n\nv3.1.5 | 2026-10-03T01:40:23.762Z | auto\n\n- Removed the skill-card.md file.\n- No other changes to functionality or documentation.\n\nv3.1.4 | 2026-09-28T13:56:54.945Z | auto\n\n- Updated setup instructions to recommend the new ContextMint Bridge extension (formerly fetchproxy) for cookie onboarding.\n- Adjusted documentation to reference ContextMint Bridge as the preferred browser integration.\n- Removed references to the old fetchproxy extension in onboarding and first-time setup steps.\n- No changes to skill logic or usage; documentation update only.\n- Removed the legacy skill-card.md file.\n\nv3.1.3 | 2026-09-25T15:53:24.289Z | auto\n\n- Added new tool: `ck_forget_session()` to delete the saved session file and clear in-memory credentials (transactions database is kept).\n- Updated `ck_query_sql` tool: now takes a `max_rows` argument (default 500, max 5000) to limit output, with truncation support.\n- Clarified tool descriptions and usage in documentation.\n- Removed the obsolete `skill-card.md` file.\n\nv3.1.2 | 2026-09-23T21:39:42.692Z | auto\n\n- Updated session handling: `ck_set_session` now saves credentials to `~/.creditkarma-mcp/session` instead of `.env`.\n- Expanded `ck_sync_transactions(force_full)` documentation to clarify full-history sync and resume behavior.\n- Removed old `skill-card.md` file.\n- Minor wording improvements for clarity in authentication and setup instructions.\n\nv3.1.1 | 2026-09-23T15:46:46.679Z | auto\n\n- Removed the file: skill-card.md  \n- No other user-facing changes.  \n- All functionality and documentation remain unchanged in this version.\n\nv3.1.0 | 2026-09-20T02:53:22.764Z | auto\n\n- Removed the sample skill card documentation file (skill-card.md).\n- No feature or functionality changes to core skill behavior.\n\nv3.0.0 | 2026-09-17T23:37:31.739Z | auto\n\n- Removed the skill-card.md file.\n- No changes to core functionality or the public interface.\n- No user-facing impact; documentation and usage remain unchanged.\n\nv2.8.4 | 2026-09-15T18:22:21.891Z | auto\n\n- Removed the file skill-card.md.\n- No changes to user-facing functionality or documentation.\n\nv2.8.3 | 2026-09-14T19:58:59.038Z | auto\n\n- Removed the informational file skill-card.md.\n- No changes to user-facing features or functionality in this release.\n\nv2.8.2 | 2026-09-10T17:50:00.245Z | auto\n\n- Removed the skill-card documentation file (skill-card.md).\n- No changes to functionality or MCP setup—only documentation cleanup.\n\nv2.8.1 | 2026-09-09T21:16:15.302Z | auto\n\n- Removed the file skill-card.md from the skill package.\n- No functional changes to the skill code or documentation.\n\nv2.8.0 | 2026-09-04T22:21:25.052Z | auto\n\n- Removed the skill-card.md file from the repository.\n- No changes to user-facing features or functionality.\n- Documentation and usage remain unchanged.\n\nv2.7.0 | 2026-08-31T16:38:05.509Z | auto\n\n- Removed the skill-card.md file.\n- No changes to functionality or user-facing features.\n\nv2.6.0 | 2026-08-29T13:54:05.530Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or usage documented.\n\nv2.5.2 | 2026-08-28T21:07:27.557Z | auto\n\n- Removed the skill-card.md file.\n- No changes to primary functionality or setup.\n\nv2.5.1 | 2026-08-28T11:34:51.552Z | auto\n\n- Removed the skill card file (skill-card.md) from the skill package.\n- No changes to functionality or documentation in SKILL.md.\n\nv2.5.0 | 2026-08-10T02:43:32.033Z | auto\n\n- Removed the skill-card.md file from the project.\n- No changes to user-facing features or functionality.\n\nv2.4.1 | 2026-08-06T00:42:38.874Z | auto\n\n- Removed the file skill-card.md.\n- No changes to functionality or documentation within SKILL.md.\n\nv2.4.0 | 2026-08-05T21:47:05.751Z | auto\n\n- Removed the sample skill card file (skill-card.md).\n- No changes to functionality or setup instructions.\n- Internal documentation cleanup only.\n\nv2.3.3 | 2026-08-01T19:23:33.082Z | auto\n\n- Removed the skill-card.md file.\n- No changes to core functionality or documentation within SKILL.md.\n- This update is a cleanup of documentation files only.\n\nv2.3.2 | 2026-07-30T12:53:36.123Z | auto\n\n- Added detailed skill description and usage triggers to SKILL.md.\n- Expanded setup instructions with three onboarding/authentication paths (fetchproxy extension, ck_set_session, and manual DevTools cookies).\n- Described all available tools for authenticating, syncing transactions, querying spending by category/merchant, and custom SQL analysis.\n- Included example workflows for first-time setup, regular syncing, and spending analysis.\n- Provided table of the local database schema for reference.\n- Noted behavior of query tools and sync, and clarified amount sign conventions.\n\nArchive index:\n\nArchive v3.3.2: 3 files, 4848 bytes\n\nFiles: skill-card.md (1936b), SKILL.md (7948b), _meta.json (130b)\n\nFile v3.3.2:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 25; `limit` on every listing tool is a whole number from 1 to 500, `offset` 0 or more) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_get_account_balances(refresh?, include_matched?)` | Balance per account: institution, type, last 4, current balance, available credit and credit limit (cards), `balance_as_of`, `source` (`linked` — live from the aggregator, cards and loans included — or `credit_report`) and `stale`. Liabilities are negative. Prefer `linked` figures; credit-report balances lag 2–5 weeks — say so when quoting one. A credit-report row duplicating a linked account is hidden unless `include_matched` |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Balances:**\n```\nck_get_account_balances                # last synced balances (ck_sync_transactions refreshes them)\nck_get_account_balances(include_matched: true)  # also show credit-report duplicates of linked accounts\nck_get_account_balances(refresh: true) # fetch live first\n```\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display, last4, account_urn,\n              current_balance, available_balance, credit_limit,\n              balance_as_of, balances_synced_at, balance_source, matched_account_id)\naccount_aliases (alias, account_id)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.3.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.3.2\",\n  \"publishedAt\": 1791588595197\n}\n\nFile v3.3.2:skill-card.md\n\n## Description:\n\nHelps an agent sync and analyze Credit Karma transactions, spending, accounts, and balances through the creditkarma-mcp server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users can ask an agent to sync their transactions and summarize spending by category, merchant, or account, or check account balances.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authentication grants the server access equivalent to a logged-in Credit Karma session.\n\nMitigation: Review the npm package, source repository, and browser extension before installing; do not paste cookies into shared configuration files.\n\nRisk: Synced transactions and balances remain on local disk after saved session credentials are removed.\n\nMitigation: Protect local financial data and manage the transaction database separately; forgetting the session does not delete it.\n\n## Reference(s):\n\n- [Creditkarma skill release](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge extension](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Natural-language financial summaries and transaction lists]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses depend on synced Credit Karma data; credit-report balances can lag live balances.]\n\n## Skill Version(s):\n\n3.3.2 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.3.1: 3 files, 4835 bytes\n\nFiles: skill-card.md (2019b), SKILL.md (7865b), _meta.json (130b)\n\nFile v3.3.1:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_get_account_balances(refresh?, include_matched?)` | Balance per account: institution, type, last 4, current balance, available credit and credit limit (cards), `balance_as_of`, `source` (`linked` — live from the aggregator, cards and loans included — or `credit_report`) and `stale`. Liabilities are negative. Prefer `linked` figures; credit-report balances lag 2–5 weeks — say so when quoting one. A credit-report row duplicating a linked account is hidden unless `include_matched` |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Balances:**\n```\nck_get_account_balances                # last synced balances (ck_sync_transactions refreshes them)\nck_get_account_balances(include_matched: true)  # also show credit-report duplicates of linked accounts\nck_get_account_balances(refresh: true) # fetch live first\n```\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display, last4, account_urn,\n              current_balance, available_balance, credit_limit,\n              balance_as_of, balances_synced_at, balance_source, matched_account_id)\naccount_aliases (alias, account_id)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.3.1\",\n  \"publishedAt\": 1791380170275\n}\n\nFile v3.3.1:skill-card.md\n\n## Description:\n\nHelps an agent sync and query a user's Credit Karma transactions, spending, accounts, and balances through a separately installed MCP server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users can ask an agent to sync their financial data and summarize transactions, spending by category or merchant, and account balances.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Reusable financial session cookies may be exposed through chat, configuration files, or an optional browser bridge.\n\nMitigation: Review the third-party server and bridge before connecting; use the narrowest local setup and avoid pasting Cookie headers into ordinary chat or shared logs.\n\nRisk: Synced transactions and balances persist locally even after the saved session is forgotten.\n\nMitigation: Understand where the session and local financial database are stored, and delete both when no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp package](https://www.npmjs.com/package/creditkarma-mcp)\n- [creditkarma-mcp project](https://github.com/chrischall/creditkarma-mcp)\n- [Optional ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown summaries and setup guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Summaries depend on synced data; credit-report balances may lag.]\n\n## Skill Version(s):\n\n3.3.1 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.3.0: 3 files, 4818 bytes\n\nFiles: skill-card.md (1952b), SKILL.md (7865b), _meta.json (130b)\n\nFile v3.3.0:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_get_account_balances(refresh?, include_matched?)` | Balance per account: institution, type, last 4, current balance, available credit and credit limit (cards), `balance_as_of`, `source` (`linked` — live from the aggregator, cards and loans included — or `credit_report`) and `stale`. Liabilities are negative. Prefer `linked` figures; credit-report balances lag 2–5 weeks — say so when quoting one. A credit-report row duplicating a linked account is hidden unless `include_matched` |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Balances:**\n```\nck_get_account_balances                # last synced balances (ck_sync_transactions refreshes them)\nck_get_account_balances(include_matched: true)  # also show credit-report duplicates of linked accounts\nck_get_account_balances(refresh: true) # fetch live first\n```\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display, last4, account_urn,\n              current_balance, available_balance, credit_limit,\n              balance_as_of, balances_synced_at, balance_source, matched_account_id)\naccount_aliases (alias, account_id)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.3.0\",\n  \"publishedAt\": 1791327929064\n}\n\nFile v3.3.0:skill-card.md\n\n## Description:\n\nHelps users sync and query Credit Karma transactions, spending, and account balances through a local MCP server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users can sync their financial data and ask an agent for transaction history, spending breakdowns, account summaries, and balances.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live Credit Karma session cookies can expose financial data if shared or stored insecurely.\n\nMitigation: Keep cookies out of chats and shared configuration, restrict local file permissions, and prefer a dedicated, revocable authentication flow when available.\n\nRisk: The browser-cookie bridge and locally synced transactions and balances grant access to sensitive financial information.\n\nMitigation: Review the integration before installing, use ck_forget_session when finished, and consider signing out or rotating sessions afterward.\n\n## Reference(s):\n\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration instructions, Shell commands]\n\n**Output Format:** [Text or Markdown, with configuration and command snippets when needed]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Answers draw on locally synced financial data; credit-report balances may lag linked-account balances.]\n\n## Skill Version(s):\n\n3.3.0 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.2.0: 3 files, 4819 bytes\n\nFiles: skill-card.md (2284b), SKILL.md (7551b), _meta.json (130b)\n\nFile v3.2.0:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_get_account_balances(refresh?)` | Balance per account: institution, type, last 4, current balance, credit limit, `balance_as_of`, `source` (`linked` or `credit_report`) and `stale`. Liabilities are negative. Credit-report balances (cards, loans) lag 2–5 weeks by nature — say so when quoting them |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Balances:**\n```\nck_get_account_balances                # last synced balances (ck_sync_transactions refreshes them)\nck_get_account_balances(refresh: true) # fetch live first\n```\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display, last4, account_urn,\n              current_balance, available_balance, credit_limit,\n              balance_as_of, balances_synced_at, balance_source)\naccount_aliases (alias, account_id)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1791323261222\n}\n\nFile v3.2.0:skill-card.md\n\n## Description:\n\nHelps agents sync and query a user's Credit Karma transactions, spending, account summaries, and balances.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users and their agents can sync transactions and review spending by merchant or category, account summaries, and balances.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Credit Karma session cookies can grant access to sensitive account data.\n\nMitigation: Use only on a trusted device; keep Cookie headers and CK_COOKIES out of shared files and logs, and forget or revoke sessions if exposed.\n\nRisk: Synced transactions and balances persist locally and contain sensitive financial information.\n\nMitigation: Protect the local database and its backups, and limit access to trusted users and devices.\n\nRisk: Installing an unverified MCP package or browser extension can expose credentials or financial data.\n\nMitigation: Verify the package and browser extension source before installation, and restrict use to Credit Karma.\n\nRisk: Account balances, especially credit-report balances, may be outdated.\n\nMitigation: Check balance_as_of and stale indicators, refresh when possible, and note that credit-report balances can lag 2–5 weeks.\n\n## Reference(s):\n\n- [ClawHub creditkarma skill](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge source](https://github.com/nullnet-app/contextmint-bridge)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration, Shell commands]\n\n**Output Format:** [Markdown summaries and setup or query examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Transaction queries use locally synced data; credit-report balances may lag 2–5 weeks.]\n\n## Skill Version(s):\n\n3.2.0 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.6: 3 files, 4413 bytes\n\nFiles: skill-card.md (2035b), SKILL.md (6858b), _meta.json (130b)\n\nFile v3.1.6:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.6\",\n  \"publishedAt\": 1791168686086\n}\n\nFile v3.1.6:skill-card.md\n\n## Description:\n\nHelps an agent sync and analyze a user's Credit Karma transactions, including spending by category, merchant, and account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users and their agents use this skill to sync transactions and answer questions about spending, merchants, and account activity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Browser cookies and saved sessions grant access to a live Credit Karma account.\n\nMitigation: Use a dedicated environment, handle Cookie headers as credentials, and review the MCP package and browser extension before granting access.\n\nRisk: Transaction history containing sensitive financial data is stored locally and remains after the session is forgotten.\n\nMitigation: Confirm how to remove both saved sessions and the local transaction database, and protect the device storing them.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp package](https://www.npmjs.com/package/creditkarma-mcp)\n- [creditkarma-mcp source linked by the skill](https://github.com/chrischall/creditkarma-mcp)\n- [ContextMint Bridge source linked by the skill](https://github.com/nullnet-app/contextmint-bridge)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance, Configuration instructions]\n\n**Output Format:** [Markdown or plain text with transaction summaries and setup guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Financial answers depend on locally synced transaction data.]\n\n## Skill Version(s):\n\n3.1.6 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.5: 3 files, 4427 bytes\n\nFiles: skill-card.md (1969b), SKILL.md (6858b), _meta.json (130b)\n\nFile v3.1.5:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.5\",\n  \"publishedAt\": 1790991623762\n}\n\nFile v3.1.5:skill-card.md\n\n## Description:\n\nHelps agents sync and query a user's Credit Karma transactions, spending, and account summaries through an MCP server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople and their agents use this skill to sync Credit Karma transactions locally and review spending by category, merchant, or account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Credit Karma session cookies grant access to sensitive financial data and may be exposed in chat, configuration, logs, or screenshots.\n\nMitigation: Keep cookies out of chats, logs, and screenshots; protect stored credentials and use ck_forget_session when finished.\n\nRisk: Third-party MCP and browser-extension code can read session cookies, and synced transactions remain in a local database.\n\nMitigation: Review the npm package or source and the ContextMint Bridge extension before use; protect and manage the local transaction database separately from saved sessions.\n\n## Reference(s):\n\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, SQL queries, Configuration instructions]\n\n**Output Format:** [Markdown guidance and transaction summaries; structured MCP query results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Queries require a local transaction sync; SQL reads are limited to 5,000 rows.]\n\n## Skill Version(s):\n\n3.1.5 (source: server-resolved release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.4: 3 files, 4356 bytes\n\nFiles: skill-card.md (1837b), SKILL.md (6858b), _meta.json (130b)\n\nFile v3.1.4:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.4\",\n  \"publishedAt\": 1790603814945\n}\n\nFile v3.1.4:skill-card.md\n\n## Description:\n\nHelps an agent sync and analyze a user's Credit Karma transactions, spending, and account summaries.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople with Credit Karma accounts use this skill to sync transactions and ask an agent for spending breakdowns, merchant activity, and account summaries.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Credit Karma session cookies grant access to sensitive financial information.\n\nMitigation: Treat copied Cookie headers and CKAT/CKTRKID values like passwords; review the external package and browser extension before granting access.\n\nRisk: Sensitive transaction history remains stored locally after session credentials are removed.\n\nMitigation: Protect the local database and remove it separately when transaction history is no longer needed; use ck_forget_session to clear stored credentials.\n\n## Reference(s):\n\n- [creditkarma on ClawHub](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge extension](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Guidance]\n\n**Output Format:** [Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Transaction and spending answers depend on locally synced data.]\n\n## Skill Version(s):\n\n3.1.4 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.3: 3 files, 4220 bytes\n\nFiles: skill-card.md (1935b), SKILL.md (6485b), _meta.json (130b)\n\nFile v3.1.3:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. fetchproxy extension (easiest — no env vars):** Install the [fetchproxy 0.3.0 extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n| `ck_forget_session()` | Delete the saved-session file and clear in-memory credentials (local only; transactions DB kept) |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql, max_rows?)` | Read-only SQL query against the local database (SELECT only; at most `max_rows` rows, default 500 / max 5000 — `truncated: true` means page with LIMIT/OFFSET or aggregate) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install the [fetchproxy extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.3\",\n  \"publishedAt\": 1790351604289\n}\n\nFile v3.1.3:skill-card.md\n\n## Description:\n\nHelps agents sync and analyze a user's Credit Karma transactions, spending, and account summaries through an MCP server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPeople with Credit Karma accounts use this skill to sync their transactions and ask an agent for spending breakdowns, merchant totals, and account summaries.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live Credit Karma session cookies grant access to a financial account and may be exposed through configuration, the saved session, or the optional browser extension.\n\nMitigation: Install only if comfortable with this access; treat cookies and the saved session as account credentials, limit access, and use the forget-session tool when finished.\n\nRisk: Synced transaction history remains in a local database, even after the saved session is forgotten.\n\nMitigation: Protect the local database and remove it separately when the transaction history is no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp package and setup](https://www.npmjs.com/package/creditkarma-mcp)\n- [Optional fetchproxy extension](https://github.com/chrischall/fetchproxy)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Analysis, SQL queries]\n\n**Output Format:** [Markdown]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses may contain sensitive financial transaction data.]\n\n## Skill Version(s):\n\n3.1.3 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.2: 3 files, 4173 bytes\n\nFiles: skill-card.md (2139b), SKILL.md (6236b), _meta.json (130b)\n\nFile v3.1.2:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. fetchproxy extension (easiest — no env vars):** Install the [fetchproxy 0.3.0 extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` walks the whole history with no date cutoff — from the beginning, except that it continues a backfill paused by `max_pages`; after a failed or stuck sync it restarts from page 1. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql)` | Read-only SQL query against the local database (SELECT only) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install the [fetchproxy extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.2\",\n  \"publishedAt\": 1790199582692\n}\n\nFile v3.1.2:skill-card.md\n\n## Description:\n\nAccess Credit Karma transaction data through creditkarma-mcp to sync transactions locally and query spending, merchants, categories, account summaries, and read-only SQL results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to connect an agent to creditkarma-mcp, sync personal Credit Karma transactions into a local SQLite database, and answer spending or account-summary questions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to provide live Credit Karma session cookies to an MCP server.\n\nMitigation: Use only if comfortable granting that access, avoid placing full cookie headers in shared project configs, and prefer an official authentication method if one becomes available.\n\nRisk: The MCP server stores sensitive financial transaction data locally.\n\nMitigation: Keep local session and database files protected, remove session files when finished, and review the skill carefully before installation.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy)\n- [Credit Karma](https://www.creditkarma.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with JSON, bash, SQL examples, and MCP tool names]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires creditkarma-mcp setup, Credit Karma session access, and local SQLite transaction sync before querying.]\n\n## Skill Version(s):\n\n3.1.2 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v3.1.1: 3 files, 4170 bytes\n\nFiles: skill-card.md (2491b), SKILL.md (6008b), _meta.json (130b)\n\nFile v3.1.1:SKILL.md\n\n---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. fetchproxy extension (easiest — no env vars):** Install the [fetchproxy 0.3.0 extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool persists it to `.env`.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n## Authentication\n\nThe MCP handles auth automatically once any of the three paths is configured.\n\n- Access token: ~15 min TTL, auto-refreshed transparently\n- Refresh token: ~8 hours TTL\n- When expired:\n  - **fetchproxy path:** sign back into creditkarma.com — the MCP reads fresh cookies on the next tool call\n  - **env-var / ck_set_session path:** grab a fresh Cookie header from DevTools and update `CK_COOKIES` (or call `ck_set_session` again)\n\n## Tools\n\n### Auth\n| Tool | Description |\n|------|-------------|\n| `ck_set_session(cookies)` | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |\n\n### Sync\n| Tool | Description |\n|------|-------------|\n| `ck_sync_transactions(force_full?)` | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). `force_full=true` re-fetches everything. |\n\n### Query\n| Tool | Description |\n|------|-------------|\n| `ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?)` | Filtered, paginated transaction list |\n| `ck_get_recent_transactions(limit?)` | N most recent transactions (default 20) |\n| `ck_get_spending_by_category(start_date?, end_date?)` | Spending totals grouped by category |\n| `ck_get_spending_by_merchant(start_date?, end_date?, limit?)` | Spending totals grouped by merchant |\n| `ck_get_account_summary` | Transaction counts and totals per account |\n| `ck_query_sql(sql)` | Read-only SQL query against the local database (SELECT only) |\n\n## Workflows\n\n**First-time setup:**\n1. Easiest: install the [fetchproxy extension](https://github.com/chrischall/fetchproxy), sign into creditkarma.com, leave `CK_COOKIES` unset.\n2. Or: copy the Cookie header from DevTools and either set `CK_COOKIES` in your config or call `ck_set_session(cookies)` from within Claude.\n3. `ck_sync_transactions` → initial full sync\n\n**Regular use:**\n- `ck_sync_transactions` → pull latest transactions\n- Then query with any of the query tools\n\n**Spending analysis:**\n```\nck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)\n```\n\n**Custom analysis with SQL:**\n```sql\n-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC\n```\n\n## Database schema\n\n```sql\ntransactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)\naccounts     (id, name, type, provider_name, display)\ncategories   (id, name, type)\nmerchants    (id, name)\nsync_state   (key, value)\n```\n\n## Notes\n\n- All query tools run against the local SQLite database — sync first\n- Amounts: negative = expense/debit, positive = credit/income\n- `ck_query_sql` only allows SELECT — no writes to Credit Karma data\n- Sync saves a resume cursor — interrupted syncs can be resumed automatically\n- `accounts.id` is a synthesized stable key in the form `<provider>|<last4>` (e.g. `Citi|2630`, `Ally|7133`) because CK's API returns empty `account.id` strings. The same card under two provider-name spellings shows as two rows.\n\nFile v3.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.1.1\",\n  \"publishedAt\": 1790178406679\n}\n\nFile v3.1.1:skill-card.md\n\n## Description:\n\nAccess Credit Karma transaction data via MCP for transaction sync, spending analysis, account summaries, merchant/category queries, and read-only local SQL analysis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to connect an agent to their Credit Karma transaction data, sync it into a local SQLite database, and answer personal finance questions about spending, accounts, categories, and merchants.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live Credit Karma session cookies and copied Cookie headers can function like login credentials.\n\nMitigation: Use a dedicated, minimally scoped environment; avoid committing .mcp.json or .env files; restrict file permissions; and remove stored cookies when finished.\n\nRisk: Synced transaction data is stored locally and may include sensitive personal finance information.\n\nMitigation: Protect or remove the local SQLite database after use and avoid sharing the workspace with untrusted users or processes.\n\nRisk: Browser-extension access can expose active Credit Karma session cookies.\n\nMitigation: Use the extension only when needed, review browser permissions, and remove browser-extension access after the workflow is complete.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [creditkarma-mcp source link listed in artifact](https://github.com/chrischall/creditkarma-mcp)\n- [fetchproxy extension link listed in artifact](https://github.com/chrischall/fetchproxy)\n- [Credit Karma](https://www.creditkarma.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with JSON, shell command, and SQL examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides MCP setup and use; resulting agent interactions may sync and query a local SQLite transaction database.]\n\n## Skill Version(s):\n\n3.1.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: creditkarma Owner: chrischall Summary: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or an","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"git clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}"},{"language":"text","snippet":"ck_get_account_balances                # last synced balances (ck_sync_transactions refreshes them)\nck_get_account_balances(include_matched: true)  # also show credit-report duplicates of linked accounts\nck_get_account_balances(refresh: true) # fetch live first"},{"language":"text","snippet":"ck_sync_transactions\nck_get_spending_by_category(start_date: \"2026-01-01\", end_date: \"2026-03-31\")\nck_get_spending_by_merchant(start_date: \"2026-01-01\", limit: 10)"},{"language":"sql","snippet":"-- Monthly spending totals\nSELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total\nFROM transactions WHERE amount < 0\nGROUP BY month ORDER BY month DESC\n\n-- Spending by category this year\nSELECT c.name, SUM(ABS(t.amount)) AS total\nFROM transactions t JOIN categories c ON t.category_id = c.id\nWHERE t.date >= '2026-01-01' AND t.amount < 0\nGROUP BY c.name ORDER BY total DESC"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: creditkarma\ndescription: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below).\n---\n\n# creditkarma-mcp\n\nMCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.\n\n- **npm:** [npmjs.com/package/creditkarma-mcp](https://www.npmjs.com/package/creditkarma-mcp)\n- **Source:** [github.com/chrischall/creditkarma-mcp](https://github.com/chrischall/creditkarma-mcp)\n\n## Setup\n\n### Option A — npx (recommended)\n\nAdd to `.mcp.json` in your project or `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"creditkarma-mcp\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\n### Option B — from source\n\n```bash\ngit clone https://github.com/chrischall/creditkarma-mcp\ncd creditkarma-mcp\nnpm install && npm run build\n```\n\nThen add to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"creditkarma\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/creditkarma-mcp/dist/index.js\"],\n      \"env\": {\n        \"CK_COOKIES\": \"CKTRKID=...; CKAT=eyJ...%3BeyJ...; ...\"\n      }\n    }\n  }\n}\n```\n\nOr use a `.env` file in the project directory with `CK_COOKIES=<value>`.\n\n### Getting CK_COOKIES (optional)\n\nThree onboarding paths, in priority order:\n\n**1. ContextMint Bridge extension (easiest — no env vars):** Install [ContextMint Bridge](https://github.com/nullnet-app/contextmint-bridge/releases) (Chrome: load the chrome zip unpacked; Safari: ships inside the ContextMint app, which has no public download yet — use Chrome for now). It is the fetchproxy extension renamed, same maintainer; source is public at https://github.com/nullnet-app/contextmint-bridge — build it, or check the release zip with `shasum -a 256 -c <zip>.sha256`. Then sign into creditkarma.com once, and leave `CK_COOKIES` **unset**. The MCP reads HttpOnly `CKAT` + `CKTRKID` cookies on the first tool call via `chrome.cookies.get`, then operates direct-to-API from Node.\n\n**2. ck_set_session MCP tool:** From within Claude, call `ck_set_session` with a Cookie header you copied from DevTools (see below). The tool saves it to `~/.creditkarma-mcp/session` (0600), which the server reads back on every start.\n\n**3. Manual (DevTools):**\n1. Log in to [creditkarma.com](https://www.creditkarma.com) in Chrome\n2. DevTools → **Network** → any creditkarma.com request → **Request Headers**\n3. Right-click the `cookie` header → **Copy value**\n4. Paste into `CK_COOKIES` in your Claude config\n\n#"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"creditkarma\",\n  \"version\": \"3.3.2\",\n  \"publishedAt\": 1791588595197\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps an agent sync and analyze Credit Karma transactions, spending, accounts, and balances through the creditkarma-mcp server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nCredit Karma users can ask an agent to sync their transactions and summarize spending by category, merchant, or account, or check account balances.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authentication grants the server access equivalent to a logged-in Credit Karma session.\n\nMitigation: Review the npm package, source repository, and browser extension before installing; do not paste cookies into shared configuration files.\n\nRisk: Synced transactions and balances remain on local disk after saved session credentials are removed.\n\nMitigation: Protect local financial data and manage the transaction database separately; forgetting the session does not delete it.\n\n## Reference(s):\n\n- [Creditkarma skill release](https://clawhub.ai/chrischall/skills/creditkarma)\n- [creditkarma-mcp npm package](https://www.npmjs.com/package/creditkarma-mcp)\n- [ContextMint Bridge extension](https://github.com/nullnet-app/contextmint-bridge/releases)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Natural-language financial summaries and transaction lists]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses depend on synced Credit Karma data; credit-report balances can lag live balances.]\n\n## Skill Version(s):\n\n3.3.2 (source: server-resolved release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or any request involving personal finance data from Credit Karma. Requires creditkarma-mcp installed and the creditkarma server registered (see Setup below). Skill: creditkarma Owner: chrischall Summary: Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summaries, account balances, or wants to sync or query their financial data. Triggers on phrases like \"sync my transactions\", \"what did I spend on\", \"show my Credit Karma data\", \"spending by category\", \"top merchants\", or an","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1295,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T03:10:56.722Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:42:32.437Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}