MCP YNAB 서버
모델 컨텍스트 프로토콜을 통해 YNAB(You Need A Budget) 기능에 대한 액세스를 제공하는 MCP 서버 구현입니다.
특징
- 계좌 잔액 및 거래 내역 보기
- 새로운 거래 생성
- 표준화된 MCP 리소스를 통해 YNAB 데이터에 액세스하세요
설치
지엑스피1
구성
서버가 작동하려면 YNAB API 키가 필요합니다. YNAB 개발자 설정 에서 키를 받으실 수 있습니다.
API 키는 다음을 통해 제공될 수 있습니다.
- 환경 변수:
YNAB_API_KEY=your_api_key
- MCP 비밀 관리 시스템
- 프로젝트 루트의
.env
파일
용법
서버 실행
# Development mode with hot reload and browser launch
task dev
# Production install for Claude Desktop, Goose, or any other MCP-supported environment
task install
사용 가능한 리소스
ynab://accounts
- 모든 YNAB 계정 나열ynab://transactions/{account_id}
- 특정 계좌의 최근 거래 내역을 가져옵니다.
사용 가능한 도구
create_transaction
- 새로운 거래 생성get_account_balance
- 계정의 현재 잔액을 가져옵니다
사용 예
# Create a new transaction
result = await create_transaction(
account_id="your_account_id",
amount=42.50, # in dollars
payee_name="Coffee Shop",
category_name="Dining Out",
memo="Morning coffee"
)
# Get account balance
balance = await get_account_balance("your_account_id")
# List accounts
accounts = await ctx.read_resource("ynab://accounts")
# Get recent transactions
transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")
개발
# Install dependencies (uses uv)
task deps
# Run all tests including integration tests (you will need a YNAB API key for this)
task test:all
# Generate coverage report
task coverage
# Format and lint code
task fmt # Should add this to Taskfile
프로젝트 작업
이 프로젝트에서는 일반적인 작업에 Taskfile을 사용합니다. 주요 명령:
task dev # Start dev server with auto-reload
task test # Run unit tests
task coverage # Generate test coverage report
task install # Install production build
task deps # Synchronize dependencies
사용 가능한 모든 작업은 Taskfile.yml에서 확인하세요.