Skip to main content
Glama
juansebashr

Money Lover MCP Server

by juansebashr

Money Lover MCP 서버

비공식 Money Lover REST API를 래핑하는 Model Context Protocol (MCP) 서버의 Node.js 구현입니다. 이 서버는 인증, 지갑, 카테고리, 거래, 이벤트, 부채 및 정적 구성을 포함하는 27개의 MCP 도구를 제공하여 AI 어시스턴트나 MCP 호환 클라이언트가 개인 금융 데이터를 조회하고 관리할 수 있도록 합니다.

기능

  • EMAIL/PASSWORD 환경 변수를 통한 자동 인증 — 대부분의 도구에서 토큰을 전달할 필요가 없습니다.

  • 사용자 정보, 지갑, 카테고리, 거래, 이벤트, 부채, 아이콘, 제공자 및 정적 구성을 다루는 23개의 읽기 도구.

  • 4개의 쓰기 도구: 거래, 지갑, 카테고리 생성, 수정 및 삭제.

  • LLM 컨텍스트를 관리하기 쉽게 유지하기 위해 대규모 응답은 자동으로 잘립니다 (limit 매개변수를 통해 구성 가능).

  • Claude Code, Claude Desktop, Cursor 및 모든 MCP 호스트와 호환되는 Stdio 기반 서버.

  • ~/.moneylover-mcp/ 경로에 이메일별 토큰 캐싱 및 인증 오류 시 자동 새로 고침.

Related MCP server: YNAB Assistant

사전 요구 사항

  • Node.js 22 이상.

  • Money Lover 계정 자격 증명.

설치

npm install

사용법

Stdio를 통해 MCP 서버를 실행합니다:

npm start

프로젝트 범위 구성 (Claude Code)

프로젝트 루트에 .mcp.json을 추가합니다:

{
  "mcpServers": {
    "mcp-moneylover": {
      "command": "node",
      "args": ["/absolute/path/to/moneylover-mcp/src/server.js"],
      "env": {
        "EMAIL": "your@email.com",
        "PASSWORD": "your-password"
      }
    }
  }
}

그리고 .claude/settings.json에서 활성화합니다:

{ "enabledMcpjsonServers": ["mcp-moneylover"] }

전역 구성 (Claude Desktop / Cursor)

{
  "mcpServers": {
    "mcp-moneylover": {
      "command": "npx",
      "args": ["@ferdhika31/moneylover-mcp@latest"],
      "env": {
        "EMAIL": "your@email.com",
        "PASSWORD": "your-password"
      }
    }
  }
}

사용 가능한 도구

인증

도구

설명

인수

login

JWT 토큰을 가져옵니다.

email, password

사용자

도구

설명

인수

get_user_info

세션과 연결된 프로필.

get_user_account

기기 및 활성 세션.

get_user_profile

확장 프로필 데이터.

지갑

도구

설명

인수

get_wallets

모든 지갑 목록.

get_wallet_balance

지갑의 잔액 요약.

walletId

get_shared_wallets

다른 사용자와 공유된 지갑.

get_awaiting_shared_wallets

대기 중인 공유 초대.

add_wallet

새 지갑 생성.

name, currencyId; 선택 사항 icon

edit_wallet

지갑 이름, 아이콘 또는 통화 업데이트.

walletId, currencyId (API 필수); 선택 사항 name, icon

delete_wallet

지갑 영구 삭제.

walletId

카테고리

도구

설명

인수

get_categories

특정 지갑의 카테고리.

walletId

get_all_categories

모든 지갑의 전체 카테고리.

선택 사항 limit (기본값 50)

add_category

지갑에 카테고리 생성.

walletId, name, icon (유효한 이름은 get_icons 사용, 예: icon_3), type (1=수입, 2=지출)

edit_category

카테고리 이름 변경 또는 아이콘 변경.

categoryId, icon (이름만 변경할 때도 API 필수); 선택 사항 name

delete_category

카테고리 삭제.

categoryId

거래

도구

설명

인수

get_transactions

기간 내 거래.

walletId, startDate, endDate (YYYY-MM-DD)

add_transaction

거래 생성. get_categories의 카테고리 ID는 자동으로 전역 ID로 확인됩니다.

