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?
- Mendaftar dan menjelajahi koleksi — Gunakan
chroma_list_collectionsuntuk menelusuri koleksi yang tersedia danchroma_peek_collectionuntuk melihat pratinjau contoh dokumen di dalamnya. - Membuat koleksi dengan model embedding yang dipilih — Jalankan
chroma_create_collectionuntuk menyiapkan koleksi baru menggunakan embeddingdefault,openai,cohere,jina,voyageai, atauroboflow. - Menambahkan dokumen dengan metadata — Sisipkan teks melalui
chroma_add_documents, dengan opsi melampirkan metadata dan ID kustom untuk pemfilteran nanti. - Mencari berdasarkan makna atau kata kunci — Lakukan kueri dengan
chroma_query_documentsuntuk pencarian vektor semantik atau gunakan pencarian teks lengkap untuk menemukan dokumen yang relevan. - Memfilter dan mengambil dokumen tertentu — Ambil dokumen berdasarkan ID atau filter metadata menggunakan
chroma_get_documents, dengan dukungan paginasi. - Memperbarui atau menghapus dokumen — Ubah konten dokumen, metadata, atau embedding dengan
chroma_update_documents, atau hapus melaluichroma_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.
