Back to MCP Servers

Credit Karma MCP Server

Community MCP server that syncs Credit Karma transactions to a local SQLite database and exposes natural-language tools for spending analysis.

Finance by chrischall (community) Bearer Token (CKAT cookie / JWT) active
Overview

Credit Karma MCP is a community-built Model Context Protocol server that connects Claude (or other MCP clients) to a personal Credit Karma account. It authenticates with Credit Karma's GraphQL API using the CKAT cookie, syncs transactions into a local SQLite database, and then exposes tools that let an AI assistant answer questions about spending, accounts, and individual transactions in natural language.

The server provides eight tools spanning session/auth setup, incremental transaction sync, filtered transaction queries, recent transactions, aggregations by category or merchant, account summaries, and read-only SQL access to the local database. Because all query tools run against the local SQLite store, responses are fast, offline-capable, and amenable to arbitrary SQL exploration.

This project is not affiliated with Credit Karma or Intuit. The README explicitly notes that the codebase was "entirely built and is actively maintained by Claude Code" and that no human has audited the implementation, so users are advised to review the code and tool permissions before use. Credit Karma does not offer an official public API, so this server depends on cookie-based authentication that may break if Credit Karma changes its internal endpoints.

Tools

Tool Description
ck_set_session Store browser credentials and extract access/refresh tokens from the Credit Karma CKAT cookie.
ck_sync_transactions Sync transactions from Credit Karma's GraphQL API into the local SQLite database. Incremental by default with a 30-day overlap.
ck_list_transactions Query transactions from the local database with filters.
ck_get_recent_transactions Return the N most recent transactions.
ck_get_spending_by_category Aggregate total spending grouped by category.
ck_get_spending_by_merchant Aggregate total spending grouped by merchant.
ck_get_account_summary Show transaction counts and totals per account.
ck_query_sql Execute read-only (SELECT) SQL against the local transactions database.
Setup Guide

Prerequisites

  • Node.js 18 or later
  • An active Credit Karma account
  • Claude Desktop or Claude Code (or another MCP client)
  • Google Chrome (optional, only needed for the scripted auth flow)

Install

git clone https://github.com/chrischall/creditkarma-mcp.git
cd creditkarma-mcp
npm install
npm run build

Get your CKAT cookie

Either run the scripted auth flow (launches Chrome to sign in):

npm run auth

Or copy the CKAT cookie value manually from Chrome DevTools after logging into creditkarma.com.

Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "creditkarma": {
      "command": "node",
      "args": ["/absolute/path/to/creditkarma-mcp/dist/index.js"],
      "env": {
        "CK_COOKIES": "your-ckat-value-here"
      }
    }
  }
}

For Claude Code, add the same block to .mcp.json in your project (you can omit env if you populate a .env file with CK_COOKIES).

Restart your MCP client and try: "Sync my Credit Karma transactions."

Notes

  • The access token refreshes automatically (~15 minute lifetime); the refresh token expires after ~8 hours and requires re-auth.
  • The local SQLite database lives at ~/.creditkarma-mcp/transactions.db by default.
  • The ck_query_sql tool only permits SELECT statements.
Use Cases
  • Pull recent Credit Karma transactions into Claude and ask for a plain-English summary of the week's spending.
  • Break down monthly spending by category or by merchant to find where money is going.
  • Run ad hoc SQL against the local transactions database to answer custom questions (for example, "average grocery spend per week over the last 6 months").
  • Get per-account summaries (transaction counts, totals) across multiple linked Credit Karma accounts.
  • Detect unusual or duplicate charges by filtering transactions by amount, merchant, or date range.
Example Prompts
  • "Sync my Credit Karma transactions and show me the 20 most recent ones."
  • "Break down my spending by category for the last 90 days."
  • "Which merchants did I spend the most at in April?"
  • "Run a SQL query to find all transactions over $200 in the last 6 months."
  • "Give me an account summary across all my linked Credit Karma accounts."
Pros
  • Provides AI access to Credit Karma data even though Credit Karma has no official public API.
  • Local SQLite cache makes queries fast, offline-friendly, and accessible via raw SQL.
  • Handles token refresh automatically and supports both scripted and manual authentication.
  • Covers the main analytical questions out of the box: recent transactions, category/merchant rollups, and account summaries.
Limitations
  • Community project not affiliated with Credit Karma or Intuit; the README states the codebase is maintained by Claude Code with no human audit.
  • Relies on the unofficial CKAT cookie and internal GraphQL endpoints, which can break without notice if Credit Karma changes them.
  • Refresh tokens expire after about 8 hours, so users must re-authenticate frequently.
  • Read-only; cannot write data back to Credit Karma.
Alternatives
  • Plaid MCP integrations for sanctioned, API-based access to bank and credit data across many institutions.
  • Actual Budget MCP servers for querying a self-hosted personal finance database.
  • Custom MCP servers built on top of SimpleFIN or YNAB APIs for similar personal finance analytics.