Weaviate MCP 서버
Weaviate
Weaviate MCP 서버는 오픈소스 벡터 검색 엔진인 Weaviate와 통합되어 LLM(대규모 언어 모델)이 벡터 검색 및 구조화된 데이터 기능에 접근할 수 있도록 해주는 도구입니다. 이 서버는 시맨틱 검색, 하이브리드 검색 및 자연어 쿼리 기능을 제공합니다.
특징
- 벡터 기반 검색 및 필터링
- 구조화된 데이터와 비구조화된 데이터 모두 지원
- 스키마 기반의 데이터 모델링
- GraphQL 쿼리 인터페이스
- 하이브리드 검색(벡터 + 키워드)
- RESTful API 및 클라이언트 라이브러리 통합
API
리소스
weaviate://schema- Weaviate 스키마 정보weaviate://classes- 정의된 클래스 목록weaviate://classes/{class_name}- 특정 클래스의 스키마 정보weaviate://classes/{class_name}/objects- 특정 클래스의 객체 목록
도구
검색 도구
vector_search
벡터 검색을 수행하여 유사한 객체를 검색합니다.
- 입력:
- class_name: 검색할 클래스 이름
- vector: 검색 벡터 또는 검색할 텍스트
- limit: 반환할 결과 수 (기본값: 10)
- distance: 최소 유사도 거리 (선택 사항)
- fields: 반환할 필드 목록 (선택 사항)
hybrid_search
벡터 검색과 키워드 검색을 결합한 하이브리드 검색을 수행합니다.
- 입력:
- class_name: 검색할 클래스 이름
- query: 검색 쿼리 텍스트
- alpha: 벡터 검색과 키워드 검색의 가중치 비율 (0-1, 기본값: 0.5)
- limit: 반환할 결과 수 (기본값: 10)
- fields: 반환할 필드 목록 (선택 사항)
graphql_query
GraphQL 쿼리를 실행합니다.
- 입력:
- query: 실행할 GraphQL 쿼리
- variables: 쿼리 변수 (선택 사항)
데이터 관리 도구
create_object
새 객체를 생성합니다.
- 입력:
- class_name: 객체가 속할 클래스 이름
- properties: 객체 속성
- vector: 객체 벡터 (선택 사항, 자동 생성 가능)
update_object
기존 객체를 업데이트합니다.
- 입력:
- id: 업데이트할 객체 ID
- class_name: 객체가 속한 클래스 이름
- properties: 업데이트할 속성
- vector: 업데이트할 벡터 (선택 사항)
delete_object
객체를 삭제합니다.
- 입력:
- id: 삭제할 객체 ID
- class_name: 객체가 속한 클래스 이름
스키마 관리 도구
create_class
새 클래스를 생성합니다.
- 입력:
- class_name: 생성할 클래스 이름
- description: 클래스 설명 (선택 사항)
- properties: 클래스 속성 정의
- vectorizer: 벡터화 설정 (기본값: "none")
delete_class
클래스를 삭제합니다.
- 입력:
- class_name: 삭제할 클래스 이름
사용 방법
설치
# NPM 패키지 설치
npm install weaviate-mcp-server
# 또는 npx로 직접 실행
npx weaviate-mcp-server
구성
Claude Desktop에서 Weaviate MCP 서버를 사용하려면 다음과 같이 구성 파일을 설정합니다:
{
"mcpServers": {
"weaviate": {
"command": "npx",
"args": ["weaviate-mcp-server"],
"env": {
"WEAVIATE_ENDPOINT": "https://your-weaviate-instance.com",
"WEAVIATE_API_KEY": "<Your Weaviate API Key>" // 필요한 경우
}
}
}
}
사용 예시
다음은 Weaviate MCP 서버를 사용하여 하이브리드 검색을 수행하는 예시입니다:
-
하이브리드 검색 실행:
클라이언트: "Weaviate를 사용하여 '기후 변화 해결책'에 관련된 문서를 찾아줘." -
Claude는 Weaviate MCP 서버의
hybrid_search도구를 사용하여 쿼리 실행:검색 결과: 1. "재생 에너지를 통한 기후 변화 대응" (유사도: 0.92) 2. "탄소 중립을 위한 정책 및 기술" (유사도: 0.87) 3. "지속 가능한 농업과 기후 변화" (유사도: 0.81) ...
연결된 구성 요소
- Pinecone - 또 다른 벡터 데이터베이스 MCP 서버
- Chroma - 벡터 데이터베이스 기능을 제공하는 오픈소스 MCP 서버
- Qdrant - 벡터 검색 엔진 기반 시맨틱 메모리 레이어
- LlamaIndex - 벡터 인덱스 및 데이터 로딩 MCP 서버