MCP 문서 관리

메뉴

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 서버를 사용하여 하이브리드 검색을 수행하는 예시입니다:

  1. 하이브리드 검색 실행:

    클라이언트: "Weaviate를 사용하여 '기후 변화 해결책'에 관련된 문서를 찾아줘."

  2. Claude는 Weaviate MCP 서버의 hybrid_search 도구를 사용하여 쿼리 실행:

    검색 결과:
    1. "재생 에너지를 통한 기후 변화 대응" (유사도: 0.92)
    2. "탄소 중립을 위한 정책 및 기술" (유사도: 0.87)
    3. "지속 가능한 농업과 기후 변화" (유사도: 0.81)
    ...

연결된 구성 요소

  • Pinecone - 또 다른 벡터 데이터베이스 MCP 서버
  • Chroma - 벡터 데이터베이스 기능을 제공하는 오픈소스 MCP 서버
  • Qdrant - 벡터 검색 엔진 기반 시맨틱 메모리 레이어
  • LlamaIndex - 벡터 인덱스 및 데이터 로딩 MCP 서버