Weather
一个面向 Data & APIs 场景的 Agent 技能。原始说明:Get current weather and forecasts (no API key required).
一个面向 Data & APIs 场景的 Agent 技能。原始说明:Access Credit Karma transaction data via MCP. Use when the user asks about their Credit Karma transactions, spending by category or merchant, account summari...
name: creditkarma-mcp
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, 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).
MCP server for Credit Karma — syncs transactions into a local SQLite database and provides natural-language querying tools.
Add to .mcp.json in your project or ~/.claude/mcp.json:
{
"mcpServers": {
"creditkarma": {
"command": "npx",
"args": ["-y", "creditkarma-mcp"],
"env": {
"CK_COOKIES": "CKTRKID=...; CKAT=eyJ...%3BeyJ...; ..."
}
}
}
}
git clone https://github.com/chrischall/creditkarma-mcp
cd creditkarma-mcp
npm install && npm run build
Then add to .mcp.json:
{
"mcpServers": {
"creditkarma": {
"command": "node",
"args": ["/path/to/creditkarma-mcp/dist/index.js"],
"env": {
"CK_COOKIES": "CKTRKID=...; CKAT=eyJ...%3BeyJ...; ..."
}
}
}
}
Or use a .env file in the project directory with CK_COOKIES=<value>.
Three onboarding paths, in priority order:
1. fetchproxy extension (easiest — no env vars): Install the fetchproxy 0.3.0 extension, 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.
2. cksetsession 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.
3. Manual (DevTools):
cookie header → Copy valueCK_COOKIES in your Claude configThe MCP handles auth automatically once any of the three paths is configured.
CK_COOKIES (or call ck_set_session again)| Tool | Description |
|------|-------------|
| ck_set_session(cookies) | Store credentials — paste the full Cookie header from a signed-in creditkarma.com request |
| Tool | Description |
|------|-------------|
| ck_sync_transactions(force_full?) | Sync transactions to local SQLite. Incremental by default (since last sync − 30 days). force_full=true re-fetches everything. |
| Tool | Description |
|------|-------------|
| ck_list_transactions(start_date?, end_date?, account?, category?, merchant?, status?, min_amount?, max_amount?, limit?, offset?) | Filtered, paginated transaction list |
| ck_get_recent_transactions(limit?) | N most recent transactions (default 20) |
| ck_get_spending_by_category(start_date?, end_date?) | Spending totals grouped by category |
| ck_get_spending_by_merchant(start_date?, end_date?, limit?) | Spending totals grouped by merchant |
| ck_get_account_summary | Transaction counts and totals per account |
| ck_query_sql(sql) | Read-only SQL query against the local database (SELECT only) |
First-time setup:
CK_COOKIES unset.CK_COOKIES in your config or call ck_set_session(cookies) from within Claude.ck_sync_transactions → initial full syncRegular use:
ck_sync_transactions → pull latest transactionsSpending analysis:
ck_sync_transactions
ck_get_spending_by_category(start_date: "2026-01-01", end_date: "2026-03-31")
ck_get_spending_by_merchant(start_date: "2026-01-01", limit: 10)
Custom analysis with SQL:
-- Monthly spending totals
SELECT strftime('%Y-%m', date) AS month, SUM(ABS(amount)) AS total
FROM transactions WHERE amount < 0
GROUP BY month ORDER BY month DESC
-- Spending by category this year
SELECT c.name, SUM(ABS(t.amount)) AS total
FROM transactions t JOIN categories c ON t.category_id = c.id
WHERE t.date >= '2026-01-01' AND t.amount < 0
GROUP BY c.name ORDER BY total DESC
transactions (id, date, description, status, amount, account_id, category_id, merchant_id, raw_json)
accounts (id, name, type, provider_name, display)
categories (id, name, type)
merchants (id, name)
sync_state (key, value)
ck_query_sql only allows SELECT — no writes to Credit Karma dataaccounts.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.