loading…
Search for a command to run...
loading…
An MCP server that integrates with Monarch Money to provide financial data access and operations, including account management, transaction filtering, budget an
An MCP server that integrates with Monarch Money to provide financial data access and operations, including account management, transaction filtering, budget analysis, and goal tracking through natural language.
An MCP (Model Context Protocol) server that provides access to Monarch Money financial data and operations.
cd /path/to/monarch-money-mcp
uv sync
Add the server to your .mcp.json configuration file:
{
"mcpServers": {
"monarch-money": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/monarch-money-mcp",
"run",
"python",
"server.py"
],
"env": {
"MONARCH_EMAIL": "[email protected]",
"MONARCH_PASSWORD": "your-password",
"MONARCH_MFA_SECRET": "your-mfa-secret-key"
}
}
}
}
Important Notes:
/path/to/uv with the full path to your uv executable (find it with which uv)/path/to/monarch-money-mcp with the absolute path to this server directoryserver.py running manually in an interactive terminal. This MCP server is stdio-only and should be spawned by your MCP client over pipes.MONARCH_ALLOW_INTERACTIVE_SERVER=1.T5SPVJIBRNPNNINFSH5W7RFVF2XYADYX)MONARCH_MFA_SECRETget_accountsList all accounts with their balances and details.
get_transactionsGet transactions with optional filtering:
start_date: Filter transactions from this date (YYYY-MM-DD)end_date: Filter transactions to this date (YYYY-MM-DD)account_ids: List of account IDs to filter bycategory_ids: List of category IDs to filter bylimit: Maximum number of transactions to returnget_categoriesList all transaction categories.
get_budgetsGet budget information and spending analysis.
get_goalsList financial goals and their progress.
get_cashflowGet cashflow data for income and expense analysis.
get_investmentsGet investment account details and performance.
get_net_worthGet net worth snapshots over time.
Use the get_accounts tool to see all my accounts and their current balances.
Get all transactions from January 2024 using get_transactions with start_date "2024-01-01" and end_date "2024-01-31".
Use the CLI: uv run python -m monarch.sync rule-candidates --months 6
Use the CLI: uv run python -m monarch.update resolve-review
Use the CLI: uv run python -m monarch.update bulk-categorize OpenAI "AI & Infra" --months 18 --exact --negative-only --yes
Use the CLI: uv run python -m monarch.sync dashboard
Use the CLI: uv run python -m monarch.maintain --dry-run
Use the CLI: uv run python -m monarch.maintain --refresh
Use the CLI: uv run python -m monarch.maintain --json
Use the CLI: uv run python -m monarch.scheduler install-launchd --hour 9 --minute 0
Use the CLI: uv run python -m monarch.scheduler status
Use the CLI: uv run python -m monarch.scheduler run-job --dry-run
Use the CLI: uv run python -m monarch.scheduler uninstall-launchd
Use the CLI: uv run python -m monarch.codex_audit run-agent
Use the CLI: uv run python -m monarch.codex_audit install-launchd --weekday 1 --hour 12 --minute 0
Use the CLI: uv run python -m monarch.codex_audit status
Use the CLI: uv run python -m monarch.codex_audit uninstall-launchd
Edit monarch-policies.json to encode merchant exceptions that should not become broad Monarch rules.
Example: a one-off merchant gift purchase can map to Gifts in the scheduler without creating a permanent in-app merchant rule.
Use the CLI: uv run python -m monarch.rules list
Use the CLI: uv run python -m monarch.rules preview --merchant "Target" --category Shopping
Use the CLI: uv run python -m monarch.rules update RULE_ID --category Shopping --dry-run
Use the CLI: uv run python -m monarch.categories list --group Business
Use the CLI: uv run python -m monarch.categories create --group Business --name "AI & Infra" --icon "🤖" --budget 250 --future
Show me my current budget status using the get_budgets tool.
The server automatically manages authentication sessions:
.mm directory for faster subsequent loginsMONARCH_FORCE_LOGIN=true in the env section to force a fresh login if neededMONARCH_FORCE_LOGIN=true in your .mcp.json env section.mcp.jsonMONARCH_ALLOW_INTERACTIVE_SERVER=1 uv run server.py
.mm directory to clear cached sessionsMONARCH_FORCE_LOGIN=true in your .mcp.json env section temporarily~/Library/Application Support/monarch-money-mcp/maintain/~/Library/Application Support/monarch-money-mcp/maintain/latest-summary.txt~/Library/Application Support/monarch-money-mcp/maintain/latest-summary.json~/Library/Application Support/monarch-money-mcp/maintain/latest-error.txt and latest-error.json~/Library/Logs/monarch-money-mcp/uv run python -m monarch.scheduler install-launchd --hour 9 --minute 0
~/Library/Application Support/monarch-money-mcp/codex-audit/automation/codex-audit-prompt.mdautomation/codex-audit-output.schema.jsonuv run python -m monarch.codex_audit install-launchd --weekday 1 --hour 12 --minute 0
status now reports an explicit health line so stale or failing automation is easier to spotThis MCP server wraps the monarchmoney Python library to provide seamless integration with AI assistants through the Model Context Protocol.
.mcp.json file.mm directory contain authentication tokens - keep them secure.mcp.json file since it contains sensitive credentialsRun in your terminal:
claude mcp add monarch-money-mcp-server -- npx