The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Quicken Mac MCP listing page.
A Claude Skill + MCP server that gives Claude read-only access to your Quicken For Mac financial data. Ask Claude about your accounts, transactions, spending by category, monthly trends, investment holdings, and more.
The database is always opened read-only — your Quicken data is never modified.
This repo ships two artifacts that share the same schema knowledge (docs/schema.md):
plugin/skills/quicken/SKILL.md) — teaches Claude to probe and read the Quicken SQLite database directly with Python 3's standard-library SQLite support. Its focused references/ cover balances, cash flow, investments, budgets, tags, and QuickFill rules. Works in Claude Code and any other Claude surface that loads skills. No native module install or MCP server process. This is the recommended path.list_accounts, query_transactions, spending_by_category, …). Use it when you're working in a non-Claude MCP client (Cursor, Cline, mcp-remote bridges) that can't load skills, or when you'd rather call typed tools than have Claude write SQL.The Claude Code plugin install (claude plugin install quicken-mac-mcp) bundles both, with the skill leading and the MCP tools available as shortcuts.
Quicken For Mac must be open while using either the skill or the MCP. Quicken encrypts its database file when the app is closed — the data is only readable while Quicken is running.
Quicken For Mac stores data in a Core Data SQLite database inside a .quicken bundle in your Documents folder (e.g., ~/Documents/MyFinances.quicken/data). The skill teaches Claude how to query that database directly; the MCP server is a thin wrapper that exposes eight prepackaged queries as tools.
This installs both the /quicken skill (recommended path) and the MCP server. Claude will lead with the skill and fall back to the MCP tools when convenient.
Use these if you're in a non-Claude-Code client that can't load skills, or you only want the typed-tool wrapper.
Download the bundle for your Mac from the latest GitHub release and drag it into Claude Desktop:
quicken-mac-mcp-arm64.mcpbquicken-mac-mcp-x64.mcpbIt will prompt you for your database path (or auto-detect it).
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Restart Claude Desktop and you'll see a hammer icon with 8 tools available.
If you have multiple Quicken files, or your .quicken bundle isn't in ~/Documents, set the QUICKEN_DB_PATH environment variable:
By default, the server auto-detects your Quicken database only when exactly one .quicken bundle exists in ~/Documents. If multiple bundles exist, it refuses to guess; set QUICKEN_DB_PATH explicitly.
These are the eight prepackaged tools the MCP server exposes. The skill covers the same ground (and more) by writing SQL directly against the database — see plugin/skills/quicken/SKILL.md.
| Tool | Description |
|---|---|
list_accounts | List all accounts with name, type, and active/closed status. Optional type filter. |
list_categories | List all category tags with parent hierarchy. Filter by expense/income. |
query_transactions | Query transactions with filters: date range, account types/names, amount range, payee search, category. Returns one row per split entry, with note (transaction-level) and split_note (per-split) memos. |
spending_by_category | Aggregate negative consumer-spending splits by category, excluding transfers and report-excluded rows and preserving (Uncategorized). |
spending_over_time | Monthly negative consumer-spending totals with the same exclusions, optionally broken down by category. |
search_payees | Search payees by name with transaction counts. |
list_portfolio | List investment holdings with shares, cost basis, and stored Quicken price quotes. |
raw_query | Run arbitrary SELECT queries (500-row limit). |
qmac)This project includes a fully featured, self-documenting command-line interface qmac that allows you to query your Quicken SQLite database directly from the terminal without going through an MCP client.
--help / -h): Easily inspect parameter descriptions and types for any subcommand (e.g. qmac spending-by-category --help).qmac man): Renders the complete, stylized UNIX man page guide right in your shell.--json to get raw data for scripting.Want to move your complete personal financial history out of Quicken to your own sovereign, self-hosted, or custom agentic analysis platform?
This project includes a high-speed, zero-dependency, pure Python utility scripts/export_sovereign_csv.py that connects to your unlocked Quicken database and extracts it into a cleanly normalized, portable package.
quicken_sovereign_export/ will be generated, containing:
accounts.csv: Beautifully normalized accounts list (checking, credit, brokerage, retirement, etc.).categories.csv: Income & expense category path structure.payees.csv: Registered merchant names list.transactions.csv: Top-level ledger with post-date, notes, and transaction-level details.transaction_splits.csv: Line-item splits showing amounts and category IDs.holdings.csv: Active investment holdings reconstructed from your individual tax lots with cost basis and unrealized returns.tags.csv: Custom user tags mapped directly to splits.schema.json: Complete relational column and foreign key reference dictionary.README.md: A detailed migration guide demonstrating how to load and query your financial history instantly in DuckDB, Pandas, PostgreSQL, or other databases.This allows other agentic platforms (like custom GPTs, self-hosted LLMs, or sovereign database agents) to immediately parse, ingest, and analyze your entire financial history.
Quicken For Mac uses Core Data with these key tables:
| Table | Purpose |
|---|---|
ZACCOUNT | Bank accounts, credit cards, investment accounts |
ZTRANSACTION | Individual transactions (with ZNOTE transaction-level memo) |
ZCASHFLOWTRANSACTIONENTRY | Split line items — categories AND per-split ZNOTE memos live here |
ZTAG | Category tags with parent hierarchy (Z_ENT looked up at runtime) |
ZUSERPAYEE | Payee names |
Dates use Core Data epoch (seconds since 2001-01-01). The MCP server handles all date conversion automatically — you pass ISO 8601 dates, it returns ISO 8601 dates. The skill recipes show the conversion (+ 978307200) inline so Claude can write SQL directly.
Account types are stored as uppercase strings: CHECKING, CREDITCARD, SAVINGS, MORTGAGE, RETIREMENTIRA, ASSET, LIABILITY, LOAN, etc. The tools accept any casing.
For the full schema reference (84 entities, all tables, indexes, foreign keys, and Core Data write semantics including Z_OPT optimistic locking), see docs/schema.md.
Set QUICKEN_DB_PATH before npm test if ~/Documents holds more than one .quicken bundle; otherwise the live-schema suites skip.
Known issues and planned work live in ROADMAP.md — open bugs, developer-experience gaps, and deferred dependency upgrades (fresh as of 2026-08-14).
Z_ENT lookup for CategoryTag (#4), added account_names filter and date fallback for imported transactions (#5)ZTRANSACTION.ZNOTE and ZCASHFLOWTRANSACTIONENTRY.ZNOTE) and documented the Z_OPT write-back semantics now in docs/schema.md.This project is an independent, community-developed open-source tool. It is not an official Intuit product and is not endorsed by, directly affiliated with, maintained by, or sponsored by Intuit Inc. or any of its subsidiaries. "Quicken" is a registered trademark of Intuit Inc. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
This software is provided "as is," without warranty of any kind. The authors and contributors are not responsible for any damage, data loss, or other issues arising from its use. Always back up your financial data before using third-party tools.
MIT