Home
Login
chroma-core/chroma-mcp

Chroma에 데이터베이스 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현체로, 벡터 검색, 전체 텍스트 검색, 메타데이터 필터링 등 AI 데이터 검색 기능을 지원합니다.

Apache-2.0Python 188chroma-core Last Updated: 2025-06-11
https://github.com/chroma-core/chroma-mcp

Chroma MCP - 모델 컨텍스트 프로토콜 서버

프로젝트 개요

Chroma MCP는 모델 컨텍스트 프로토콜(Model Context Protocol, MCP)을 기반으로 하는 서버 구현체로, Chroma 벡터 데이터베이스에 강력한 데이터베이스 기능을 제공하는 데 특화되어 있습니다. 오픈 소스 임베딩 데이터베이스인 Chroma의 확장으로서, LLM 애플리케이션에 표준화된 데이터 검색 및 관리 기능을 제공합니다.

모델 컨텍스트 프로토콜은 LLM 애플리케이션과 외부 데이터 소스 또는 도구 간의 원활한 통합을 구현하여 AI 모델에 필요한 컨텍스트 정보를 제공하기 위한 개방형 프로토콜입니다. Chroma MCP는 이 프로토콜을 기반으로 AI 모델이 데이터 컬렉션을 쉽게 생성하고, 사용자 입력 및 생성된 데이터를 저장하며, 다양한 검색 방식을 통해 이러한 데이터를 검색할 수 있도록 합니다.

핵심 기능 및 특징

🔧 유연한 클라이언트 유형

Chroma MCP는 다양한 클라이언트 구성을 지원하여 다양한 시나리오의 요구 사항을 충족합니다.

  • 메모리형 클라이언트(Ephemeral): 테스트 및 개발 환경에 적합하며, 데이터는 메모리에 저장됩니다.
  • 영구 클라이언트(Persistent): 파일 기반 저장 방식으로, 데이터가 로컬에 영구적으로 저장됩니다.
  • HTTP 클라이언트: 자체 호스팅 Chroma 인스턴스에 연결합니다.
  • 클라우드 클라이언트(Cloud): Chroma Cloud 서비스와 통합되어 api.trychroma.com에 자동으로 연결됩니다.

📁 컬렉션 관리 기능

완전한 컬렉션 라이프사이클 관리를 제공합니다.

  • 생성 및 구성: 새로운 컬렉션을 생성하고 HNSW 파라미터를 구성하여 최적화된 벡터 검색을 구현합니다.
  • 수정 및 삭제: 컬렉션의 이름 및 메타데이터 수정, 그리고 완전한 삭제를 지원합니다.
  • 정보 조회: 컬렉션 상세 정보, 통계 데이터 및 문서 수를 가져옵니다.
  • 페이지네이션 목록: 페이지네이션된 컬렉션 목록 기능을 지원합니다.
  • 임베딩 함수 선택: 컬렉션 생성 시 다양한 임베딩 함수를 선택할 수 있습니다.

📄 문서 조작 능력

포괄적인 문서 관리 및 조작 기능을 제공합니다.

  • 문서 추가: 선택적 메타데이터 및 사용자 정의 ID가 있는 문서를 추가할 수 있습니다.
  • 의미론적 쿼리: 의미론적 검색을 사용하여 문서를 쿼리하고, 고급 필터링을 지원합니다.
  • 문서 검색: ID 또는 필터를 통해 문서를 검색하고, 페이지네이션을 지원합니다.
  • 문서 업데이트: 기존 문서의 내용, 메타데이터 또는 임베딩을 업데이트합니다.
  • 문서 삭제: 컬렉션에서 특정 문서를 삭제합니다.
  • 전체 텍스트 검색: 강력한 전체 텍스트 검색 기능을 제공합니다.
  • 고급 필터링: 메타데이터 및 문서 내용을 기반으로 한 고급 필터링을 지원합니다.

🤖 다양한 임베딩 함수 지원

Chroma MCP는 다양한 임베딩 함수를 지원하여 다양한 애플리케이션 시나리오에 대한 선택지를 제공합니다.

  • default: 기본 임베딩 함수
  • cohere: Cohere 임베딩 서비스
  • openai: OpenAI 임베딩 서비스
  • jina: Jina AI 임베딩 서비스
  • voyageai: Voyage AI 임베딩 서비스
  • roboflow: Roboflow 임베딩 서비스

🔍 풍부한 API 도구

