Get the FREE Ultimate OpenClaw Setup Guide →

quicken

A python based mcp server (with embedded duckdb) to interact with Quicken data via an LLM Client.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio sgoley-quicken-mcp-server python -m app.main --qif /path/to/your/file.qif \
  --env QIF_PATH="Path to QIF file (override via --qif if needed)" \
  --env LOG_LEVEL="Logging level (DEBUG, INFO, WARNING, ERROR)" \
  --env SERVER_MODE="Transport mode: stdio or sse"

How to use

This MCP server ingests a local Quicken QIF export and builds an in-memory DuckDB database that you can query using standardized MCP tools. It exposes a set of helpers for working with financial data, including listing accounts and their balances, querying transactions with flexible filters, running safe SELECT-only SQL against the dataset, generating financial summaries, listing categories, and searching transactions by text. The server supports multiple transport modes: stdio for direct tool integration and Server-Sent Events (SSE) for streaming updates to clients. Security is enforced by restricting SQL to SELECT statements only and by isolating file access via controlled QIF imports and containerized execution when deployed with Docker or similar environments.

How to install

Prerequisites:

  • Python 3.8+ (tested with Python 3.10+)
  • pip (Python package manager)
  • Optional: Docker (for containerized deployment)

Install from source:

  1. Clone the repository: git clone https://github.com/your-org/quicken-mcp-server.git cd quicken-mcp-server

  2. Create and activate a virtual environment (recommended): python -m venv venv source venv/bin/activate # on Unix/macOS venv\Scripts\activate # on Windows

  3. Install dependencies: pip install -r requirements.txt

Run locally: 4) Start the server (QIF path required): python -m app.main --qif /path/to/your/file.qif

Containerized (Docker): 5) Build the image: docker build -t quicken-mcp-server .

  1. Run with a mounted QIF file: docker run --rm -v "<path>/data:/data:ro" quicken-mcp-server --qif /data/personal-data.qif

Configuration (optional):

  • You can pass transport mode and listen address via flags or environment variables as described in the README.
  • See the MCP Tools Reference in the README for available commands and their usage.

Additional notes

Tips and common issues:

  • Ensure the QIF file is trusted and accessible by the server when running in Docker or with a mounted volume.
  • The server enforces SELECT-only queries for safety; attempting DDL/DML will be blocked.
  • If using SSE, open clients can subscribe to /sse (default port 8700) to receive updates and results.
  • Memory recommendations: 8 GB+ for large QIF exports; DuckDB handles large analytical queries efficiently.
  • Environment variables: QIF_PATH, SERVER_MODE, LOG_LEVEL, and MEMORY_LIMIT can be used to configure startup behavior without always passing CLI flags.
  • If you run into port or binding issues in SSE mode, verify your host network configuration and that the listen address is accessible from clients.
  • For local development, using a virtual environment helps manage dependencies and isolation.

Related MCP Servers

Sponsor this space

Reach thousands of developers