Skip to main content
Glama
jcvalerio

MoneyWiz MCP Server

by jcvalerio

MoneyWiz MCP Server

A Model Context Protocol (MCP) server that provides AI assistants like Claude with secure, read-only access to your MoneyWiz financial data for natural language queries and financial analytics.

Status: Production Ready Platform: macOS Python: 3.10+

๐Ÿš€ Quick Start (30 seconds)

# 1. Install the server
pip install git+https://github.com/jcvalerio/moneywiz-mcp-server.git

# 2. Set up configuration
python setup_env.py

# 3. Add to Claude Desktop config (~/.../Claude/claude_desktop_config.json)
{
  "mcpServers": {
    "moneywiz": {
      "command": "python",
      "args": ["-m", "moneywiz_mcp_server"]
    }
  }
}

# 4. Restart Claude Desktop and ask: "Show me my MoneyWiz accounts"

Related MCP server: Wordware MCP

โœจ What You Can Do

Ask Claude natural language questions about your finances:

๐Ÿ’ฐ Account & Transaction Management

  • "Show me all my MoneyWiz accounts with their balances"

  • "Get details for my checking account including recent transactions"

  • "Search my transactions from last month in the Groceries category"

๐Ÿ“Š Expense Analytics

  • "Analyze my expenses for the last 3 months by category"

  • "What's my savings rate this year?"

  • "Which spending category impacts my finances the most?"

๐Ÿ’ก Advanced Analytics

  • "Give me personalized savings recommendations with 25% target rate"

  • "Analyze my spending trends over the last 6 months"

  • "Show me category trends for my top 5 spending categories"

  • "Track my income vs expense trends for financial health"

๐Ÿ“… Scheduled Transactions & Recurring Payments (New!)

  • "Show me all my scheduled transactions"

  • "What recurring payments do I have coming up?"

  • "Analyze how my next salary covers my commitments"

  • "When will my subscriptions and loans end?"

๐Ÿ’ต Budget Management (New!)

  • "Show me all my budgets with spending status"

  • "Am I on track with my monthly budgets?"

  • "Compare my budgeted amounts vs actual spending"

  • "Which budgets are at risk of going over?"

๐Ÿ“‹ Prerequisites

  • macOS: MoneyWiz MCP Server only supports macOS (MoneyWiz is only available on Apple platforms)

  • MoneyWiz App: Install and set up MoneyWiz with some financial data

  • Python 3.10+: Ensure Python is installed

  • Claude Desktop: Install Claude Desktop application

๐Ÿ› ๏ธ Installation

# Clone the repository
git clone https://github.com/jcvalerio/moneywiz-mcp-server.git
cd moneywiz-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install with dependencies
pip install -e ".[dev,test]"

# Run setup to find your MoneyWiz database
python setup_env.py

Option 2: Install from PyPI (When Available)

pip install moneywiz-mcp-server

โš™๏ธ Configuration

# Run the setup script to automatically find and configure your MoneyWiz database
python setup_env.py

The setup script will:

  • Search for MoneyWiz databases on your Mac

  • Let you select the correct database

  • Create a .env file with your configuration

  • Provide next steps for testing

Manual Configuration

Create a .env file in the project root:

# MoneyWiz Database Path
MONEYWIZ_DB_PATH=/Users/yourusername/Library/Containers/com.moneywiz.personalfinance-setapp/Data/Documents/.AppData/ipadMoneyWiz.sqlite

# Security Settings
MONEYWIZ_READ_ONLY=true

# Optional Settings
LOG_LEVEL=INFO
CACHE_TTL=300
MAX_RESULTS=1000

Finding Your MoneyWiz Database

MoneyWiz stores data in these locations on macOS:

# MoneyWiz 3 (most common)
~/Library/Containers/com.moneywiz.mac/Data/Documents/
~/Library/Containers/com.moneywiz.personalfinance/Data/Documents/
~/Library/Containers/com.moneywiz.personalfinance-setapp/Data/Documents/

# MoneyWiz 2
~/Library/Application Support/SilverWiz/MoneyWiz 2/

Search command:

find ~ -name "*.sqlite*" 2>/dev/null | grep -i moneywiz

๐Ÿ–ฅ๏ธ Claude Desktop Setup

1. Find Your Claude Desktop Config

The configuration file is located at:

~/Library/Application Support/Claude/claude_desktop_config.json

2. Add MCP Server Configuration

Choose one of these configurations:

Standard Installation

{
  "mcpServers": {
    "moneywiz": {
      "command": "python",
      "args": ["-m", "moneywiz_mcp_server"]
    }
  }
}

Virtual Environment (FastMCP Best Practice)

{
  "mcpServers": {
    "moneywiz": {
      "command": "/path/to/your/venv/bin/python",
      "args": ["-m", "moneywiz_mcp_server.main"],
      "cwd": "/path/to/your/moneywiz-mcp-server"
    }
  }
}

With Custom Database Path (FastMCP Best Practice)

{
  "mcpServers": {
    "moneywiz": {
      "command": "python",
      "args": ["-m", "moneywiz_mcp_server.main"],
      "cwd": "/path/to/your/moneywiz-mcp-server",
      "env": {
        "MONEYWIZ_DB_PATH": "/path/to/your/MoneyWiz.sqlite",
        "MONEYWIZ_READ_ONLY": "true"
      }
    }
  }
}

3. Restart Claude Desktop

Completely quit and reopen Claude Desktop for changes to take effect.

๐Ÿงช Testing

