Home
Login
chroma-core/chroma-mcp

تنفيذ خادم بروتوكول سياق النموذج (MCP) الذي يوفر وظائف قاعدة البيانات لـ Chroma، ويدعم إمكانات استرجاع بيانات الذكاء الاصطناعي مثل البحث عن المتجهات والبحث عن النص الكامل وتصفية البيانات الوصفية.

Apache-2.0Python 188chroma-core Last Updated: 2025-06-11
https://github.com/chroma-core/chroma-mcp

Chroma MCP - خادم بروتوكول سياق النموذج

نظرة عامة على المشروع

Chroma MCP هو تطبيق خادم يعتمد على بروتوكول سياق النموذج (Model Context Protocol, MCP)، وهو مصمم خصيصًا لتوفير وظائف قاعدة بيانات قوية لقاعدة بيانات المتجهات Chroma. باعتباره امتدادًا لقاعدة بيانات التضمين مفتوحة المصدر Chroma، فإنه يوفر قدرات موحدة لاسترجاع البيانات وإدارتها لتطبيقات LLM.

بروتوكول سياق النموذج هو بروتوكول مفتوح يهدف إلى تحقيق تكامل سلس بين تطبيقات LLM ومصادر البيانات أو الأدوات الخارجية، مما يوفر معلومات السياق المطلوبة لنماذج الذكاء الاصطناعي. يعتمد Chroma MCP على هذا البروتوكول، مما يمكّن نماذج الذكاء الاصطناعي من إنشاء مجموعات بيانات وتخزين مدخلات المستخدم والبيانات التي تم إنشاؤها بسهولة، واسترجاع هذه البيانات من خلال طرق بحث متعددة.

الوظائف والميزات الأساسية

🔧 أنواع العملاء المرنة

يدعم Chroma MCP تكوينات عملاء متعددة لتلبية احتياجات السيناريوهات المختلفة:

  • عميل في الذاكرة (Ephemeral): مناسب لبيئات الاختبار والتطوير، حيث يتم تخزين البيانات في الذاكرة.
  • عميل مستمر (Persistent): طريقة تخزين تعتمد على الملفات، حيث يتم تخزين البيانات بشكل دائم محليًا.
  • عميل HTTP: يتصل بمثيل Chroma مستضاف ذاتيًا.
  • عميل سحابي (Cloud): يدمج خدمة Chroma Cloud، ويتصل تلقائيًا بـ api.trychroma.com.

📁 وظائف إدارة المجموعات

يوفر إدارة كاملة لدورة حياة المجموعة:

  • الإنشاء والتكوين: إنشاء مجموعات جديدة وتكوين معلمات HNSW لتحقيق بحث متجه محسن.
  • التعديل والحذف: يدعم تعديل اسم المجموعة وبياناتها الوصفية، بالإضافة إلى الحذف الكامل.
  • الاستعلام عن المعلومات: الحصول على معلومات تفصيلية عن المجموعة وإحصائياتها وعدد المستندات.
  • قائمة الصفحات: يدعم وظيفة قائمة المجموعات ذات الصفحات.
  • اختيار وظيفة التضمين: يمكن اختيار وظائف تضمين مختلفة عند إنشاء المجموعة.

📄 قدرات التعامل مع المستندات

وظائف شاملة لإدارة المستندات والتعامل معها:

  • إضافة المستندات: يدعم إضافة المستندات مع بيانات وصفية اختيارية ومعرفات مخصصة.
  • الاستعلام الدلالي: استخدام البحث الدلالي للاستعلام عن المستندات، مع دعم التصفية المتقدمة.
  • استرجاع المستندات: استرجاع المستندات عن طريق المعرف أو المرشحات، مع دعم التصفح.
  • تحديث المستندات: تحديث محتوى المستندات الموجودة أو البيانات الوصفية أو التضمينات.
  • حذف المستندات: حذف مستندات معينة من المجموعة.
  • البحث عن النص الكامل: يوفر قدرات بحث قوية عن النص الكامل.
  • التصفية المتقدمة: يدعم التصفية المتقدمة بناءً على البيانات الوصفية ومحتوى المستند.

🤖 دعم وظائف التضمين المتنوعة

يدعم Chroma MCP وظائف تضمين متعددة لتوفير خيارات لسيناريوهات التطبيقات المختلفة:

  • default: وظيفة التضمين الافتراضية.
  • cohere: خدمة تضمين Cohere.
  • openai: خدمة تضمين OpenAI.
  • jina: خدمة تضمين Jina AI.
  • voyageai: خدمة تضمين Voyage AI.
  • roboflow: خدمة تضمين Roboflow.

🔍 مجموعة أدوات API الغنية

