Skip to main content
Glama

크로마 MCP 서버

Chroma를 통해 벡터 데이터베이스 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 의미론적 문서 검색, 메타데이터 필터링, 그리고 영구 저장소를 통한 문서 관리를 지원합니다.

요구 사항

  • 파이썬 3.8 이상

  • 크로마 0.4.0+

  • MCP SDK 0.1.0+

Related MCP server: doc-lib-mcp

구성 요소

자원

서버는 Chroma의 벡터 데이터베이스를 통해 문서 저장 및 검색 기능을 제공합니다.

  • 콘텐츠와 메타데이터가 포함된 문서를 저장합니다.

  • src/chroma/data 디렉토리에 데이터를 유지합니다.

  • 의미적 유사성 검색을 지원합니다

도구

서버는 CRUD 작업과 검색 기능을 구현합니다.

문서 관리

  • create_document : 새 문서를 만듭니다

    • 필수: document_id , content

    • 선택 사항: metadata (키-값 쌍)

    • 반환: 성공 확인

    • 오류: 이미 존재합니다. 잘못된 입력입니다.

  • read_document : ID로 문서를 검색합니다.

    • 필수: document_id

    • 반환: 문서 콘텐츠 및 메타데이터

    • 오류: 찾을 수 없음

  • update_document : 기존 문서 업데이트

    • 필수: document_id , content

    • 선택 사항: metadata

    • 반환: 성공 확인

    • 오류: 찾을 수 없음, 잘못된 입력

  • delete_document : 문서 제거

    • 필수: document_id

    • 반환: 성공 확인

    • 오류: 찾을 수 없음

  • list_documents : 모든 문서 나열

    • 선택 사항: limit , offset

    • 반환: 콘텐츠 및 메타데이터가 포함된 문서 목록

검색 작업

  • search_similar : 의미적으로 유사한 문서 찾기

    • 필수: query

    • 선택 사항: num_results , metadata_filter , content_filter

    • 반환: 거리 점수가 포함된 유사 문서의 순위 목록

    • 오류: 잘못된 필터

특징

  • 의미 검색 : Chroma의 임베딩을 사용하여 의미에 따라 문서 찾기

  • 메타데이터 필터링 : 메타데이터 필드로 검색 결과 필터링

  • 콘텐츠 필터링 : 문서 콘텐츠 기반 추가 필터링

  • 영구 저장소 : 서버 재시작 사이에 로컬 디렉토리에 데이터가 유지됩니다.

  • 오류 처리 : 명확한 메시지를 통한 포괄적인 오류 처리

  • 재시도 로직 : 일시적 오류에 대한 자동 재시도

설치

  1. 종속성 설치:

지엑스피1

구성

클로드 데스크탑

Claude Desktop 구성에 서버 구성을 추가합니다.

Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "chroma": { "command": "uv", "args": [ "--directory", "C:/MCP/server/community/chroma", "run", "chroma" ] } } }

데이터 저장

서버는 다음 위치에 데이터를 저장합니다.

  • Windows: src/chroma/data

  • MacOS/Linux: src/chroma/data

용법

  1. 서버를 시작합니다:

uv run chroma
  1. MCP 도구를 사용하여 서버와 상호 작용합니다.

# Create a document create_document({ "document_id": "ml_paper1", "content": "Convolutional neural networks improve image recognition accuracy.", "metadata": { "year": 2020, "field": "computer vision", "complexity": "advanced" } }) # Search similar documents search_similar({ "query": "machine learning models", "num_results": 2, "metadata_filter": { "year": 2020, "field": "computer vision" } })

오류 처리

서버는 일반적인 시나리오에 대해 명확한 오류 메시지를 제공합니다.

  • Document already exists [id=X]

  • Document not found [id=X]

  • Invalid input: Missing document_id or content

  • Invalid filter

  • Operation failed: [details]

개발

테스트

  1. 대화형 테스트를 위해 MCP Inspector를 실행하세요.

npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
  1. 검사관 웹 인터페이스를 사용하여 다음을 수행할 수 있습니다.

    • CRUD 작업 테스트

    • 검색 기능 확인

    • 오류 처리 확인

    • 서버 로그 모니터링

건물

  1. 종속성 업데이트:

uv compile pyproject.toml
  1. 패키지 빌드:

uv build

기여하다

참여를 환영합니다! 자세한 내용은 참여 지침을 참조하세요.

  • 코드 스타일

  • 테스트 요구 사항

  • 풀 리퀘스트 프로세스

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/privetin/chroma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server