Test Database Connection

python -c "
from moneywiz_mcp_server.config import Config
from moneywiz_mcp_server.database.connection import DatabaseManager
import asyncio

async def test():
    config = Config.from_env()
    print(f'Database: {config.database_path}')
    db = DatabaseManager(config.database_path)
    await db.initialize()
    print('โœ… Database connection successful!')
    await db.close()

asyncio.run(test())
"

Test MCP Server

# Start the server (should connect via stdio)
python -m moneywiz_mcp_server

Test with Claude Desktop

Try these queries in Claude Desktop:

  • "Show me all my MoneyWiz accounts"

  • "Analyze my expenses for the last 3 months"

  • "What's my current savings rate?"

๐Ÿ›ก๏ธ Available Tools

Once configured, Claude will have access to these MoneyWiz tools:

Account Management

  • list_accounts - List all accounts with balances and types

  • get_account - Get detailed account information by ID

Transaction Management

  • search_transactions - Search transactions with natural language time periods and filters

Financial Analytics

  • analyze_expenses_by_category - Analyze spending patterns by category

  • analyze_income_vs_expenses - Compare income vs expenses with savings analysis

Advanced Analytics

  • get_savings_recommendations - Personalized savings optimization with actionable tips

  • analyze_spending_trends - Statistical trend analysis with projections and insights

  • analyze_category_trends - Multi-category trend comparison and growth analysis

  • analyze_income_expense_trends - Income vs expense sustainability tracking

Scheduled Transactions & Recurring Payments

  • get_scheduled_transactions - List all scheduled and recurring transactions

  • analyze_salary_breakdown - Analyze how salary covers commitments

  • get_commitments_ending_timeline - Track when subscriptions, loans, and recurring payments end

Budget Management

  • get_budgets - List all budgets with spending status and percentages

  • analyze_budget_performance - Analyze which budgets are on track or at risk

  • get_budget_vs_actual - Compare budgeted amounts vs actual spending by category

๐Ÿ”ง Technical Details

Architecture

  • MCP Server: Modern FastMCP with decorator-based tool registration

  • Database: Direct Core Data SQLite access (read-only by default)

  • Analytics: Advanced savings optimization and trend analysis services

  • Safety: Read-only mode by default with comprehensive input validation

  • Integration: Seamless Claude Desktop integration with structured JSON responses

Database Support

  • MoneyWiz 3: Full support for latest version including Setapp

  • MoneyWiz 2: Legacy support

  • Data: Accounts, transactions, categories, payees

  • Size: Efficiently handles databases with thousands of transactions

๐Ÿ› Troubleshooting

Server Won't Start

# Check if database file exists
ls -la "/path/to/your/MoneyWiz.sqlite"

# Test configuration
python -c "from moneywiz_mcp_server.config import Config; print(Config.from_env().database_path)"

# Check server logs
python -m moneywiz_mcp_server 2>&1 | head -20

Claude Desktop Connection Issues

  1. Validate JSON syntax:

    python -c "import json; print(json.load(open('claude_desktop_config.json')))"
  2. Test exact command:

    python -m moneywiz_mcp_server
  3. Check file permissions:

    ls -la "/path/to/your/MoneyWiz.sqlite"

Common Issues

  • "Database not found": Check MONEYWIZ_DB_PATH and use absolute paths

  • "Permission denied": Ensure file permissions and MoneyWiz isn't locking the file

  • "MCP server not responding": Restart Claude Desktop and check JSON syntax

  • "No data found": Ensure MoneyWiz has transaction data and is the correct database

๐Ÿ”’ Security

  • Read-Only Mode: Database opened in read-only mode by default

  • Local Access: Only accesses local database files

  • No Network: No external network connections

  • Privacy: All data processing happens locally

  • Validation: All inputs validated before database queries

๐Ÿ“ Project Structure

moneywiz-mcp-server/
โ”œโ”€โ”€ README.md                    # This file
โ”œโ”€โ”€ pyproject.toml              # Package configuration
โ”œโ”€โ”€ setup_env.py               # Setup helper script
โ”œโ”€โ”€ examples/                   # Configuration examples
โ”‚   โ”œโ”€โ”€ claude_desktop_config.json
โ”‚   โ”œโ”€โ”€ claude_desktop_config_venv.json
โ”‚   โ””โ”€โ”€ claude_code_config.json
โ”œโ”€โ”€ src/moneywiz_mcp_server/    # Main package
โ”‚   โ”œโ”€โ”€ server.py               # MCP server
โ”‚   โ”œโ”€โ”€ config.py               # Configuration
โ”‚   โ”œโ”€โ”€ database/               # Database connection
โ”‚   โ”œโ”€โ”€ tools/                  # MCP tools
โ”‚   โ”œโ”€โ”€ services/               # Business logic
โ”‚   โ””โ”€โ”€ utils/                  # Utilities
โ””โ”€โ”€ tests/                      # Test suite

๐Ÿš€ Development

Setup Development Environment

git clone https://github.com/jcvalerio/moneywiz-mcp-server.git
cd moneywiz-mcp-server
python -m venv venv
source venv/bin/activate
pip install -e ".[dev,test]"
python setup_env.py

Run Tests

python -m pytest tests/ -v

Code Quality

# Linting
flake8 src/
mypy src/

# Formatting
black src/
isort src/

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿ†˜ Support

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests

  5. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.


โš ๏ธ Important: Always use read-only mode and back up your MoneyWiz database before first use.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jcvalerio/moneywiz-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server