robcerda/monarch-mcp-server
MCP Server for use with Monarch Money
Monarch Money MCP Server
개요 – Monarch Money 개인 금융 API와 통신하고 Model Context Protocol(MCP)을 통해 데이터를 노출하는 소형 Python 서버입니다. MCP는 Claude Desktop, Claude Code 등 Anthropic 기반 AI 에이전트가 외부 도구를 호출하는 방식입니다. 이 서버를 실행하면 AI가 Monarch 계정, 거래, 예산, 태그 등을 읽고 수정할 수 있습니다.
중요한 이유 – Claude를 개인 비서(예: Claude Desktop, Claude Code, Meta Muse)로 사용하고 은행/예산 데이터에 직접 프로그래밍 방식으로 접근하려는 경우, 이 서버가 다리 역할을 합니다. Monarch의 복잡한 MFA/로그인 흐름을 처리하고 AI가 호출할 수 있는 명확한 명령 세트를 제공합니다.
주요 기능(README에 명시)
- 계정 관리 – 계정, 보유 자산 나열, 새로 고침 트리거.
- 거래 CRUD – 가져오기, 생성, 업데이트, 삭제, 일괄 분류, 태그 지정, 검토됨 표시.
- 카테고리 및 태그 처리 – 카테고리, 그룹, 태그 나열 새 태그 생성.
- 검색 및 필터 – 날짜, 금액, 판매자, 태그 등으로 강력한 거래 검색.
- 정기 예측 및 동기화된 청구서 – 예정된 정기 결제 및 부채 청구서 세부 정보 보기.
- 규칙 엔진 – 자동 분류 규칙 목록/생성/업데이트/삭제.
- 다중 전송 옵션 – 기본 stdio 기반 도구로 실행하거나 Streamable-HTTP 엔드포인트(
/mcp)를 노출. - 컨테이너 지원 – Astral의
uv/Python 3.12 슬림 기반 Docker 이미지, 인증된 세션을 위한 영구 볼륨 포함. - 통합 노트 – Claude Desktop/Code, Meta Muse 및 MCP 호환 클라이언트와 함께 작동합니다.
빠른 시작(로컬)
- 클론 및 설치
git clone https://github.com/robcerda/monarch-mcp-server.git cd monarch-mcp-server uv sync --locked # 또는 pip install -r requirements-lock.txt && pip install -e . - Claude 클라이언트 구성 –
mcpServers항목을 추가하여uv run … monarch-mcp-server명령을 가리킵니다(경로는 macOS와 Windows에서 다릅니다. 정확한 JSON은 README 참조). - 한 번 인증
스크립트에서 다음을 수행할 수 있습니다:uv run python login_setup.py # 또는 python login_setup.py- 브라우저 세션 쿠키 붙여넣기(권장 – Cloudflare CAPTCHA 회피).
- 이메일/비밀번호 + MFA로 로그인.
- 레거시 토큰 사용(있는 경우). 생성된 세션 토큰은 OS 키링(또는 Docker 컨테이너 내 파일)에 저장됩니다.
- Claude 재시작 – AI가
get_accounts,get_transactions등의 명령이 포함된 새 "Monarch Money" 도구를 인식합니다.
컨테이너 배포
- 빌드:
docker build -t monarch-mcp-server . - 인증(한 번) 영구 볼륨 사용:
docker run --rm -it -v monarch-session:/home/app/.monarch-mcp-server \ monarch-mcp-server python login_setup.py - 서버 실행(HTTP 모드, 기본 읽기 전용):
클라이언트는docker run -d --name monarch-mcp \ -p 127.0.0.1:8000:8000 \ -v monarch-session:/home/app/.monarch-mcp-server \ monarch-mcp-serverhttp://127.0.0.1:8000/mcp에 연결합니다. - 쓰기 활성화(노출 시 위험):
-e MONARCH_MCP_READ_ONLY=0추가. - 보안 팁 – 세션 볼륨에는 Linux 컨테이너에 암호화되지 않은 Monarch 토큰이 저장됩니다. 볼륨을 비밀로 취급하고 사용 후 삭제하세요.
보안 및 운영 참고 사항
- 단일 계정 서버 – 연결된 모든 클라이언트가 동일한 Monarch 세션을 공유합니다. 인증된 리버스 프록시 뒤에 두지 않는 한 HTTP 엔드포인트를 공개적으로 노출하지 마십시오.
- 호스트/출처 검사 –
MONARCH_MCP_ALLOWED_HOSTS를 통해 특정Host헤더로 서버를 제한하여 DNS 리바인딩 공격을 완화할 수 있습니다. - 기본 읽기 전용 – Docker 이미지는 읽기 전용 모드로 실행됩니다. 변경 명령(로그인/로그아웃 포함)은
MONARCH_MCP_READ_ONLY=0일 때만 등록됩니다. - 자격 증명 저장 – 로컬 설치에서는 세션이 OS 키링에 저장됩니다. Docker에서는 일반 파일로 대체(Windows에서만 DPAPI로 암호화). 볼륨을 비공개로 유지하세요.
- MFA 처리 – 로그인 스크립트는 TOTP 코드를 지원하며 Monarch가 요청하면 확인 코드를 묻습니다.
대상 사용자
- Claude의 파워 유저 – AI 비서가 예산을 관리하고 지출을 분류하거나 요청 시 거래 데이터를 가져오길 원하는 분.
- 맞춤형 AI 에이전트를 개발하는 개발자 – 개인 금융 데이터를 위한 안정적인 MCP 호환 엔드포인트가 필요한 분.
- 명령줄/Docker 작업에 어느 정도 익숙하고 위에서 설명한 보안 모델을 신뢰하는 분 – 모든 사용자.
요약 – Monarch Money MCP Server는 표준 프로토콜을 통해 Claude 기반 AI 에이전트가 Monarch 금융 데이터와 상호 작용할 수 있도록 하는 특수 목적의 브리지로, 로컬 및 컨테이너화된 배포 옵션과 인증 및 보안에 대한 명확한 지침을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트