Chroma
resmiPenyematan, pencarian vektor, penyimpanan dokumen, dan pencarian teks lengkap dengan basis data aplikasi AI sumber terbuka
Apa yang bisa Anda lakukan dengan Chroma MCP?
- List and browse collections — Use
chroma_list_collectionsto page through available collections andchroma_peek_collectionto preview sample documents inside one. - Create a collection with a chosen embedding model — Run
chroma_create_collectionto set up a new collection usingdefault,openai,cohere,jina,voyageai, orroboflowembeddings. - Add documents with metadata — Insert text via
chroma_add_documents, optionally attaching metadata and custom IDs for later filtering. - Search by meaning or keywords — Query with
chroma_query_documentsfor semantic vector search or use full-text search to find relevant documents. - Filter and retrieve specific documents — Fetch documents by ID or metadata filter using
chroma_get_documents, with pagination support. - Update or delete documents — Modify document content, metadata, or embeddings with
chroma_update_documents, or remove them viachroma_delete_documents.
Dokumentasi
Chroma - basis data embedding sumber terbuka.
Cara tercepat untuk membangun aplikasi LLM Python atau JavaScript dengan memori!
Server MCP Chroma
Model Context Protocol (MCP) adalah protokol terbuka yang dirancang untuk integrasi mudah antara aplikasi LLM dan sumber data atau alat eksternal, menawarkan kerangka kerja terstandarisasi untuk menyediakan konteks yang dibutuhkan LLM secara mulus.
Server ini menyediakan kemampuan pengambilan data yang didukung oleh Chroma, memungkinkan model AI untuk membuat koleksi dari data yang dihasilkan dan masukan pengguna, serta mengambil data tersebut menggunakan pencarian vektor, pencarian teks lengkap, penyaringan metadata, dan lainnya.
Ini adalah server MCP untuk menghosting sendiri akses Anda ke Chroma. Jika Anda mencari Pencarian Paket, Anda dapat menemukan repositorinya di sini.
Fitur
-
Tipe Klien Fleksibel
- Ephemeral (dalam memori) untuk pengujian dan pengembangan
- Persisten untuk penyimpanan berbasis file
- Klien HTTP untuk instans Chroma yang dihosting sendiri
- Klien Cloud untuk integrasi Chroma Cloud (otomatis terhubung ke api.trychroma.com)
-
Manajemen Koleksi
- Membuat, mengubah, dan menghapus koleksi
- Mendaftar semua koleksi dengan dukungan paginasi
- Mendapatkan informasi dan statistik koleksi
- Mengonfigurasi parameter HNSW untuk pencarian vektor yang dioptimalkan
- Memilih fungsi embedding saat membuat koleksi
-
Operasi Dokumen
- Menambahkan dokumen dengan metadata opsional dan ID kustom
- Mencari dokumen menggunakan pencarian semantik
- Penyaringan lanjutan menggunakan metadata dan konten dokumen
- Mengambil dokumen berdasarkan ID atau filter
- Kemampuan pencarian teks lengkap
Alat yang Didukung
chroma_list_collections- Mendaftar semua koleksi dengan dukungan paginasichroma_create_collection- Membuat koleksi baru dengan konfigurasi HNSW opsionalchroma_peek_collection- Melihat sampel dokumen dalam sebuah koleksichroma_get_collection_info- Mendapatkan informasi detail tentang sebuah koleksichroma_get_collection_count- Mendapatkan jumlah dokumen dalam sebuah koleksichroma_modify_collection- Memperbarui nama atau metadata koleksichroma_delete_collection- Menghapus sebuah koleksichroma_add_documents- Menambahkan dokumen dengan metadata opsional dan ID kustomchroma_query_documents- Mencari dokumen menggunakan pencarian semantik dengan penyaringan lanjutanchroma_get_documents- Mengambil dokumen berdasarkan ID atau filter dengan paginasichroma_update_documents- Memperbarui konten, metadata, atau embedding dokumen yang adachroma_delete_documents- Menghapus dokumen tertentu dari sebuah koleksi
Fungsi Embedding
Chroma MCP mendukung beberapa fungsi embedding: default, cohere, openai, jina, voyageai, dan roboflow.
Fungsi embedding memanfaatkan konfigurasi koleksi Chroma, yang menyimpan fungsi embedding yang dipilih dari sebuah koleksi untuk pengambilan. Setelah koleksi dibuat menggunakan konfigurasi koleksi, pada pengambilan untuk kueri dan penyisipan di masa mendatang, fungsi embedding yang sama akan digunakan, tanpa perlu menentukan fungsi embedding lagi. Persistensi fungsi embedding ditambahkan di v1.0.0 Chroma, jadi jika Anda membuat koleksi menggunakan versi <=0.6.3, fitur ini tidak didukung.
Saat mengakses fungsi embedding yang menggunakan API eksternal, pastikan untuk menambahkan variabel lingkungan untuk kunci API dengan format yang benar, yang dapat ditemukan di Variabel Lingkungan Fungsi Embedding
Penggunaan dengan Claude Desktop
- Untuk menambahkan klien ephemeral, tambahkan berikut ini ke file
claude_desktop_config.jsonAnda:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- Untuk menambahkan klien persisten, tambahkan berikut ini ke file
claude_desktop_config.jsonAnda:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
Ini akan membuat klien persisten yang akan menggunakan direktori data yang ditentukan.
- Untuk terhubung ke Chroma Cloud, tambahkan berikut ini ke file
claude_desktop_config.jsonAnda:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
Ini akan membuat klien cloud yang otomatis terhubung ke api.trychroma.com menggunakan SSL.
Catatan: Menambahkan kunci API dalam argumen aman di perangkat lokal, tetapi untuk keamanan, Anda juga dapat menentukan jalur kustom untuk file konfigurasi lingkungan Anda menggunakan argumen --dotenv-path dalam daftar args, contohnya: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].
- Untuk terhubung ke [instans Chroma yang dihosting sendiri di penyedia cloud Anda sendiri](https://docs.trychroma.com/
production/deployment), tambahkan berikut ini ke file
claude_desktop_config.jsonAnda:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
Ini akan membuat klien HTTP yang terhubung ke instans Chroma yang dihosting sendiri.
Demo
Temukan penggunaan referensi, seperti basis pengetahuan bersama & menambahkan memori ke jendela konteks di Dokumen Chroma MCP
Menggunakan Variabel Lingkungan
Anda juga dapat menggunakan variabel lingkungan untuk mengonfigurasi klien. Server akan otomatis memuat variabel dari file .env yang terletak di jalur yang ditentukan oleh --dotenv-path (defaultnya .chroma_env di direktori kerja) atau dari variabel lingkungan sistem. Argumen baris perintah lebih diutamakan daripada variabel lingkungan.
# 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"
Variabel Lingkungan Fungsi Embedding
Saat menggunakan fungsi embedding eksternal yang mengakses kunci API, ikuti konvensi penamaan
CHROMA_<>_API_KEY="<key>".
Jadi untuk mengatur kunci API Cohere, atur variabel lingkungan CHROMA_COHERE_API_KEY="". Kami merekomendasikan menambahkan ini ke file .env di suatu tempat dan menggunakan variabel lingkungan CHROMA_DOTENV_PATH atau flag --dotenv-path untuk mengatur lokasi tersebut demi keamanan.
