Skip to content

Releases: jamiew/monarch-mcp

v0.3.2 — uvx fix

29 May 03:36

Choose a tag to compare

Fixes the broken uvx monarch-mcp-jamiew install (async entry point was never awaited) and rewrites the install docs to be uvx-first across Claude Desktop, Claude Code, and Codex.

v0.3.1

02 Mar 17:03

Choose a tag to compare

Packaging and publishing setup.

  • MIT LICENSE
  • PyPI package: monarch-mcp-jamiew (hatchling build, ~24KB wheel)
  • MCP Registry manifest (server.json, 2025-12-11 schema)
  • GitHub Actions workflow for auto-publish to PyPI on release
  • Renamed package from monarch-money-mcp to monarch-mcp-jamiew
  • Fixed repo URLs to match jamiew/monarch-mcp
  • Local CI script: uv run python scripts/ci.py
  • All deps bumped to latest

v0.3.0

02 Mar 16:00

Choose a tag to compare

a large rewrite of the MCP server with new tooling, testing, and observability.

Highlights

  • MCP tool annotations — all 19 tools now declare read/write intent (READONLY, WRITE_IDEMPOTENT, WRITE_CREATE, etc.)
  • MCP resources & prompts — 3 resources (categories, accounts, institutions) and 4 guided prompts (spending analysis, budget review, financial health check, transaction categorization)
  • Log analyzer & session evaluatorscripts/analyze_logs.py and scripts/eval_session.py for measuring token usage and identifying optimization opportunities
  • Token-optimized responses — compact categories (just id+name), lean bulk update responses, smarter compact transaction format
  • Local CI scriptuv run python scripts/ci.py runs the same checks as GitHub Actions

Server changes

  • Consolidated logging — removed redundant analytics tracking, simplified to structlog
  • Deleted ~200 lines of dead code (unused Pydantic models, duplicate helpers)
  • Bulk transaction updates return compact {transaction_id, status} instead of echoing full objects
  • get_transaction_categories returns compact {id, name} pairs by default (verbose=True for full)
  • Compact transactions now include categoryId, only include pending/notes when present

Testing & CI

  • 151 tests across 13 test files (up from ~70)
  • GitHub Actions CI on Python 3.10–3.13 (ruff, mypy, pytest)
  • Ruff linting and formatting enforced
  • Code review workflow with sticky comments

Dependencies

  • mcp 1.18 → 1.26
  • monarchmoneycommunity 1.2 → 1.3
  • pytest 8 → 9
  • starlette 0.48 → 0.52, typer 0.19 → 0.24, uvicorn 0.38 → 0.41
  • All deps bumped to latest

Docs

  • README rewritten — cleaner structure, proper fork attribution to @colvint and @hammem
  • PII policy added to CLAUDE.md — no real financial data in code or docs
  • All examples use anonymized data

v0.2.0

01 Feb 15:09
ede14fc

Choose a tag to compare

What's New

Critical Fix: API Endpoint Update

Monarch Money changed their API endpoint from api.monarchmoney.com to api.monarch.com, breaking the official monarchmoney library. This release switches to the community-maintained fork monarchmoneycommunity which has the fix.

New Features

  • Integration tests - Real API connectivity tests that auto-skip when credentials aren't available
  • Health check script - Quick way to verify API connectivity: uv run scripts/health_check.py
  • Improved documentation - .env setup guide and development workflow docs

Changes

  • Switch from monarchmoney to monarchmoneycommunity (git dependency)
  • Upgrade to gql 4.0 (required by community fork)
  • Add tests/test_integration.py with pytest-based health checks
  • Add scripts/health_check.py for standalone connectivity testing
  • Update README with environment variable documentation

Testing

# Quick health check
uv run scripts/health_check.py

# Run integration tests (requires .env with credentials)
uv run pytest tests/test_integration.py -v

Full Changelog: https://github.com/jamiew/monarch-money-mcp/commits/v0.2.0