banktivity-mcp

banktivity-mcp

Provides read-only access to Banktivity 8 personal finance databases, enabling LLM-powered summaries of transactions, balances, and spending.

Category
Visit Server

README

Banktivity MCP Server

An MCP (Model Context Protocol) server that provides read-only access to Banktivity 8 personal finance databases, enabling LLM-powered summaries of transactions, balances, and spending.

Features

  • Net worth summary with multi-currency conversion to a reporting currency
  • Account balances grouped by type (Asset, Cash/Bank, Savings, Current, Investment, Credit Card)
  • Investment holdings with securities valuations at latest prices
  • Spending analysis by category and month
  • Transaction search by title or memo
  • Multi-database support — query multiple Banktivity files from a single server

All queries are read-only and the database is opened in immutable mode.

Requirements

  • Python 3.12+
  • A Banktivity 8 .bank8 file

Installation

git clone <repo-url>
cd banktivity
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Configuration

Add the following to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Single database

{
  "mcpServers": {
    "banktivity": {
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/server.py"],
      "env": {
        "BANKTIVITY_DB": "/path/to/YourFile.bank8"
      }
    }
  }
}

Multiple databases

{
  "mcpServers": {
    "banktivity": {
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/server.py"],
      "env": {
        "BANKTIVITY_DATABASES": "{\"mine\": \"/path/to/Banking.bank8\", \"family\": \"/path/to/Family.bank8\"}"
      }
    }
  }
}

The first database in the JSON object is the default. Pass database="family" to any tool to query a non-default database.

Environment variables

Variable Description Default
BANKTIVITY_DATABASES JSON object mapping names to .bank8 paths
BANKTIVITY_DB Single .bank8 path (fallback if BANKTIVITY_DATABASES not set) ./Banking.bank8
BANKTIVITY_REPORTING_CCY Currency code for converted amounts GBP

Available Tools

Tool Description
list_databases List all configured Banktivity databases
net_worth Full balance sheet by account type with securities + currency conversion
account_balances Account list, optionally filtered by type
transactions Transaction list filtered by account and/or date range
spending_by_category Expense totals by category or category group
monthly_spending Monthly spending trend in reporting currency
search_transactions Search transactions by title or memo
investment_holdings Securities detail: shares, prices, values per account

How It Works

Banktivity 8 stores data in a Core Data-backed SQLite database inside the .bank8 bundle at StoreContent/core.sql. This server queries it directly using read-only SQLite connections.

Key implementation details:

  • Double-entry bookkeeping: Each transaction has 2+ line items (debit + credit)
  • Running balances: Determined using ZPDATE DESC, ZPCREATIONTIME DESC ordering
  • Multi-currency: Exchange rates from the database convert all amounts to the reporting currency
  • Securities: Investment accounts show cash + holdings valued at latest prices

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured