Skip to main content
Glama

FSS Pension MCP Server

by ddoriboo
PROJECT_OVERVIEW.md10.1 kB
# FSS AI 연금 상담 서비스 프로젝트 개요 ## 📋 목차 1. [프로젝트 소개](#프로젝트-소개) 2. [파일 구조](#파일-구조) 3. [서비스 아키텍처](#서비스-아키텍처) 4. [주요 기능](#주요-기능) 5. [기술 스택](#기술-스택) 6. [API 및 환경변수](#api-및-환경변수) 7. [작동 방식](#작동-방식) 8. [배포 정보](#배포-정보) 9. [개선 이력](#개선-이력) 10. [향후 개선 방향](#향후-개선-방향) --- ## 🎯 프로젝트 소개 FSS AI 연금 상담 서비스는 금융감독원(FSS)의 연금 데이터와 OpenAI GPT-4를 결합하여 사용자에게 맞춤형 연금 상담을 제공하는 웹 애플리케이션입니다. ### 핵심 가치 - **데이터 기반**: 실시간 FSS 연금 데이터 활용 - **AI 상담**: GPT-4 기반 지능형 연금 컨설팅 - **사용자 중심**: 중장년층 친화적 UI/UX - **접근성**: 키보드 입력 최소화, 버튼 클릭 중심 인터페이스 --- ## 📁 파일 구조 ``` fss_pension_mcp_server/ ├── fss_pension_web/ # 웹 애플리케이션 디렉토리 │ ├── simple_app.py # FastAPI 메인 애플리케이션 │ ├── core/ # 핵심 비즈니스 로직 │ │ ├── __init__.py │ │ ├── fss_client.py # FSS API 클라이언트 │ │ └── ai_consultant.py # AI 연금 컨설턴트 │ ├── static/ # 정적 파일 │ │ ├── css/ │ │ │ └── dashboard.css │ │ └── js/ │ │ └── dashboard.js │ ├── templates/ # HTML 템플릿 │ │ ├── main.html # AI 상담 메인 페이지 │ │ ├── dashboard.html # 연금 데이터 대시보드 │ │ └── index.html # (구) 통합 페이지 │ ├── requirements.txt # Python 의존성 │ ├── Procfile # Railway 배포 설정 │ ├── runtime.txt # Python 버전 지정 │ └── setup.py # 패키지 설정 ├── fss_pension_mcp_server/ # (원본) MCP 서버 디렉토리 │ └── fss_pension_server.py # MCP 서버 구현 └── PROJECT_OVERVIEW.md # 프로젝트 문서 (현재 파일) ``` --- ## 🏗️ 서비스 아키텍처 ### 전체 구조 ``` ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ 클라이언트 │────▶│ FastAPI 서버 │────▶│ 외부 API들 │ │ (웹 브라우저) │◀────│ (Railway 호스팅) │◀────│ - FSS OpenAPI │ └─────────────────┘ └──────────────────┘ │ - OpenAI API │ └─────────────────┘ ``` ### 주요 컴포넌트 1. **FastAPI 애플리케이션** (`simple_app.py`) - 웹 라우팅 및 API 엔드포인트 관리 - 환경변수 관리 및 검증 - Lazy initialization 패턴 적용 2. **FSS 클라이언트** (`core/fss_client.py`) - FSS 통합연금포털 API 통신 - 연금 상품 데이터 조회 및 분석 - 비동기 처리로 성능 최적화 3. **AI 컨설턴트** (`core/ai_consultant.py`) - OpenAI GPT-4 통합 - RAG (Retrieval-Augmented Generation) 방식 - 대화 히스토리 관리 - 개인화된 연금 추천 로직 4. **프론트엔드** - **main.html**: AI 상담 중심 인터페이스 - **dashboard.html**: 데이터 시각화 대시보드 - 반응형 디자인 및 접근성 고려 --- ## 🚀 주요 기능 ### 1. AI 연금 상담 - **진단 프로세스**: 사용자 정보 입력 → AI 분석 → 맞춤형 상담 - **대화형 인터페이스**: 자연어 질의응답 - **컨텍스트 유지**: 대화 히스토리 기반 연속 상담 - **후속 질문 자동 생성**: AI 응답 기반 관련 질문 제안 ### 2. 연금 데이터 분석 - **실시간 데이터**: FSS API를 통한 최신 연금 상품 정보 - **수수료 분석**: 최저 수수료 상품 추천 - **회사별 순위**: 운용사별 통계 및 비교 - **시장 요약**: 전체 연금 시장 현황 파악 ### 3. 사용자 경험 (UX) - **카테고리 기반 질문**: 6개 주제별 구조화된 질문 - **원클릭 상호작용**: 드롭다운과 버튼으로 입력 최소화 - **마크다운 렌더링**: 표, 리스트, 헤딩 등 완벽 지원 - **접근성**: 큰 버튼, 명확한 아이콘, 다크모드 지원 ### 4. 개인화 기능 - **프로필 기반 추천**: 나이, 소득, 투자성향 고려 - **은퇴 시나리오 분석**: 목표 생활비 기반 계산 - **맞춤형 조언**: 개인 상황에 따른 전략 제시 --- ## 🛠️ 기술 스택 ### Backend - **Framework**: FastAPI (Python 3.11) - **Async**: asyncio, httpx - **AI Integration**: OpenAI Python SDK - **Data Processing**: pandas, json ### Frontend - **Template Engine**: Jinja2 - **CSS Framework**: Bootstrap 5 - **JavaScript**: Vanilla JS (ES6+) - **Icons**: Font Awesome ### Infrastructure - **Hosting**: Railway - **Version Control**: GitHub - **Environment**: Docker (Railway Nixpacks) --- ## 🔑 API 및 환경변수 ### 필수 환경변수 ```bash FSS_SERVICE_KEY=49d25d57b112aa90ad14183172a3c668 # FSS OpenAPI 키 OPENAI_API_KEY=sk-proj-... # OpenAI API 키 PORT=8000 # 서버 포트 (Railway 자동 설정) ``` ### FSS API 엔드포인트 - Base URL: `https://www.fss.or.kr/openapi/api` - 주요 API: - `/getPensionSavingProductList.json` - 연금저축 상품 목록 - `/getCompanyRetirePensionList.json` - 퇴직연금 상품 목록 ### 내부 API 엔드포인트 - `GET /` - AI 상담 메인 페이지 - `GET /dashboard` - 데이터 대시보드 - `POST /api/ai-chat-with-profile` - AI 채팅 (프로필 포함) - `GET /api/market-summary` - 시장 요약 - `GET /api/low-fee-products` - 저수수료 상품 - `GET /api/company-ranking` - 회사별 순위 --- ## ⚙️ 작동 방식 ### 1. 사용자 플로우 ``` 1. 메인 페이지 접속 ↓ 2. 연금 진단 정보 입력 - 나이, 월소득, 투자성향, 목표 은퇴나이 ↓ 3. AI 진단 시작 - 사용자 프로필 분석 - 맞춤형 초기 분석 제공 ↓ 4. 대화형 상담 - 카테고리 선택 또는 직접 질문 - AI 응답 및 후속 질문 제안 ↓ 5. 상세 데이터 확인 (선택) - 대시보드에서 연금 상품 비교 ``` ### 2. 데이터 처리 흐름 ```python # FSS 데이터 조회 fss_client.get_pension_products() → API 호출 → 데이터 정규화 → 캐싱 (선택) # AI 상담 프로세스 ai_consultant.chat(user_id, message, profile) → 컨텍스트 구성 (프로필 + FSS 데이터) → OpenAI API 호출 → 응답 포맷팅 → 후속 질문 생성 ``` ### 3. 실시간 데이터 통합 - FSS API에서 실시간으로 연금 상품 정보 조회 - AI가 최신 데이터를 바탕으로 답변 생성 - 데이터와 AI 조언의 시너지 효과 --- ## 🚢 배포 정보 ### Railway 배포 - **Repository**: https://github.com/ddoriboo/pension-mcp.git - **자동 배포**: main 브랜치 push 시 자동 배포 - **환경 설정**: Railway 대시보드에서 환경변수 관리 ### 배포 프로세스 ```bash # 1. 코드 변경 git add . git commit -m "Update features" git push origin main # 2. Railway 자동 빌드 및 배포 # 3. 서비스 재시작 및 헬스체크 ``` --- ## 📈 개선 이력 ### v1.0 - 초기 MCP 서버 - FSS API 연동 기본 구조 - 명령줄 기반 데이터 조회 ### v2.0 - 웹 애플리케이션 전환 - FastAPI 기반 웹 서비스 구축 - 기본 대시보드 UI 구현 - Railway 배포 설정 ### v3.0 - AI 통합 - OpenAI GPT-4 통합 - 대화형 상담 기능 추가 - 개인화 추천 시스템 ### v4.0 - UI/UX 개선 - AI 중심 서비스로 재구성 - 중장년층 친화적 인터페이스 - 마크다운 렌더링 개선 - 카테고리 기반 질문 시스템 --- ## 🔮 향후 개선 방향 ### 단기 목표 (1-3개월) 1. **데이터 캐싱 시스템** - Redis 통합으로 API 호출 최적화 - 데이터 갱신 주기 관리 2. **사용자 인증 시스템** - 회원가입/로그인 기능 - 상담 히스토리 저장 - 개인화된 대시보드 3. **고급 분석 기능** - 포트폴리오 시뮬레이션 - 세금 계산기 통합 - 동종업계 비교 분석 ### 중기 목표 (3-6개월) 1. **멀티모달 AI 지원** - 음성 입력/출력 기능 - 문서 업로드 분석 - 차트/그래프 해석 2. **연금 상품 비교 엔진** - 실시간 수익률 추적 - 리스크 평가 모델 - 최적화 알고리즘 3. **모바일 앱 개발** - PWA 또는 네이티브 앱 - 푸시 알림 기능 - 오프라인 모드 지원 ### 장기 목표 (6개월+) 1. **AI 모델 고도화** - Fine-tuning으로 연금 전문성 강화 - 다국어 지원 - 감정 분석 기반 상담 2. **생태계 확장** - 금융기관 API 연동 - 실제 가입 프로세스 통합 - 파트너사 협업 3. **데이터 인텔리전스** - 빅데이터 분석 플랫폼 - 예측 모델링 - 개인화 추천 고도화 --- ## 🤝 기여 방법 1. 이슈 등록: GitHub Issues에 버그나 제안사항 등록 2. 브랜치 생성: `feature/기능명` 형식으로 브랜치 생성 3. 개발 및 테스트: 로컬 환경에서 충분한 테스트 4. PR 제출: main 브랜치로 Pull Request 제출 --- ## 📞 연락처 - GitHub: https://github.com/ddoriboo/pension-mcp - 이슈 트래커: https://github.com/ddoriboo/pension-mcp/issues --- *이 문서는 프로젝트의 현재 상태를 반영하며, 지속적으로 업데이트됩니다.* *최종 업데이트: 2024년 1월*

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/ddoriboo/pension-mcp'

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