home / mcp / moneywiz mcp server

MoneyWiz MCP Server

MoneyWiz MCP Server - Model Context Protocol server for AI-powered financial analysis with MoneyWiz personal finance data

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jcvalerio-moneywiz-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "moneywiz_mcp_server"
      ],
      "env": {
        "CACHE_TTL": "300",
        "LOG_LEVEL": "INFO",
        "MAX_RESULTS": "1000",
        "MONEYWIZ_DB_PATH": "/Users/you/Library/Containers/.../ipadMoneyWiz.sqlite",
        "MONEYWIZ_READ_ONLY": "true"
      }
    }
  }
}

You set up a MoneyWiz MCP Server to give a Claude-like assistant secure, read-only access to your MoneyWiz data for natural language questions and financial analysis. This server exposes your data to AI queries without allowing edits, enabling powerful insights while keeping your information safe on your device.

How to use

Install and run the MCP server, then connect your MCP client (such as Claude Desktop) to the local process. You can ask natural language questions to explore your MoneyWiz data, generate expense analyses, track budgets, view accounts and transactions, and examine trends over time. Use clear, specific prompts to get the most accurate results, and rely on the server’s read-only mode to protect your data.

How to install

Prerequisites and setup steps ensure your system can run the MoneyWiz MCP Server and connect to Claude Desktop.

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

# 2. Set up environment and configuration
python setup_env.py

# 3. Add to Claude Desktop configuration (example location shown in Claude config)
{
  "mcpServers": {
    "moneywiz": {
      "command": "python",
      "args": ["-m", "moneywiz_mcp_server"]
    }
  }
}

# 4. Restart Claude Desktop and start asking questions such as: Show me my MoneyWiz accounts

Configuration

Automatic setup is recommended to locate and configure your MoneyWiz database, but you can also configure manually by creating a .env file. The setup script will search for MoneyWiz databases, let you select the correct one, and create a .env file with the necessary settings.

Automatic setup steps (recommended):

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

Manual configuration details

Create a .env file in the project root and set the MoneyWiz database path and safety options.

# 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 several locations on macOS depending on version. Use a search to locate the database files.

# Common locations for MoneyWiz 3
~/Library/Containers/com.moneywiz.mac/Data/Documents/
~/Library/Containers/com.moneywiz.personalfinance/Data/Documents/
~/Library/Containers/com.moneywiz.personalfinance-setapp/Data/Documents/

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

Claude Desktop Setup

Configure Claude Desktop to load the MoneyWiz MCP Server so you can ask questions directly from Claude.

Add an MCP server configuration in Claude Desktop using either a standard Python run or a virtual environment.

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

Testing and usage

Test the MoneyWiz connection and the MCP server, then run demand-driven queries in Claude Desktop.

# Test database connection via a small Python snippet
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())"

# Start the MCP server (stdio mode)
python -m moneywiz_mcp_server

Notes and best practices

Always run in read-only mode unless you explicitly enable otherwise for testing. Keep local data on your machine; there are no network connections from the server. Back up your MoneyWiz database before first use.

Security and safety

The MCP server operates locally and never transmits MoneyWiz data over the network. All processing happens on your device, and the database is opened in read-only mode by default to prevent any changes.

Troubleshooting

If the server won’t start or Claude Desktop cannot connect, verify the database path, permissions, and configuration JSON. Check recent logs for errors and ensure Claude Desktop is using the correct MCP configuration.

# Verify the database path exists
ls -la "/path/to/your/MoneyWiz.sqlite"

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

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

Additional guidance

If you need to customize the setup for a virtual environment or a custom database path, follow the examples that show a dedicated Python executable and an explicit working directory. Ensure the environment variables are passed to the MCP process when using a non-default path.

Available tools

list_accounts

List all accounts with balances and types

get_account

Get detailed information for a specific account by ID

search_transactions

Query transactions with natural language timeframes and filters

analyze_expenses_by_category

Analyze spending patterns by category over a period

analyze_income_vs_expenses

Compare income and expenses with savings analysis

get_savings_recommendations

Provide personalized savings tips and target improvements

analyze_spending_trends

Analyze spending trends with projections and insights

analyze_category_trends

Compare trends across multiple spending categories

analyze_income_expense_trends

Track income vs expense sustainability

get_scheduled_transactions

List all scheduled and recurring transactions

analyze_salary_breakdown

Analyze how salary covers commitments over time

get_commitments_ending_timeline

Display when subscriptions and loans end

get_budgets

List budgets with spending status and progress