MoneyWiz MCP Server
Uses .env files for configuration management of database paths and security settings
Targets macOS platform specifically as MoneyWiz is only available on Apple platforms
Supports MoneyWiz available through Setapp distribution platform
Directly accesses MoneyWiz's SQLite database to retrieve financial data for analysis
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MoneyWiz MCP Servershow me my account balances"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
๐ Quick Start
# 1. Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Clone and install
git clone https://github.com/jcvalerio/moneywiz-mcp-server.git
cd moneywiz-mcp-server
uv sync --all-extras
# 3. Find your MoneyWiz database
uv run python setup_env.py
# 4. Add to Claude Desktop config and restartSee Claude Desktop Setup below for the exact JSON configuration.
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
"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
"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
uv: Install the uv package manager โ it manages Python automatically, no separate Python install required
curl -LsSf https://astral.sh/uv/install.sh | shClaude Desktop: Install Claude Desktop application
No system Python required. uv downloads and manages Python 3.12 automatically when you run
uv sync.
๐ ๏ธ Installation
# Clone the repository
git clone https://github.com/jcvalerio/moneywiz-mcp-server.git
cd moneywiz-mcp-server
# Install all dependencies (creates .venv with Python 3.12 automatically)
uv sync --all-extras
# Run setup to find your MoneyWiz database
uv run python setup_env.py๐ Stable Releases and Rollback
For day-to-day use, prefer a tagged stable release once one is published. This keeps your Claude Desktop setup on known-good behavior while new roadmap work continues.
# From an existing source checkout
git fetch --tags
git checkout v1.0.0
uv sync --all-extras
uv run python setup_env.pyTo upgrade intentionally, read the release notes first, then check out the desired version:
git fetch --tags
git checkout vX.Y.Z
uv sync --all-extrasTo roll back, return to the previous known-good tag and restart Claude Desktop:
git fetch --tags
git checkout vPREVIOUS_VERSION
uv sync --all-extrasThe Claude Desktop configuration below remains compatible with pinned source checkouts as long as the checkout directory does not move. See Releasing for the versioning policy and maintainer checklist.
โ๏ธ Configuration
Automatic Setup (Recommended)
uv run python setup_env.pyThe setup script will:
Search for MoneyWiz databases on your Mac
Let you select the correct database
Create a
.envfile with your configurationProvide 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=1000Finding 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
~/Library/Application Support/Claude/claude_desktop_config.json2. Add MCP Server Configuration
Claude Desktop does not source your shell, so bare commands like python or uv won't be found. Use absolute paths in the configuration.
Option A: Source Checkout
Use this option if you cloned the repository and ran uv sync --all-extras.
{
"mcpServers": {
"moneywiz": {
"command": "/ABSOLUTE/PATH/TO/moneywiz-mcp-server/.venv/bin/python",
"args": ["-m", "moneywiz_mcp_server"],
"cwd": "/ABSOLUTE/PATH/TO/moneywiz-mcp-server"
}
}
}Get your absolute path:
echo "$(pwd)/.venv/bin/python"
# Example output: /Users/yourname/dev/moneywiz-mcp-server/.venv/bin/pythonThe .venv/bin/python binary is self-contained โ it does not require Python to be installed globally on your Mac.
The cwd field is required so the server can locate the .env file with your database path.
Option B: PyPI with uvx
Use this option if you want Claude Desktop to run the published package without a source checkout. Because there is no checkout-local .env file in this mode, provide the MoneyWiz database path through the env block.
First, find the absolute path to uv:
command -v uv
# Example output: /Users/yourname/.local/bin/uvThen configure Claude Desktop. Pin the package version for stable behavior, and replace MONEYWIZ_DB_PATH with your actual SQLite database path.
{
"mcpServers": {
"moneywiz": {
"command": "/ABSOLUTE/PATH/TO/uv",
"args": [
"x",
"--from",
"moneywiz-mcp-server==1.0.1",
"moneywiz-mcp-server"
],
"env": {
"MONEYWIZ_DB_PATH": "/ABSOLUTE/PATH/TO/ipadMoneyWiz.sqlite",
"MONEYWIZ_READ_ONLY": "true"
}
}
}
}If you prefer to use the newest published package instead of a pinned version, remove ==1.0.1. Pinned versions are recommended for day-to-day use.
3. Restart Claude Desktop
Completely quit and reopen Claude Desktop for changes to take effect.
๐งช Testing
Test Database Connection
uv run 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)
uv run python -m moneywiz_mcp_server๐ก๏ธ Available Tools
Once configured, Claude will have access to these MoneyWiz tools:
Account Management
list_accounts- List all accounts with balances and typesget_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 categoryanalyze_income_vs_expenses- Compare income vs expenses with savings analysis
Advanced Analytics
get_savings_recommendations- Personalized savings optimization with actionable tipsanalyze_spending_trends- Statistical trend analysis with projections and insightsanalyze_category_trends- Multi-category trend comparison and growth analysisanalyze_income_expense_trends- Income vs expense sustainability tracking
Scheduled Transactions & Recurring Payments
get_scheduled_transactions- List all scheduled and recurring transactionsanalyze_salary_breakdown- Analyze how salary covers commitmentsget_commitments_ending_timeline- Track when subscriptions, loans, and recurring payments end
Budget Management
get_budgets- List all budgets with spending status and percentagesanalyze_budget_performance- Analyze which budgets are on track or at riskget_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
uv run python -c "from moneywiz_mcp_server.config import Config; print(Config.from_env().database_path)"
# Check server logs
uv run python -m moneywiz_mcp_server 2>&1 | head -20Claude Desktop Connection Issues
Validate JSON syntax:
python3 -c "import json; print(json.load(open('$HOME/Library/Application Support/Claude/claude_desktop_config.json')))"Verify the .venv Python path exists:
ls -la /ABSOLUTE/PATH/TO/moneywiz-mcp-server/.venv/bin/pythonTest the exact command Claude Desktop will run:
/ABSOLUTE/PATH/TO/moneywiz-mcp-server/.venv/bin/python -m moneywiz_mcp_serverCheck file permissions:
ls -la "/path/to/your/MoneyWiz.sqlite"
Common Issues
"Database not found": Check
MONEYWIZ_DB_PATHin.envand use absolute paths"Permission denied": Ensure file permissions and MoneyWiz isn't locking the file
"MCP server not responding": Restart Claude Desktop and verify the
.venv/bin/pythonpath is correct"No data found": Ensure MoneyWiz has transaction data and is the correct database
"command not found": Make sure you're using the absolute
.venv/bin/pythonpath, not barepython
๐ 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
โโโ uv.lock # Locked dependency versions
โโโ .python-version # Python version pin (3.12.7)
โโโ 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
โ โโโ main.py # FastMCP server entry point
โ โโโ 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
uv sync --all-extras
uv run python setup_env.pyRun Tests
uv run pytest tests/ -vCode Quality
uv run ruff check . # Linting
uv run ruff format . # Formatting
uv run mypy src/ # Type checking
./scripts/check-ci.sh # Full CI simulation๐ License
MIT License - see LICENSE file for details.
๐ Support
Issues: GitHub Issues
Discussions: GitHub Discussions
๐ค Contributing
Fork the repository
Create a feature branch
Make your changes with tests
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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure 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