완전한 API 도구 세트를 제공합니다.

  • chroma_list_collections: 페이지네이션을 지원하는 컬렉션 목록
  • chroma_create_collection: 선택적 HNSW 구성이 있는 새로운 컬렉션 생성
  • chroma_peek_collection: 컬렉션의 문서 샘플 보기
  • chroma_get_collection_info: 컬렉션 상세 정보 가져오기
  • chroma_get_collection_count: 컬렉션의 문서 수 가져오기
  • chroma_modify_collection: 컬렉션 이름 또는 메타데이터 업데이트
  • chroma_delete_collection: 컬렉션 삭제
  • chroma_add_documents: 메타데이터 및 사용자 정의 ID가 있는 문서 추가
  • chroma_query_documents: 의미론적 검색 및 고급 필터링을 사용하여 문서 쿼리
  • chroma_get_documents: ID 또는 필터를 통해 문서 검색
  • chroma_update_documents: 문서 내용, 메타데이터 또는 임베딩 업데이트
  • chroma_delete_documents: 특정 문서 삭제

구성 및 배포

Claude Desktop 통합 구성

메모리형 클라이언트 구성:

"chroma": {
  "command": "uvx",
  "args": ["chroma-mcp"]
}

영구 클라이언트 구성:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "persistent",
    "--data-dir", "/full/path/to/your/data/directory"
  ]
}

클라우드 클라이언트 구성:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "your-tenant-id",
    "--database", "your-database-name",
    "--api-key", "your-api-key"
  ]
}

HTTP 클라이언트 구성:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "your-host",
    "--port", "your-port",
    "--custom-auth-credentials", "your-custom-auth-credentials",
    "--ssl", "true"
  ]
}

환경 변수 구성

환경 변수를 통해 구성을 지원하여 보다 유연한 배포 옵션을 제공합니다.

# 일반 변수
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# 클라우드 클라이언트 구성
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# HTTP 클라이언트 구성
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_SSL="true"

# 임베딩 함수 API 키
export CHROMA_COHERE_API_KEY="your-cohere-key"
export CHROMA_OPENAI_API_KEY="your-openai-key"

기술 특성

임베딩 함수 영속화

Chroma v1.0.0부터 임베딩 함수 영속화 기능을 지원합니다. 특정 임베딩 함수를 사용하여 컬렉션을 생성하면 해당 구성이 영속화되어 이후 쿼리 및 삽입 작업에서 동일한 임베딩 함수를 자동으로 사용하므로 반복적으로 지정할 필요가 없습니다.

보안 고려 사항

보안을 위해 --dotenv-path 파라미터를 사용하여 환경 구성 파일 경로를 지정하여 명령줄 파라미터에 API 키가 직접 노출되는 것을 방지하는 것이 좋습니다.

고급 검색 능력

  • 벡터 검색: 의미론적 유사성을 기반으로 한 벡터 검색
  • 전체 텍스트 검색: 기존의 텍스트 매칭 검색
  • 메타데이터 필터링: 문서 메타데이터를 기반으로 한 정확한 필터링
  • 혼합 검색: 다양한 검색 방식을 결합한 복합 쿼리

응용 시나리오

공유 지식 베이스

팀 또는 조직의 공유 지식 베이스를 구축하여 지능형 검색 및 지식 발견을 지원합니다.

컨텍스트 창 기억

LLM 애플리케이션에 장기 기억 능력을 추가하여 컨텍스트 창의 제한을 확장합니다.

문서 질의응답 시스템

문서 라이브러리를 기반으로 한 지능형 질의응답 시스템을 구축하여 의미론적 검색 및 정확한 검색을 지원합니다.

개인 지식 관리

개인 지식 관리 시스템을 생성하여 다중 모드 데이터 저장 및 지능형 검색을 지원합니다.

프로젝트 요약

Chroma MCP는 강력하고 유연한 벡터 데이터베이스 서버 구현체로, Chroma의 강력한 기능과 모델 컨텍스트 프로토콜의 표준화된 장점을 결합합니다. 다양한 클라이언트 유형, 풍부한 문서 조작 기능 및 유연한 구성 옵션을 제공함으로써 개발자가 지능형 AI 애플리케이션을 구축할 수 있는 견고한 데이터 인프라를 제공합니다.

프로토타입 개발을 위한 메모리형 클라이언트이든, 생산 환경의 클라우드 서비스 통합이든, Chroma MCP는 일관된 API 경험과 고성능 데이터 검색 능력을 제공합니다. 다양한 임베딩 함수에 대한 지원과 고급 검색 기능은 현대적인 AI 애플리케이션을 구축하는 데 이상적인 선택입니다.

프로젝트의 오픈 소스 특성과 활발한 커뮤니티 지원은 지속적인 발전과 개선을 보장합니다. LLM 애플리케이션에 강력한 데이터 검색 능력을 통합하려는 개발자에게 Chroma MCP는 고려할 가치가 있는 훌륭한 솔루션입니다.