Skip to main content
Glama
srushtikochare

mcp-finance-assistant

💰 개인 재무 어시스턴트 — MCP + Gemini

일상적인 영어로 지출에 대해 질문할 수 있는 AI 기반 금융 어시스턴트입니다. 대화만 할 수 있는 스크립트형 챗봇이 아니라, **Model Context Protocol(MCP)**을 사용하여 Google의 Gemini를 실제 도구(SQL 데이터베이스, 예측 모델, 이상 감지)에 연결하도록 구축되었습니다.

🔗 라이브 데모: mcp-finance-assistant-z6xg3k6xparsajcsvftrr.streamlit.app


하고 하는 일

다음과 같은 질문을 해보세요:

  • "이번 달에 식비로 얼마나 썼지?"

  • "8월과 7월의 지출을 비교해 줘"

  • "공항까지 우버 비용 250을 지출로 추가해 줘" — 카테고리를 스스로 추론합니다

  • "다음 달 식비로 얼만큼을 쓰게 될지?" — 추측이 아닌 실제 ML 예측입니다

또한 질문을 하지 않아도 페이지가 로딩되는 순간 비정상적인 지출을 별도의 요청 없이 자동으로 알려줍니다.

Related MCP server: Expense Tracker MCP Server

왜 MCP인가

대부분의 AI 금융 트래커 데모는 챗봇 응답을 하드코딩하거나 정적 데이터에 LLM을 단순히 붙여 놓습니다. 프로젝트는 이와 달리 실제 MCP 서버를 구축합니다. MCP는 AI 모델이 실제 도구를 탐색하고 호출하는 표준화된 방식(Anthropic이 공개한 방식)입니다. Gemini는 사용 가능한 도구를 읽고, 필요한 도구가 무엇인지 결정한 뒤, MCP 프로토콜을 통해 도구를 호출하고 실제 결과를 바탕으로 추론합니다. 그 결과는 장난 시뮬레이션이 아니라, 실제 AI 에이전트 시스템에서 쓰는 패턴입니다.

아키텍처

User question → Streamlit UI → Gemini (decides which tool to call)
                                      ↓
                          MCP Server (server.py)
                                      ↓
                          SQLite Database (real transaction data)
                                      ↓
                     Tool result → back to Gemini → plain-English answer

카테고리가 붙지 않은 지출 추가 같은 다단계 요청에는 Gemini가 여러 번 도구 호출을 엮습니다 먼저 기존 카테고리를 가져온 다음, 그것을 바탕으로 맞는 카테고리를 유추하고, 그다음에 지출을 추가하는 식입니다. 질문 하나당 최대 3단계까지 이어집니다.

주요 기능

  • MCP 도구 7종: 합계 조회, 월별 비교, 최근 지출 내역, 지출 추가, 카테고리 검색, 지출 예측, 이상 감지

  • 규칙이 아닌 실지 ML: forecast_next_month는 과거 추세를 바탕으로 scikit-learn의 LinearRegression을 사용하고, detect_anomaly는 하드코딩된 임계값이 아닌 지도 학습 IsolationForest 모델을 사용합니다

  • LLM이 추론하는 카테고리: 지출을 대화체로 강요해 주면 Gemini가 도구 호출을 이어 가며 어울리는 카테고리를 몰래 지정합니다

  • 능동 저인 사이트: 질문이 불필요한 페이지 로딩 즉시 자동으로 이상 거래를 검사합니다

  • 대화 컨텍스트: 후속 질문이 이전에 나온 대화 맥락을 이해합니다

  • 실제 데이터: 공개 Kaggle 개인 지출 데이터셋에서 삽입해 정리한 231건과, 그 이상 합쳐 240여 건의 진짜 거래 기록이 있어요

  • 프로덕션 실천: 모든 도구에 오류 처리와 입력 검증이 모두 적용되어 있으며, 구조적 로깅(app.log)과 함께 알려진 데이터와의 계산 일치를 검증하는 8개 테스트 pytest 세트가 있습니다

기술 스택

Python · MCP SDK · Google Gemini (google-genai) · SQLite · scikit-learn · Streamlit · pytest

로컬 실행

git clone https://github.com/srushtikochare/mcp-finance-assistant
cd mcp-finance-assistant
pip install -r requirements.txt

.env 파일을 생성합니다:

GOOGLE_API_KEY=your_api_key_here

그 다음 다음을 실행합니다:

streamlit run app.py

테스트 실행

pytest test_server.py -v

합계 정확성, 오류 처리, ML 도구 동작을 검증하는 테스트 8개가 모두 통과합니다.

실제로 마닥친 도전 과제

MCP Python SDK의 구조는 대부분의 기존 문서가 작성된 이후에 바뀌었습니다. 제가 예상했던 FastMCP 클래스는 설치된 버전에 존재하지 않았습니다. 그래서 추측하기보다 가설 없이 실제 설치된 패키지의 내용을 직접 살펴보았습니다(dir(mcp.server) 참고). 그런 다음 현재 올바른 클래스(MCPServer)와 API 표면을 찾아냈습니다. 문서가 불완전한 가해 계속 진화하는 라이브러리를 디버깅한 일은 안정되고 친절한 튜토리얼 라이브러리를 배운 보다 훨씬 소중한 경험이었습니다.

다음 단계 가능한 개선

  • 사용자별 로그인을 지원하는 다중 사용자 체계

  • 영수증명 간편 처리 OCR 업로드로 지출 자동 등록

  • 외부 API 봉이 날 때 재시도 백오프 방식

작성자

Srushti Kochare — B.Tech 기공지능 및 데이터 과학, YCCE Nagpur

F
license - not found
Not graded
quality - not tested
B
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
    C
    maintenance
    Enables users to track expenses by adding, listing, and summarizing them with category support through natural language.
  • A
    license
    A
    quality
    B
    maintenance
    Enables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.
    36
    592
    11
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.

View all related MCP servers

Related MCP Connectors

  • Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.

  • Capture receipts, scan Gmail, analyze spending, and create reviewed reports from AI assistants.

  • Ask your AI about bank accounts, spending, debts, holdings, and investment activity.

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/srushtikochare/mcp-finance-assistant'

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