Apache Doris MCP (بروتوكول سياق النموذج) Server هو خدمة خلفية مبنية على Python و FastAPI، تهدف إلى التكامل السلس مع قاعدة بيانات Apache Doris من خلال بروتوكول سياق النموذج (MCP). يوفر واجهات موحدة لوكلاء الذكاء الاصطناعي والعملاء، ويدعم وظائف مثل تحويل اللغة الطبيعية إلى SQL (NL2SQL)، وتنفيذ استعلامات SQL، وإدارة البيانات الوصفية، وتحليل البيانات. يعتبر هذا المشروع امتدادًا مهمًا لمجتمع Apache Doris، وهو مناسب بشكل خاص لسيناريوهات الأعمال التي تتطلب تفاعلًا فعالًا مع البيانات وتحليلًا ذكيًا.
منذ إصدار الإصدار 0.3.0 في عام 2025، شهد المشروع تحديثات معمارية كبيرة، حيث انتقل من الاتصال القائم على SSE (أحداث مرسلة من الخادم) إلى بروتوكول HTTP موحد قابل للتدفق، وأضاف إطار عمل أمان على مستوى المؤسسات ووظائف تحسين الأداء. الهدف الأساسي للمشروع هو ربط أنظمة الذكاء الاصطناعي بقاعدة بيانات Apache Doris من خلال بروتوكول MCP، لتحقيق استكشاف وتحليل ذكي للبيانات.
يوفر Apache Doris MCP Server الوظائف الرئيسية التالية:
تحويل اللغة الطبيعية إلى SQL (NL2SQL)
تنفيذ استعلامات SQL
exec_query
، مع إمكانية تخصيص اختيار قاعدة البيانات، وعدد الصفوف المحدود، وإعدادات المهلة.إدارة البيانات الوصفية
get_all_databases
, get_database_tables
).get_table_schema
, get_table_comment
, get_column_comments
, get_table_indexes
).get_catalog_list
).الاستعلام عن سجلات التدقيق
get_recent_audit_logs
، مع دعم نطاق زمني مخصص وقيود السجلات.إطار عمل أمان على مستوى المؤسسات
تحسين الأداء
performance_stats
).أوضاع اتصال متعددة
/mcp
موحدة (src/streamable_server.py
)./sse
و /mcp/messages
(src/sse_server.py
).src/stdio_server.py
).وظائف تجريبية
column_analysis
)، يوفر رؤى حول البيانات.تصميم بنية المشروع معياري وفعال، ويتضمن المكونات الرئيسية التالية:
/mcp
موحدة، مما يبسط التكامل.doris_mcp_server/utils/db.py
: يوفر اتصال قاعدة البيانات (get_db_connection
) ووظائف تنفيذ الاستعلام (execute_query
, execute_query_df
).doris_mcp_server/utils/schema_extractor.py
: فئة MetadataExtractor
مسؤولة عن استخراج البيانات الوصفية، بما في ذلك آلية التخزين المؤقت.doris_mcp_server/utils/sql_executor_tools.py
: وظيفة execute_sql_query
تغلف منطق الاستعلام، بما في ذلك الفحص الأمني وتسلسل النتائج.DB_HOST
, DB_PORT
, DB_USER
, DB_PASSWORD
).تطور البنية: قام الإصدار 0.3.0 بإزالة حوالي 300 سطر من التعليمات البرمجية القديمة لـ SSE، والانتقال إلى HTTP القابل للتدفق، وتوحيد تسمية الأدوات (إزالة البادئة
mcp_doris_
)، وزيادة درجة النمطية.
uv
أو pip
)git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
uv
(موصى به) أو pip
للتثبيت:uv sync
أو
pip install -r requirements.txt
.env
أو قم بتعيين متغيرات البيئة مباشرة:export DORIS_HOST=<doris-host>
export DORIS_PORT=<port>
export DORIS_USER=<doris-user>
export DORIS_PASSWORD=<doris-pwd>
export SERVER_PORT=3000
uv run --with mcp-doris --python 3.13 mcp-doris
أو
python -m mcp_doris.mcp_server
http://localhost:5173
).قم بتشغيل البرنامج النصي للاختبار للتحقق من اتصال قاعدة البيانات:
python src/doris-mcp-server/test.py
الناتج المتوقع:
🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.
تحليل البيانات في الوقت الفعلي
استكشاف البيانات الوصفية
الذكاء الاصطناعي المدفوع بالأعمال
إدارة الامتثال للأمان
بيئة الكتالوجات المتعددة
column_analysis
) تجريبية وقد تحتوي على أخطاء. Apache Doris MCP Server هو أداة قوية ومرنة تربط قاعدة بيانات Apache Doris باحتياجات التحليل المدفوعة بالذكاء الاصطناعي. إن ميزاته مثل NL2SQL وإدارة البيانات الوصفية والأمان وتحسين الأداء تجعله يتمتع بإمكانات واسعة في تحليل البيانات في الوقت الفعلي وذكاء الأعمال وتطبيقات المؤسسات.