Chroma MCP Server

resmi

Açık kaynaklı yapay zeka uygulama veritabanı ile gömme, vektör araması, belge depolama ve tam metin araması

Dokümantasyon

Chroma logo

Chroma - açık kaynaklı gömme veritabanı.
Python veya JavaScript LLM uygulamalarına bellek eklemenin en hızlı yolu!

Discord | License | Belgeler | Ana Sayfa

Chroma MCP Sunucusu

smithery badge

Model Bağlam Protokolü (MCP), LLM uygulamaları ile harici veri kaynakları veya araçlar arasında zahmetsiz entegrasyon için tasarlanmış açık bir protokoldür ve LLM'lere ihtiyaç duydukları bağlamı sorunsuz bir şekilde sağlamak için standartlaştırılmış bir çerçeve sunar.

Bu sunucu, Chroma tarafından desteklenen veri alma yetenekleri sağlayarak yapay zeka modellerinin oluşturulan veriler ve kullanıcı girdileri üzerinde koleksiyonlar oluşturmasına ve bu verileri vektör arama, tam metin arama, meta veri filtreleme ve daha fazlasını kullanarak almasına olanak tanır.

Bu, Chroma'ya erişiminizi kendi kendine barındırmanız için bir MCP sunucusudur. Paket Arama arıyorsanız, bunun deposunu burada bulabilirsiniz.

Özellikler

  • Esnek İstemci Türleri

    • Test ve geliştirme için geçici (bellek içi)
    • Dosya tabanlı depolama için kalıcı
    • Kendi kendine barındırılan Chroma örnekleri için HTTP istemcisi
    • Chroma Cloud entegrasyonu için bulut istemcisi (otomatik olarak api.trychroma.com'a bağlanır)
  • Koleksiyon Yönetimi

    • Koleksiyon oluşturma, değiştirme ve silme
    • Sayfalama desteğiyle tüm koleksiyonları listeleme
    • Koleksiyon bilgisi ve istatistiklerini alma
    • Optimize edilmiş vektör araması için HNSW parametrelerini yapılandırma
    • Koleksiyon oluştururken gömme fonksiyonlarını seçme
  • Belge İşlemleri

    • İsteğe bağlı meta veri ve özel kimliklerle belge ekleme
    • Anlamsal arama kullanarak belge sorgulama
    • Meta veri ve belge içeriği kullanarak gelişmiş filtreleme
    • Kimliklere veya filtrelere göre belge alma
    • Tam metin arama yetenekleri

Desteklenen Araçlar

  • chroma_list_collections - Sayfalama desteğiyle tüm koleksiyonları listeleme
  • chroma_create_collection - İsteğe bağlı HNSW yapılandırmasıyla yeni bir koleksiyon oluşturma
  • chroma_peek_collection - Bir koleksiyondaki belgelerin bir ö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 meta verisini güncelleme
  • chroma_delete_collection - Bir koleksiyonu silme
  • chroma_add_documents - İsteğe bağlı meta veri ve özel kimliklerle belge ekleme
  • chroma_query_documents - Gelişmiş filtreleme ile anlamsal arama kullanarak belge sorgulama
  • chroma_get_documents - Sayfalama ile kimliklere veya filtrelere göre belge alma
  • chroma_update_documents - Mevcut belgelerin içeriğini, meta verisini veya gömmelerini güncelleme
  • chroma_delete_documents - Bir koleksiyondan belirli belgeleri silme

Gömme Fonksiyonları

Chroma MCP çeşitli gömme fonksiyonlarını destekler: default, cohere, openai, jina, voyageai ve roboflow.

Gömme fonksiyonları, bir koleksiyonun seçilen gömme fonksiyonunu alım için kalıcı hale getiren Chroma'nın koleksiyon yapılandırmasını kullanır. Koleksiyon yapılandırması kullanılarak bir koleksiyon oluşturulduğunda, gelecekteki sorgular ve eklemeler için aynı gömme fonksiyonu, tekrar belirtmeye gerek kalmadan kullanılacaktır. Gömme fonksiyonu kalıcılığı Chroma'nın v1.0.0 sürümünde eklenmiştir, bu nedenle <=0.6.3 sürümünü kullanarak bir koleksiyon oluşturduysanız bu özellik desteklenmez.

Harici API'leri kullanan gömme fonksiyonlarına erişirken, lütfen Gömme Fonksiyonu Ortam Değişkenleri bölümünde bulunan doğru formatta API anahtarı için ortam değişkenini eklediğinizden emin olun.

Claude Desktop ile Kullanım

  1. Geçici bir istemci eklemek için claude_desktop_config.json dosyanıza aşağıdakini ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. Kalıcı bir istemci eklemek için claude_desktop_config.json dosyanıza aşağıdakini ekleyin:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

Bu, belirtilen veri dizinini kullanacak kalıcı bir istemci oluşturacaktır.

  1. Chroma Cloud'a bağlanmak için claude_desktop_config.json dosyanıza aşağıdakini 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 otomatik olarak api.trychroma.com'a bağlanan bir bulut istemcisi oluşturacaktır.

Not: Yerel cihazlarda argümanlara API anahtarları eklemek sorun değildir, ancak güvenlik için args listesi içindeki --dotenv-path argümanını kullanarak ortam yapılandırma dosyanız için özel bir yol da 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](https://docs.trychroma.com/ production/deployment) bağlanmak için claude_desktop_config.json dosyanıza aşağıdakini 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 istemcisi oluşturacaktır.

Demolar

Paylaşılan bilgi tabanları ve bağlam pencerelerine bellek ekleme gibi referans kullanımları Chroma MCP Belgeleri içinde bulabilirsiniz.

Ortam Değişkenlerini Kullanma

İstemciyi yapılandırmak için ortam değişkenlerini de kullanabilirsiniz. Sunucu, --dotenv-path tarafından belirtilen yolda bulunan bir .env dosyasından (çalışma dizininde varsayılan olarak .chroma_env) veya sistem ortam değişkenlerinden değişkenleri otomatik olarak yükleyecektir. Komut satırı argümanları ortam değişkenlerine göre önceliklidir.

# Common variables
export CHROMA_CLIENT_TYPE="http"  # or "cloud", "persistent", "ephemeral"

# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

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

# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

# Optional: Specify path to .env file (defaults to .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env" 

Gömme Fonksiyonu Ortam Değişkenleri

Bir API anahtarına erişen harici gömme fonksiyonlarını kullanırken, adlandırma kuralını izleyin CHROMA_<>_API_KEY="<key>". Yani bir Cohere API anahtarı ayarlamak için CHROMA_COHERE_API_KEY="" ortam değişkenini ayarlayın. Bunu bir yerde bir .env dosyasına eklemenizi ve güvenli saklama için bu konumu ayarlamak üzere CHROMA_DOTENV_PATH ortam değişkenini veya --dotenv-path bayrağını kullanmanızı öneririz.