walletId, categoryId, amount, date; 선택 사항 note, with

edit_transaction

거래 업데이트. API는 모든 편집 시 전체 페이로드를 요구합니다. 현재 값이 필요하면 먼저 거래를 가져오세요. categoryId는 자동으로 전역 ID로 확인됩니다.

transactionId, walletId, categoryId, amount, date; 선택 사항 note, with

delete_transaction

거래 삭제.

transactionId

search_transactions

선택적 필터를 사용한 자유 형식 검색.

선택 사항 filters, limit (기본값 20)

get_debt_transactions

부채/대출로 표시된 거래.

get_related_transactions

ID 목록별 관련 거래.

ids (배열)

get_related_transactions_by_category

카테고리별 관련 거래.

categoryId

get_related_transactions_by_wallet

지갑별 관련 거래.

walletId

get_transaction_search_config

사용 가능한 검색 필터 옵션.

선택 사항 limit (기본값 20)

정적 및 구성

도구

설명

인수

get_events

지갑의 저축 목표/이벤트.

walletId; 선택 사항 limit (기본값 50)

get_debts

지갑의 미결 부채.

walletId

get_icons

아이콘 팩 메타데이터.

선택 사항 pack (기본값 "default")

get_linked_providers

지원되는 은행 제공자.

get_currencies

통화 카탈로그.

선택 사항 limit (기본값 100)

get_exchange_rates

USD 기반 환율 스냅샷.

get_other_config

기타 런타임 구성.

도구 사용 예시

모든 도구에 대한 프롬프트 예시, 필수 vs 선택 필드, 주의 사항 및 일반적인 다단계 패턴: docs/examples.md.

라이브러리 사용

import { MoneyloverClient } from './src/moneyloverClient.js';

const token = await MoneyloverClient.getToken(email, password);
const client = new MoneyloverClient(token);

const wallets = await client.getWallets();
const txns = await client.getTransactions(walletId, '2026-01-01', '2026-04-30');
await client.addTransaction({ walletId, categoryId, amount: '50000', date: '2026-04-18' });
await client.editTransaction('txn-id', { amount: '60000', note: 'updated' });
await client.deleteTransaction('txn-id');

테스트

단위 테스트

모의 단위 테스트 — 실시간 API 호출 불필요:

npm test

통합 테스트 (mcp-tester)

mcp-tester는 ReAct 에이전트 기반의 MCP 테스트 프레임워크입니다. 서버를 시작하고, 자연어 프롬프트에 응답하여 도구를 호출하도록 LLM을 구동하며, 올바른 인수로 올바른 도구가 호출되었는지 확인합니다.

설치

pipx install --index-url https://pypi.artifacts.furycloud.io/simple/ mcp-tester

구성

tests/mcp-tester/mcps.json — 자격 증명을 사용하여 로컬 서버를 가리킵니다:

{
  "mcp-moneylover": {
    "command": "node",
    "args": ["/absolute/path/to/src/server.js"],
    "transport": "stdio",
    "env": {
      "EMAIL": "your@email.com",
      "PASSWORD": "your-password"
    }
  }
}

실행

mcp-tester run-tests \
  --mcps tests/mcp-tester/mcps.json \
  --model gpt-4o-mini \
  --concurrent-runs 3 \
  tests/mcp-tester/read-tools.yaml

결과

tests/mcp-tester/read-tools.yaml에는 모든 읽기 도구를 다루는 25개의 통합 테스트가 포함되어 있습니다:

total 25, success 25, failures 0

테스트를 안정적으로 만드는 핵심 결정 사항:

  • 읽기 도구에 토큰 매개변수 없음 — 선택적 token 필드를 노출하면 LLM이 지갑 ID를 해당 필드에 주입하는 문제가 발생했습니다. 서버는 환경 변수를 통해 자동으로 인증합니다.

  • 응답 잘림 — 여러 엔드포인트가 공유 MoneyLover 데이터베이스에서 수십만 개의 레코드를 반환합니다. 도구는 LLM 컨텍스트를 제어하기 위해 limit 매개변수(기본값: 20–100)를 허용합니다.

  • Dict 래핑 — 모든 도구 응답은 JSON 객체를 반환하여(배열만 반환하지 않음) MCP 프레임워크 유효성 검사를 통과합니다.

