Databases Python ★ 568

chroma-core/chroma-mcp

Yerel ve bulut Chroma örneklerine erişim sağlayan Chroma MCP sunucusu, retrieval yetenekleriyle verileri sorgulamanızı mümkün kılar.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "chroma-core-chroma-mcp": {
      "command": "python",
      "args": [
        "-m",
        "chroma_mcp"
      ]
    }
  }
}

Chroma - açık kaynaklı embedding veritabanı.
Python veya JavaScript LLM uygulamalarını bellek ile oluşturmanın en hızlı yolu!

|

| Dokümantasyon | Ana Sayfa

Chroma MCP Server

smithery badge

Model Context Protocol (MCP), LLM uygulamaları ile dış veri kaynakları veya araçlar arasında sorunsuz entegrasyon için tasarlanmış açık bir protokoldür ve LLM'lere ihtiyaç duydukları context'i sorunsuzca sağlamak için standartlaştırılmış bir çerçeve sunar.

Bu server, Chroma tarafından desteklenen veri alma yetenekleri sağlayarak, AI modellerinin üretilen veriler ve kullanıcı girdileri üzerinde koleksiyonlar oluşturmasını ve bu verileri vector arama, tam metin arama, metadata filtreleme ve daha fazlasını kullanarak almasını sağlar.

Bu, Chroma'ya olan erişiminizi kendi kendine barındırmak için bir MCP sunucusudur. Eğer Package Search arıyorsanız, depoyu burada bulabilirsiniz.

Özellikler

  • Esnek Client Türleri

    • Ephemeral (bellek içi) test ve geliştirme için
    • Dosya tabanlı depolama için Persistent
    • Kendi kendine barındırılan Chroma örnekleri için HTTP client
    • Chroma Cloud entegrasyonu için Cloud client (api.trychroma.com'a otomatik olarak bağlanır)
  • Koleksiyon Yönetimi

    • Koleksiyon oluşturma, değiştirme ve silme
    • Pagination desteği ile tüm koleksiyonları listeleme
    • Koleksiyon bilgisi ve istatistiklerini alma
    • Optimize edilmiş vector arama için HNSW parametrelerini yapılandırma
    • Koleksiyon oluşturulurken embedding fonksiyonlarını seçme
  • Belge İşlemleri

    • İsteğe bağlı metadata ve özel ID'lerle belge ekleme
    • Semantik arama kullanarak belge sorgulama
    • Metadata ve belge içeriği kullanarak ileri filtreleme
    • Belgeleri ID'ye veya filtrelere göre alma
    • Tam metin arama yetenekleri

Desteklenen Araçlar

  • chroma_list_collections - Pagination desteği ile tüm koleksiyonları listeleme
  • chroma_create_collection - İsteğe bağlı HNSW yapılandırması ile yeni koleksiyon oluşturma
  • chroma_peek_collection - Bir koleksiyondaki belgelerin örneğini görüntüleme
  • chroma_get_collection_info - Bir koleksiyon hakkında ayrıntılı bilgi alma
  • chroma_get_collection_count - Bir koleksiyondaki belge sayısını alma
  • chroma_modify_collection - Bir koleksiyonun adını veya metadata'sını güncelleme
  • chroma_delete_collection - Koleksiyon silme
  • chroma_add_documents - İsteğe bağlı metadata ve özel ID'lerle belge ekleme
  • chroma_query_documents - İleri filtreleme ile semantik arama kullanarak belge sorgulama
  • chroma_get_documents - Pagination ile belgeleri ID'ye veya filtrelere göre alma
  • chroma_update_documents - Mevcut belgelerin içeriğini, metadata'sını veya embedding'lerini güncelleme
  • chroma_delete_documents - Bir koleksiyondan belirli belgeleri silme

Embedding Fonksiyonları

Chroma MCP şu embedding fonksiyonlarını destekler: default, cohere, openai, jina, voyageai ve roboflow.

Embedding fonksiyonları, bir koleksiyonun seçilen embedding fonksiyonunu kalıcı olarak depolayan Chroma koleksiyon yapılandırmasını kullanır. Koleksiyon yapılandırması kullanılarak koleksiyon oluşturulduktan sonra, gelecekteki sorgular ve eklemeler için alma işleminde, aynı embedding fonksiyonu kullanılır ve embedding fonksiyonunu yeniden belirtmeye gerek kalmaz. Embedding fonksiyonu kalıcılığı Chroma v1.0.0'da eklendi; dolayısıyla <=0.6.3 versiyonunu kullanarak koleksiyon oluşturduysanız, bu özellik desteklenmez.

Harici API'ler kullanan embedding fonksiyonlarına erişirken, lütfen Embedding Function Environment Variables bölümünde bulunan doğru biçime sahip API anahtarı için ortam değişkenini eklediğinizden emin olun.

Claude Desktop ile Kullanım

  1. Ephemeral client eklemek için, claude_desktop_config.json dosyanıza aşağıdaki satırları ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. Persistent client eklemek için, claude_desktop_config.json dosyanıza aşağıdaki satırları ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

Bu, belirtilen veri dizinini kullanacak olan persistent client'i oluşturacaktır.

  1. Chroma Cloud'a bağlanmak için, claude_desktop_config.json dosyanıza aşağıdaki satırları ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "cloud",
        "--tenant",
        "your-tenant-id",
        "--database",
        "your-database-name",
        "--api-key",
        "your-api-key"
    ]
}

