{"id":46192626,"url":"https://github.com/dweekly/quicken-mac-mcp","last_synced_at":"2026-05-31T00:01:27.430Z","repository":{"id":341702111,"uuid":"1169649492","full_name":"dweekly/quicken-mac-mcp","owner":"dweekly","description":"MCP server providing read-only access to Quicken For Mac financial data via Claude","archived":false,"fork":false,"pushed_at":"2026-05-30T22:27:12.000Z","size":7970,"stargazers_count":18,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-30T23:14:47.998Z","etag":null,"topics":["claude","finance","mcp","model-context-protocol","quicken","sqlite"],"latest_commit_sha":null,"homepage":"https://dweekly.github.io/quicken-mac-mcp/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dweekly.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-01T01:53:08.000Z","updated_at":"2026-05-30T21:56:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dweekly/quicken-mac-mcp","commit_stats":null,"previous_names":["dweekly/quicken-mac-mcp"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/dweekly/quicken-mac-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dweekly%2Fquicken-mac-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dweekly%2Fquicken-mac-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dweekly%2Fquicken-mac-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dweekly%2Fquicken-mac-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dweekly","download_url":"https://codeload.github.com/dweekly/quicken-mac-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dweekly%2Fquicken-mac-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33714033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","finance","mcp","model-context-protocol","quicken","sqlite"],"created_at":"2026-03-03T01:08:11.514Z","updated_at":"2026-05-31T00:01:27.387Z","avatar_url":"https://github.com/dweekly.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# quicken-mac-mcp\n\n[![npm version](https://img.shields.io/npm/v/quicken-mac-mcp)](https://www.npmjs.com/package/quicken-mac-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub release](https://img.shields.io/github/v/release/dweekly/quicken-mac-mcp)](https://github.com/dweekly/quicken-mac-mcp/releases)\n[![macOS only](https://img.shields.io/badge/platform-macOS-lightgrey)](https://github.com/dweekly/quicken-mac-mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)\n\nA **Claude Skill + MCP server** that gives Claude read-only access to your [Quicken For Mac](https://www.quicken.com/mac) financial data. Ask Claude about your accounts, transactions, spending by category, monthly trends, investment holdings, and more.\n\nThe database is **always opened read-only** — your Quicken data is never modified.\n\n## Skill or MCP — which do I want?\n\nThis repo ships two artifacts that share the same schema knowledge ([`docs/schema.md`](docs/schema.md)):\n\n- **Skill** ([`plugin/skills/quicken/SKILL.md`](plugin/skills/quicken/SKILL.md)) — teaches Claude to read the Quicken SQLite database directly with the `sqlite3` CLI. Works in Claude Code and any other Claude surface that loads skills. **No native module install, no MCP server process — just SQL.** This is the recommended path.\n- **MCP server** — wraps the same SQL recipes as eight prepackaged tools (`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.\n\nThe Claude Code plugin install (`claude plugin install quicken-mac-mcp`) bundles **both**, with the skill leading and the MCP tools available as shortcuts.\n\n## Requirements\n\n**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.\n\n## How it works\n\nQuicken 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.\n\n## Install — recommended (Claude Code, plugin)\n\n```bash\nclaude plugin install quicken-mac-mcp\n```\n\nThis 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.\n\n## Install — MCP-only paths\n\nUse these if you're in a non-Claude-Code client that can't load skills, or you only want the typed-tool wrapper.\n\n### Claude Code (MCP only)\n\n```bash\nclaude mcp add quicken -- npx -y quicken-mac-mcp\n```\n\n### Claude Desktop (MCPB drag-and-drop)\n\nDownload `quicken-mac-mcp.mcpb` from the [latest GitHub release](https://github.com/dweekly/quicken-mac-mcp/releases) and drag it into Claude Desktop. It will prompt you for your database path (or auto-detect it).\n\n### Claude Desktop (manual JSON)\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"quicken\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"quicken-mac-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop and you'll see a hammer icon with 8 tools available.\n\n### Custom database path\n\nIf you have multiple Quicken files, or your `.quicken` bundle isn't in `~/Documents`, set the `QUICKEN_DB_PATH` environment variable:\n\n```json\n{\n  \"mcpServers\": {\n    \"quicken\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"quicken-mac-mcp\"],\n      \"env\": {\n        \"QUICKEN_DB_PATH\": \"/path/to/YourFile.quicken/data\"\n      }\n    }\n  }\n}\n```\n\nBy default, the server auto-detects your Quicken database by picking the most recently modified `.quicken` bundle in `~/Documents`.\n\n## MCP tools\n\nThese 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`](plugin/skills/quicken/SKILL.md).\n\n| Tool | Description |\n|------|-------------|\n| `list_accounts` | List all accounts with name, type, and active/closed status. Optional type filter. |\n| `list_categories` | List all category tags with parent hierarchy. Filter by expense/income. |\n| `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. |\n| `spending_by_category` | Aggregate spending by category or parent category for a date range. |\n| `spending_over_time` | Monthly spending totals, optionally broken down by category. |\n| `search_payees` | Search payees by name with transaction counts. |\n| `list_portfolio` | List investment holdings with shares, cost basis, and stored Quicken price quotes. |\n| `raw_query` | Run arbitrary SELECT queries (500-row limit). |\n\n## Self-Documenting Command-Line Interface (`qmac`)\n\nThis 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.\n\n### Features:\n- **Centralized Schema Validation**: Arguments are dynamically coerced to correct types (numbers, booleans, arrays) and validated.\n- **Subcommand Help (`--help` / `-h`)**: Easily inspect parameter descriptions and types for any subcommand (e.g. `qmac spending-by-category --help`).\n- **Syntax Error Auto-Help**: Providing incorrect syntax or missing required fields outputs a precise error message along with the subcommand's help page.\n- **Integrated Manual (`qmac man`)**: Renders the complete, stylized UNIX man page guide right in your shell.\n- **Premium ASCII Table Layout**: Columns are dynamically auto-sized, numbers are right-aligned, and headers are formatted for supreme clarity. Use `--json` to get raw data for scripting.\n\n### Example Commands:\n\n```bash\n# General help\nqmac --help\n\n# Render stylized manual page\nqmac man\n\n# List checking accounts\nqmac list-accounts --account-type checking\n\n# Find Costco transactions over $100 in 2024\nqmac query-transactions --start-date 2024-01-01 --end-date 2024-12-31 --payee-search costco --max-amount -100\n\n# Get subcategory spending breakdown for Q1 2025\nqmac spending-by-category --start-date 2025-01-01 --end-date 2025-03-31 --group-by category\n\n# Display investment portfolio holding valuations\nqmac list-portfolio\n```\n\n## Example prompts\n\n- \"List my accounts\"\n- \"What did I spend on groceries last month?\"\n- \"Show my spending by category for 2024\"\n- \"How has my monthly spending changed over the past year?\"\n- \"Find all transactions from Costco over $100\"\n- \"What are my top 10 payees by transaction count?\"\n- \"Compare my food spending in 2024 vs 2025\"\n\n## Sovereign Financial Exporter (CSV \u0026 relational schema.json)\n\nWant to move your complete personal financial history out of Quicken to your own sovereign, self-hosted, or custom agentic analysis platform?\n\nThis 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.\n\n### How to use the exporter:\n\n1. Open your Quicken For Mac application and log in so that the database is decrypted.\n2. In your terminal, execute the export script:\n   ```bash\n   python3 scripts/export_sovereign_csv.py\n   ```\n3. A new directory `quicken_sovereign_export/` will be generated, containing:\n   - `accounts.csv`: Beautifully normalized accounts list (checking, credit, brokerage, retirement, etc.).\n   - `categories.csv`: Income \u0026 expense category path structure.\n   - `payees.csv`: Registered merchant names list.\n   - `transactions.csv`: Top-level ledger with post-date, notes, and transaction-level details.\n   - `transaction_splits.csv`: Line-item splits showing amounts and category IDs.\n   - `holdings.csv`: Active investment holdings reconstructed from your individual tax lots with cost basis and unrealized returns.\n   - `tags.csv`: Custom user tags mapped directly to splits.\n   - `schema.json`: Complete relational column and foreign key reference dictionary.\n   - `README.md`: A detailed migration guide demonstrating how to load and query your financial history instantly in **DuckDB**, **Pandas**, **PostgreSQL**, or other databases.\n\nThis allows other agentic platforms (like custom GPTs, self-hosted LLMs, or sovereign database agents) to immediately parse, ingest, and analyze your entire financial history.\n\n---\n\n## Database schema\n\nQuicken For Mac uses Core Data with these key tables:\n\n| Table | Purpose |\n|-------|---------|\n| `ZACCOUNT` | Bank accounts, credit cards, investment accounts |\n| `ZTRANSACTION` | Individual transactions (with `ZNOTE` transaction-level memo) |\n| `ZCASHFLOWTRANSACTIONENTRY` | Split line items — categories AND per-split `ZNOTE` memos live here |\n| `ZTAG` | Category tags with parent hierarchy (Z_ENT looked up at runtime) |\n| `ZUSERPAYEE` | Payee names |\n\nDates 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.\n\nAccount types are stored as uppercase strings: `CHECKING`, `CREDITCARD`, `SAVINGS`, `MORTGAGE`, `RETIREMENTIRA`, `ASSET`, `LIABILITY`, `LOAN`, etc. The tools accept any casing.\n\nFor 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`](docs/schema.md).\n\n## Development\n\n```bash\ngit clone https://github.com/dweekly/quicken-mac-mcp.git\ncd quicken-mac-mcp\nnpm install\nnpm test          # run tests\nnpm run lint      # eslint\nnpm run format    # prettier\nnpm run dev       # run server locally\n```\n\n## Docker\n\n```bash\ndocker build -t quicken-mac-mcp .\ndocker run --rm -v ~/Documents/YourFile.quicken:/data:ro quicken-mac-mcp\n```\n\n## Contributors\n\n- [Manish Mukherjee](https://github.com/manishie) — fixed dynamic `Z_ENT` lookup for CategoryTag ([#4](https://github.com/dweekly/quicken-mac-mcp/pull/4)), added `account_names` filter and date fallback for imported transactions ([#5](https://github.com/dweekly/quicken-mac-mcp/pull/5))\n- [Als-Pal](https://gist.github.com/Als-Pal) — [Quicken ↔ Amazon order matcher gist](https://gist.github.com/Als-Pal/3fc9c18949c826c207559939e8d9b90a) surfaced that notes live at two levels (`ZTRANSACTION.ZNOTE` and `ZCASHFLOWTRANSACTIONENTRY.ZNOTE`) and documented the `Z_OPT` write-back semantics now in [`docs/schema.md`](docs/schema.md).\n\n## Disclaimer\n\nThis 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.\n\nThis 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.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdweekly%2Fquicken-mac-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdweekly%2Fquicken-mac-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdweekly%2Fquicken-mac-mcp/lists"}