# io.github.dweekly/quicken-mac-mcp (npm · quicken-mac-mcp)

Read-only access to Quicken For Mac financial data: transactions, spending, and portfolios.

- Trust score: 68/100 (medium)
- Change this week: +44
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `quicken-mac-mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp.md), [page](https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp)

## Channel facts

- Registry: `npm`
- Package: `quicken-mac-mcp`
- Version: `1.0.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (129 of 133), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (129 of 133), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 64 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1333 tokens (~166/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add dweekly-quicken-mac-mcp -- npx -y quicken-mac-mcp
```

### Codex

```bash
codex mcp add dweekly-quicken-mac-mcp -- npx -y quicken-mac-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dweekly-quicken-mac-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "quicken-mac-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dweekly-quicken-mac-mcp --command npx --arg -y --arg quicken-mac-mcp
```

### Hermes

```yaml
mcp_servers:
  dweekly-quicken-mac-mcp:
    command: "npx"
    args: ["-y", "quicken-mac-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "dweekly-quicken-mac-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "quicken-mac-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 68, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 64, +45)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-08-01 (score 19, +14)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 5, −21)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 26, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 44, +20)

- [functional regression] Security disclosure: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: unverified
- [functional] First check of Schema quality: fail

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (8)

### `list_accounts` (~65 tokens)

List all Quicken accounts with name, type, and active/closed status. Optionally filter by account type (case-insensitive).

Input parameters:

- `account_type` (string): Filter by account type, e.g. "checking", "creditcard", "savings", "mortgage"

### `list_categories` (~52 tokens)

List all Quicken category tags with their parent category hierarchy. Categories classify transactions (e.g., Food & Dining > Groceries).

Input parameters:

- `type` (string): Filter by category type: "expense" or "income"

### `query_transactions` (~203 tokens)

Query Quicken transactions with flexible filters. Returns one row per split entry — a single transaction may appear multiple times if it has multiple category splits.

Input parameters:

- `account_names` (array): Filter by specific account names
- `account_types` (array): Filter by account types, e.g. ["checking", "creditcard"]
- `category` (string): Filter by category or parent category name (LIKE match)
- `end_date` (string): End date (ISO 8601, e.g., 2024-12-31)
- `limit` (number): Max rows to return (default 100, max 1000)
- `max_amount` (number): Maximum transaction amount
- `min_amount` (number): Minimum transaction amount
- `payee_search` (string): Search payee name (LIKE match, case-insensitive)
- `start_date` (string): Start date (ISO 8601, e.g., 2024-01-01)

### `spending_by_category` (~119 tokens)

Aggregate spending grouped by category or parent category for a date range. Returns category name, total amount, and transaction count, sorted by amount.

Input parameters:

- `account_types` (array): Account types to include (default: ["checking", "creditcard"])
- `end_date` (string, required): End date (ISO 8601)
- `group_by` (string): Group by "category" (subcategory level) or "parent_category" (top-level). Default: "parent_category"
- `start_date` (string, required): Start date (ISO 8601)

### `spending_over_time` (~103 tokens)

Monthly spending totals over a date range, optionally broken down by parent category. Useful for trend analysis.

Input parameters:

- `account_types` (array): Account types to include (default: ["checking", "creditcard"])
- `end_date` (string, required): End date (ISO 8601)
- `group_by_category` (boolean): If true, break down each month by parent category (default: false)
- `start_date` (string, required): Start date (ISO 8601)

### `search_payees` (~69 tokens)

Search payees by name (case-insensitive LIKE match). Returns payee name and total transaction count, sorted by frequency.

Input parameters:

- `limit` (number): Max results to return (default 50, max 500)
- `query` (string, required): Search term for payee name (LIKE match)

### `list_portfolio` (~103 tokens)

List current investment holdings across all brokerage/retirement accounts. Shows shares, cost basis, and optionally enriches with current prices (from stored Quicken quotes or live Yahoo Finance data) to compute market value and gain/loss.

Input parameters:

- `account_names` (array): Filter to specific account names
- `include_quotes` (boolean): Fetch live prices from Yahoo Finance (default: false, uses stored Quicken quotes). Note: sends your ticker symbols to Yahoo's API.

### `raw_query` (~57 tokens)

Execute an arbitrary read-only SQL query against the Quicken database. Only SELECT statements are allowed. Results limited to 500 rows. Use this for custom analysis not covered by other tools.

Input parameters:

- `sql` (string, required): SQL SELECT query to execute

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 64
- 2026-08-01: 19
- 2026-07-31: 5
- 2026-07-30: 26
- 2026-07-28: 44
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/quicken-mac-mcp
- Socket report: https://socket.dev/npm/package/quicken-mac-mcp
- Repository: https://github.com/dweekly/quicken-mac-mcp
- Changelog RSS feed: https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/dweekly-quicken-mac-mcp/quicken-mac-mcp