Bu, SSL kullanarak api.trychroma.com'a otomatik olarak bağlanan bir cloud client oluşturacaktır.

Not: Bağımsız cihazlarda API anahtarlarını argümanlara eklemek sorun değildir, ancak güvenlik için, args listesi içinde --dotenv-path argümanını kullanarak ortam yapılandırma dosyanız için özel bir yol belirtebilirsiniz. Örneğin: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].

  1. Kendi bulut sağlayıcınızda kendi kendine barındırılan bir Chroma örneğine bağlanmak için, claude_desktop_config.json dosyanıza aşağıdaki satırları ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
      "chroma-mcp", 
      "--client-type", 
      "http", 
      "--host", 
      "your-host", 
      "--port", 
      "your-port", 
      "--custom-auth-credentials",
      "your-custom-auth-credentials",
      "--ssl",
      "true"
    ]
}

Bu, kendi kendine barındırılan Chroma örneğinize bağlanan bir HTTP client oluşturacaktır.

Demolar

Chroma MCP Dokümantasyon bölümünde paylaşılan bilgi tabanları ve context pencerelerine bellek ekleme gibi referans kullanımlarını bulabilirsiniz.

Ortam Değişkenlerini Kullanma

Client'i yapılandırmak için ortam değişkenlerini de kullanabilirsiniz. Server, --dotenv-path tarafından belirtilen yolda (varsayılan olarak çalışan dizinde .chroma_env) bulunan .env dosyasından veya sistem ortam değişkenlerinden değişkenleri otomatik olarak yükleyecektir. Komut satırı argümanları ortam değişkenlerinden önceliklidir.

# Ortak değişkenler
export CHROMA_CLIENT_TYPE="http"  # or "cloud", "persistent", "ephemeral"

# Persistent client için
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# Cloud client için (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# HTTP client için (kendi kendine barındırılan)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

# İsteğe bağlı: .env dosyasının yolunu belirtme (varsayılan olarak .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env" 

Embedding Function Ortam Değişkenleri

API anahtarına erişen harici embedding fonksiyonlarını kullanırken, CHROMA_<>_API_KEY="<key>" adlandırma kuralını izleyin. Dolayısıyla bir Cohere API anahtarı ayarlamak için, CHROMA_COHERE_API_KEY="" ortam değişkenini ayarlayın. Bunu bir .env dosyasına eklemenizi ve güvenli bir şekilde saklama için CHROMA_DOTENV_PATH ortam değişkenini veya --dotenv-path bayrağını kullanmanızı tavsiye ederiz.

Benzer MCP sunucuları

Daha fazla: Databases →