MCP(Multi-Context Processing) 데모는 Gemini API를 활용하여 컨텍스트 기반 쿼리 처리를 구현한 Spring Boot 애플리케이션입니다. 이 프로젝트는 데이터베이스에 저장된 프로젝트 정보를 컨텍스트로 활용하여 사용자 쿼리에 대한 응답을 생성합니다.
mcp-demo/
├── src/main/java/com/example/mcpdemo/
│ ├── config/
│ │ └── WebConfig.java
│ ├── controller/
│ │ ├── ApiController.java
│ │ └── MCPController.java
│ ├── model/
│ │ ├── MCPMessage.java
│ │ └── Project.java
│ ├── repository/
│ │ └── ProjectRepository.java
│ ├── service/
│ │ ├── MCPService.java
│ │ └── ProjectService.java
│ └── McpDemoApplication.java
└── svelt-frontend/
├── src/
│ ├── components/
│ │ ├── MCPDemo.svelte
│ │ ├── ProjectForm.svelte
│ │ └── ProjectList.svelte
│ ├── services/
│ │ ├── api.js
│ │ └── mcp.js
│ ├── App.svelte
│ └── main.js
├── index.html
└── package.json
POST /api/mcp/query
: 컨텍스트 기반 쿼리 처리GET /api/projects
: 모든 프로젝트 조회GET /api/projects/{id}
: 특정 프로젝트 조회POST /api/projects
: 새 프로젝트 생성PUT /api/projects/{id}
: 프로젝트 업데이트DELETE /api/projects/{id}
: 프로젝트 삭제애플리케이션을 실행하기 위해 다음 환경 변수를 설정해야 합니다:
gemini.api.key
: Gemini API 키gemini.api.url
: Gemini API 엔드포인트 URL./gradlew bootRun
cd svelt-frontend
npm install
npm run dev
MCP를 활용한 컨텍스트 제공 및 분석 기능 확장
MCP를 활용한 CRUD 제어 구현
이 프로젝트는 MIT 라이센스 하에 배포됩니다.
이 프로젝트는 MCP(Multi-Context Processing) 데모 애플리케이션의 프론트엔드 부분으로, Svelte와 Vite를 사용하여 개발되었습니다. Spring Boot 백엔드와 통신하여 프로젝트 관리 및 MCP 기반 쿼리 처리 기능을 제공합니다.
프로젝트 관리 (CRUD)
MCP 데모
svelt-frontend/
├── src/
│ ├── components/
│ │ ├── MCPDemo.svelte # MCP 쿼리 인터페이스
│ │ ├── ProjectForm.svelte # 프로젝트 생성/수정 폼
│ │ └── ProjectList.svelte # 프로젝트 목록 표시
│ ├── services/
│ │ ├── api.js # 프로젝트 CRUD API 호출
│ │ └── mcp.js # MCP 쿼리 API 호출
│ ├── App.svelte # 메인 애플리케이션 컴포넌트
│ ├── main.js # 애플리케이션 진입점
│ └── app.css # 전역 스타일
├── index.html # HTML 템플릿
├── package.json # 의존성 및 스크립트
└── vite.config.js # Vite 설정
# 의존성 설치
npm install
# 개발 서버 실행 (기본 포트: 5173)
npm run dev
# 프로덕션용 빌드
npm run build
# 빌드된 앱 미리보기
npm run preview
메인 애플리케이션 컴포넌트로, 탭 기반 인터페이스를 제공합니다:
프로젝트 목록을 표시하고 다음 기능을 제공합니다:
프로젝트 생성 및 수정 폼을 제공합니다:
MCP 쿼리 인터페이스를 제공합니다:
프로젝트 관련 CRUD API 호출을 처리합니다:
getAllProjects()
: 모든 프로젝트 조회getProjectById(id)
: 특정 프로젝트 조회createProject(project)
: 새 프로젝트 생성updateProject(id, project)
: 프로젝트 업데이트deleteProject(id)
: 프로젝트 삭제MCP 관련 API 호출을 처리합니다:
sendQueryToMCP(query)
: MCP 쿼리 전송 및 응답 수신