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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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