MCP Server with Qdrant
by ChangJunPark
This project integrates the Qdrant vector database with an MCP (Model Control Protocol) server to store and retrieve code snippets. It enables natural language-based code search and semantic retrieval of related code.
View on GitHub
Last updated: N/A
MCP Server with Qdrant
이 프로젝트는 Qdrant 벡터 데이터베이스와 MCP(Model Control Protocol) 서버를 통합하여 코드 스니펫을 저장하고 검색할 수 있는 시스템입니다.
기능
- 코드 스니펫 저장 및 관리
- 자연어 기반 코드 검색
- 시맨틱 검색을 통한 관련 코드 조회
- SSE(Server-Sent Events) 전송 방식 지원
시스템 구성
- Qdrant: 벡터 데이터베이스 서버 (포트: 6333, 6334)
- MCP Server: 코드 스니펫 관리 서버 (포트: 8000)
- 임베딩 모델: (default)sentence-transformers/all-MiniLM-L6-v2
MCP Tools
QDRANT MCP 서버는 다음과 같은 도구들을 제공합니다:
1. qdrant-store
- 기능: Qdrant 데이터베이스에 정보를 저장
- 입력:
information
(string): 저장할 정보metadata
(JSON): 선택적 메타데이터
- 반환: 저장 확인 메시지
2. qdrant-find
- 기능: Qdrant 데이터베이스에서 관련 정보를 검색
- 입력:
query
(string): 검색에 사용할 쿼리
- 반환: Qdrant 데이터베이스에 저장된 정보를 개별 메시지로 반환
시작하기
필수 조건
- Docker
- Docker Compose
설치 및 실행
1. 저장소 클론
git clone <repository-url>
cd <repository-name>
2. 서비스 시작
docker-compose up -d
3. 서비스 상태 확인
docker-compose ps
서비스 접근
- Qdrant UI: http://localhost:6333/dashboard
- MCP Server: http://localhost:8000
- cursor 등 ai ide 에 설정 시, 아래 json 형식으로 추가 가능
"qdrant": {
"url": "http://localhost:8000/sse"
},
환경 변수
Qdrant
RUST_LOG
: 로깅 레벨 (기본값: info)
MCP Server
QDRANT_URL
: Qdrant 서버 주소COLLECTION_NAME
: 컬렉션 이름EMBEDDING_MODEL
: 임베딩 모델TOOL_STORE_DESCRIPTION
: 저장 도구 설명TOOL_FIND_DESCRIPTION
: 검색 도구 설명
데이터 저장
데이터는 ./qdrant_storage
디렉토리에 영구적으로 저장됩니다.
서비스 관리
로그 확인
docker-compose logs -f
서비스 중지
docker-compose down
주의사항
- 데이터 백업을 위해
qdrant_storage
디렉토리를 주기적으로 백업하세요. - 프로덕션 환경에서는 적절한 보안 설정을 추가하세요.