쓰기 도구 테스트 (mcp-tester)

세 개의 추가 YAML 파일이 3단계 순차적 단계에 걸쳐 지갑, 카테고리 및 거래에 대한 전체 CRUD 수명 주기를 테스트합니다. 각 단계는 세 가지 리소스 유형을 모두 동시에 실행합니다.

파일

단계

테스트

write-create.yaml

생성

add_wallet, add_category, add_transaction

write-edit.yaml

편집

edit_wallet, edit_category, edit_transaction

write-delete.yaml

삭제

delete_wallet, delete_category, delete_transaction

단계를 순서대로 실행하세요. 각 단계는 이전 단계에 의존합니다:

# Phase 1: Create
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-create.yaml

# Phase 2: Edit (after Phase 1 passes)
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-edit.yaml

# Phase 3: Delete (after Phase 2 passes)
mcp-tester run-tests --mcps tests/mcp-tester/mcps.json --model gpt-4o-mini --concurrent-runs 3 tests/mcp-tester/write-delete.yaml

세 단계 모두에 대한 결과:

Phase 1 (Create): total 3, success 3, failures 0
Phase 2 (Edit):   total 3, success 3, failures 0
Phase 3 (Delete): total 3, success 3, failures 0

쓰기 도구 테스트를 위한 핵심 설계 결정:

  • 변이 전 탐색 — 편집 및 삭제 테스트는 에이전트에게 먼저 읽기 도구(get_wallets, get_categories, get_transactions)를 호출하여 이름으로 대상을 찾은 다음 변이 도구를 호출하도록 지시합니다. 이는 ID를 미리 알 수 없는 실제 에이전트 동작을 반영합니다.

  • 쓰기 도구 어설션을 위한 args: !any — 프레임워크는 정확한 인수 일치를 요구합니다. 쓰기 도구는 에이전트가 재량에 따라 포함할 수 있는 선택적 필드(icon, with 등)를 허용합니다. !any는 도구가 호출되었고 무해한 추가 항목으로 인해 실패하지 않고 성공했음을 확인합니다. 읽기 도구 어설션은 스키마에 LLM이 자발적으로 추가할 수 있는 선택적 필드가 없기 때문에 정확한 인수 일치를 사용할 수 있습니다.

  • 예측 가능한 식별자 — 테스트 리소스는 고정된 이름(MCP-Test-Wallet, MCP-Test-Category)과 고정된 메모(MCP test transaction)를 사용하여 에이전트가 테스트 실행 간에 상태를 공유할 필요 없이 편집 및 삭제 단계에서 이름을 찾을 수 있도록 합니다.

  • 전체 페이로드 편집 어설션edit_transaction은 전체 교체 작업입니다. 테스트 프롬프트는 에이전트에게 먼저 기존 거래를 가져오고(get_transactions) 현재 필드 값을 모두 유지하며 메모만 변경하도록 지시합니다. 이는 도구 설명에 필요한 다단계 추론을 검증합니다.

보안 참고 사항

  • 실제 자격 증명이나 토큰을 커밋하지 마십시오.

  • 캐시된 토큰은 현재 사용자로 제한된 ~/.moneylover-mcp/에 저장됩니다.

  • 모든 캐시된 세션을 취소하려면 해당 디렉토리를 삭제하십시오.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with the WYGIWYH expense tracking API through 75 dynamically generated MCP tools. Supports comprehensive financial operations including transaction management, account handling, recurring expenses, and investment tracking.
    7
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with YNAB budgets through natural language. Supports managing accounts, categories, transactions, and budget months with 21 tools for comprehensive budget operations.
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Money Lover personal finance app through unofficial REST API. Supports authentication, wallet management, transaction querying, and creating new transactions for expense tracking.
    6
    20
    4
    ISC
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage personal finances through the Realbyte Money Manager mobile app, providing transaction management, asset tracking, credit card monitoring, and financial analytics with 18 comprehensive tools.
    18
    17
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.

  • Connect AI agents to bank accounts, transactions, balances, and investments.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

View all MCP Connectors

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/juansebashr/moneylover-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server