يوفر مجموعة كاملة من أدوات API:

  • chroma_list_collections: قائمة المجموعات المدعومة بالصفحات.
  • chroma_create_collection: إنشاء مجموعة جديدة مع تكوين HNSW اختياري.
  • chroma_peek_collection: عرض عينة من المستندات في المجموعة.
  • chroma_get_collection_info: الحصول على معلومات تفصيلية عن المجموعة.
  • chroma_get_collection_count: الحصول على عدد المستندات في المجموعة.
  • chroma_modify_collection: تحديث اسم المجموعة أو البيانات الوصفية.
  • chroma_delete_collection: حذف المجموعة.
  • chroma_add_documents: إضافة مستندات مع بيانات وصفية ومعرفات مخصصة.
  • chroma_query_documents: استخدام البحث الدلالي والتصفية المتقدمة للاستعلام عن المستندات.
  • chroma_get_documents: استرجاع المستندات عن طريق المعرف أو المرشحات.
  • chroma_update_documents: تحديث محتوى المستند أو البيانات الوصفية أو التضمينات.
  • chroma_delete_documents: حذف مستندات معينة.

التكوين والنشر

تكوين التكامل مع Claude Desktop

تكوين عميل في الذاكرة:

"chroma": {
  "command": "uvx",
  "args": ["chroma-mcp"]
}

تكوين عميل مستمر:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "persistent",
    "--data-dir", "/full/path/to/your/data/directory"
  ]
}

تكوين عميل سحابي:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "your-tenant-id",
    "--database", "your-database-name",
    "--api-key", "your-api-key"
  ]
}

تكوين عميل HTTP:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "your-host",
    "--port", "your-port",
    "--custom-auth-credentials", "your-custom-auth-credentials",
    "--ssl", "true"
  ]
}

تكوين متغيرات البيئة

يدعم التكوين من خلال متغيرات البيئة، مما يوفر خيارات نشر أكثر مرونة:

# متغيرات عامة
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# تكوين عميل سحابي
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# تكوين عميل HTTP
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_SSL="true"

# مفاتيح API لوظائف التضمين
export CHROMA_COHERE_API_KEY="your-cohere-key"
export CHROMA_OPENAI_API_KEY="your-openai-key"

الخصائص التقنية

استمرار وظيفة التضمين

بدءًا من Chroma v1.0.0، يتم دعم وظيفة استمرار وظيفة التضمين. بمجرد إنشاء مجموعة باستخدام وظيفة تضمين معينة، سيتم الاحتفاظ بهذا التكوين، وستستخدم عمليات الاستعلام والإدراج اللاحقة تلقائيًا نفس وظيفة التضمين، دون الحاجة إلى تحديدها بشكل متكرر.

اعتبارات الأمان

لأسباب تتعلق بالأمان، يوصى باستخدام المعلمة --dotenv-path لتحديد مسار ملف تكوين البيئة، وتجنب الكشف عن مفاتيح API مباشرة في معلمات سطر الأوامر.

قدرات البحث المتقدمة

  • البحث المتجهي: بحث متجهي يعتمد على التشابه الدلالي.
  • البحث عن النص الكامل: بحث تقليدي عن طريق مطابقة النص.
  • تصفية البيانات الوصفية: تصفية دقيقة تعتمد على البيانات الوصفية للمستند.
  • البحث المختلط: استعلام مركب يجمع بين طرق بحث متعددة.

سيناريوهات التطبيق

قاعدة المعرفة المشتركة

بناء قاعدة معرفة مشتركة للفريق أو المؤسسة، تدعم الاسترجاع الذكي واكتشاف المعرفة.

ذاكرة نافذة السياق

إضافة قدرة الذاكرة طويلة الأجل لتطبيقات LLM، وتوسيع قيود نافذة السياق.

نظام الأسئلة والأجوبة المستند إلى المستندات

بناء نظام أسئلة وأجوبة ذكي يعتمد على مكتبة المستندات، ويدعم البحث الدلالي والاسترجاع الدقيق.

إدارة المعرفة الشخصية

إنشاء نظام إدارة المعرفة الشخصية، يدعم تخزين البيانات متعددة الوسائط والاسترجاع الذكي.

ملخص المشروع

Chroma MCP هو تطبيق خادم قاعدة بيانات متجهي قوي ومرن، يجمع بين القدرات القوية لـ Chroma والمزايا الموحدة لبروتوكول سياق النموذج. من خلال توفير أنواع عملاء متعددة ووظائف تعامل غنية مع المستندات وخيارات تكوين مرنة، فإنه يوفر بنية تحتية قوية للبيانات للمطورين لبناء تطبيقات ذكاء اصطناعي ذكية.

سواء كان ذلك للعميل في الذاكرة لتطوير النماذج الأولية، أو تكامل الخدمات السحابية لبيئات الإنتاج، يمكن لـ Chroma MCP توفير تجربة API متسقة وقدرات استرجاع بيانات عالية الأداء. إن دعمه لوظائف التضمين المتعددة وقدرات البحث المتقدمة يجعله خيارًا مثاليًا لبناء تطبيقات الذكاء الاصطناعي الحديثة.

تضمن طبيعة المشروع مفتوحة المصدر ودعم المجتمع النشط استمراره في التطور والتحسين. بالنسبة للمطورين الذين يتطلعون إلى دمج قدرات استرجاع بيانات قوية في تطبيقات LLM، فإن Chroma MCP هو بلا شك حل ممتاز يستحق الدراسة.