خادم Kubernetes MCP - تفاصيل المشروع
نظرة عامة على المشروع
خادم Kubernetes MCP هو خادم بروتوكول محتوى النموذج (Model Content Protocol) مصمم خصيصًا لإدارة مجموعات Kubernetes. يسمح لوكلاء الذكاء الاصطناعي (مثل Claude) بالاتصال بمجموعات Kubernetes وإدارتها من خلال أوامر اللغة الطبيعية، مما يبسط بشكل كبير تعقيد تنسيق الحاويات وعمليات المجموعة.
عنوان المشروع: https://github.com/Flux159/mcp-server-kubernetes
الميزات الأساسية
🎯 الاتصال بالمجموعة وإدارتها
- الاتصال التلقائي بالمجموعة التي تم تكوينها في سياق kubectl الحالي
- دعم بيئات Kubernetes المتعددة (minikube و Rancher Desktop و GKE وما إلى ذلك)
- التوافق الكامل مع تكوينات kubeconfig الحالية
📦 إدارة Pod والنشر
- عمليات Pod: إنشاء ووصف وحذف Pod
- إدارة النشر: سرد جميع عمليات النشر وتحديث عدد النسخ المتماثلة
- تكوين مخصص: دعم إنشاء تكوينات Pod ونشر مخصصة
- عرض السجلات: الحصول على سجلات Pod لتصحيح الأخطاء (يدعم Pod وعمليات النشر والوظائف ومحددات التسمية)
🌐 إدارة الخدمة والشبكة
- عمليات الخدمة: إنشاء ووصف وحذف وتحديث الخدمات
- إعادة توجيه المنفذ: دعم إعادة توجيه المنفذ لـ Pod أو الخدمات
- تكوين الشبكة: دعم كامل لإدارة شبكة Kubernetes
🗂️ إدارة الموارد والتكوين
- مساحات الأسماء: سرد جميع مساحات الأسماء وإنشاء مساحات أسماء جديدة
- ConfigMap: إنشاء والحصول على وتحديث وحذف خرائط التكوين
- إدارة العقد: سرد ووصف عقد المجموعة
- المهام المجدولة: إنشاء وسرد ووصف CronJob
⚙️ دعم تكامل Helm
- تثبيت المخططات: تثبيت مخططات Helm بقيم مخصصة
- إدارة الإصدار: دعم مواصفات الإصدار والمستودعات المخصصة
- إدارة النشر: إلغاء تثبيت وترقية عمليات النشر الحالية
- دعم مساحة الاسم: عزل كامل لمساحة الاسم
🔧 ميزات متقدمة
- دعم kubectl: أوامر kubectl explain و kubectl api-resources
- مراقبة الأحداث: الحصول على معلومات أحداث المجموعة
- الوضع غير المدمر: وضع آمن يسمح فقط بعمليات القراءة والإنشاء/التحديث
- المراقبة في الوقت الفعلي: دعم عرض حالة المجموعة في الوقت الفعلي
هيكل النظام
مخطط الهيكل
Client (Claude/AI Agent)
↓
StdioTransport (طبقة نقل الاتصالات)
↓
MCP Server (معالجة البروتوكول)
↓
Request Handler (توجيه الطلب)
↓
KubernetesManager (مدير K8s)
↓
Kubernetes API (واجهة برمجة تطبيقات المجموعة)
سير الطلب
- طلب العميل: يرسل وكيل الذكاء الاصطناعي طلبًا عبر STDIO
- طبقة النقل: StdioTransport يعيد توجيه الطلب إلى خادم MCP
- معالجة التوجيه: يقوم الخادم بتوجيه الطلب إلى المعالج المناسب
- تنفيذ الأداة: يقوم KubernetesManager بتنفيذ عمليات K8s المحددة
- استدعاء API: التفاعل مع Kubernetes API
- إرجاع الاستجابة: يتم إرجاع نتائج المعالجة طبقة تلو الأخرى إلى العميل
التثبيت والتكوين
متطلبات البيئة
- kubectl: مثبت ومكوّن في PATH
- kubeconfig: ملف kubeconfig صالح وتكوين السياق
- مجموعة Kubernetes: مجموعة يمكن الوصول إليها (minikube و GKE و EKS وما إلى ذلك)
- Helm v3: اختياري، إذا كنت ترغب في استخدام وظائف Helm
- Node.js: بيئة التشغيل
التثبيت السريع
التثبيت عبر NPM (موصى به)
# تثبيت عالمي
npm install -g mcp-server-kubernetes
# أو استخدم npx لتشغيلها مباشرة
npx mcp-server-kubernetes
تكامل Claude Desktop
قم بتحرير ملف claude_desktop_config.json
:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
التحقق من الاتصال
بعد الانتهاء من التثبيت، يمكنك:
- اطلب من Claude سرد Pod الخاص بك
- إنشاء نشر اختبار
- في حالة وجود أخطاء، قم أولاً بتشغيل
kubectl get pods
في الجهاز للتحقق من الاتصال
إعداد بيئة التطوير
التطوير المحلي
# استنساخ المستودع
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
# تثبيت التبعيات (يتطلب bun)
bun install
# بدء التشغيل في وضع التطوير (الاستماع إلى تغييرات الملف)
bun run dev
# تشغيل اختبارات الوحدة
bun run test
# بناء المشروع
bun run build
حالات الاستخدام والأمثلة
🚀 سيناريوهات العمليات اليومية
- "سرد حالة جميع Pod" - عرض سريع لحالة المجموعة
- "إنشاء نشر nginx، 3 نسخ متماثلة" - نشر سريع للتطبيق
- "عرض سجلات Pod التي بها أخطاء في مساحة اسم default" - استكشاف الأخطاء وإصلاحها
- "إعادة توجيه منفذ التطبيق إلى 8080 محليًا" - تصحيح الأخطاء محليًا
📊 المراقبة وتصحيح الأخطاء
- "عرض جميع الأحداث في المجموعة" - مراقبة نشاط المجموعة
- "وصف معلومات مفصلة عن العقدة node-1" - تحليل الموارد
- "عرض أحدث عمليات تنفيذ CronJob" - مراقبة المهام المجدولة
🛠️ نشر التطبيق
- "تثبيت مخطط Redis باستخدام Helm" - نشر سريع للبرامج الوسيطة
- "تحديث عدد النسخ المتماثلة لنشر web-app إلى 5" - عملية توسيع النطاق
- "إنشاء ConfigMap لبيئة الإنتاج" - إدارة التكوين
تكوين متقدم
الوضع غير المدمر
قم بتعيين متغير البيئة لتمكين الوضع الآمن:
export ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true
في هذا الوضع، يُسمح فقط بعمليات القراءة والإنشاء/التحديث، ويتم حظر عمليات الحذف.
بروتوكول نقل SSE
دعم بروتوكول نقل أحداث دفع الخادم، راجع ADVANCED_README.md
الخاص بالمشروع للحصول على تكوين مفصل.
مصادقة المجموعة
دعم طرق مصادقة Kubernetes المتعددة:
- مصادقة الشهادة
- مصادقة الرمز المميز
- مصادقة OIDC
- تكامل IAM لموردي الخدمات السحابية
المكدس التقني والتبعيات
التقنيات الأساسية
- وقت التشغيل: Node.js + Bun
- البروتوكول: Model Content Protocol (MCP)
- عميل Kubernetes: Official Kubernetes JavaScript Client
- طبقة النقل: STDIO Transport
- إدارة الحزم: Helm v3
التبعيات الرئيسية
@kubernetes/client-node
: عميل Kubernetes JS الرسمي
@modelcontextprotocol/sdk
: MCP protocol SDK
commander
: تحليل معلمات سطر الأوامر
yaml
: معالجة ملفات YAML
المشاريع والنظام البيئي ذات الصلة
نظام MCP البيئي
- mcp-chat: عميل دردشة CLI لخادم MCP
- MCP Inspector: أداة تصحيح بروتوكول MCP
- Claude Desktop: تطبيق سطح مكتب مساعد الذكاء الاصطناعي الذي يدعم MCP
سلسلة أدوات Kubernetes
- kubectl: أداة سطر الأوامر الرسمية
- Helm: مدير الحزم
- minikube: بيئة تطوير محلية
- Rancher Desktop: بيئة Kubernetes لسطح المكتب
آفاق التطبيق والقيمة
🎯 تحسين كفاءة العمليات
من خلال تشغيل مجموعات Kubernetes باللغة الطبيعية، يتم تقليل منحنى التعلم وتحسين كفاءة العمليات. يمكن للمبتدئين أيضًا البدء بسرعة في مهام إدارة المجموعة المعقدة.
🤖 عمليات ذكية
بالاشتراك مع قدرات التحليل الذكي لوكلاء الذكاء الاصطناعي، يمكن تحقيق:
- التشخيص التلقائي للأعطال
- توصيات الموارد الذكية
- الصيانة التنبؤية
- تحسين النشر التلقائي
🔗 تكامل سلس
متوافق تمامًا مع نظام Kubernetes البيئي الحالي، ولا حاجة لتغيير سير العمل الحالي، ويمكن إدخال عمليات مدعومة بالذكاء الاصطناعي تدريجيًا.
📈 اتجاهات التطوير المستقبلية
- دعم المزيد من أنواع موارد Kubernetes
- دمج المزيد من الأدوات السحابية الأصلية
- تعزيز الأمان والتحكم في الأذونات
- دعم إدارة المجموعات المتعددة
- واجهة تشغيل رسومية
ملخص
يمثل مشروع خادم Kubernetes MCP محاولة مبتكرة للجمع بين الذكاء الاصطناعي والتقنيات السحابية الأصلية. من خلال واجهة اللغة الطبيعية، فإنه يبسط تعقيد إدارة مجموعة Kubernetes، مما يسمح لموظفي العمليات بإدارة التطبيقات المعبأة في حاويات بشكل أكثر سهولة وكفاءة.
سواء كنت مبتدئًا في Kubernetes أو خبير عمليات متمرسًا، يمكن لهذه الأداة تحسين كفاءتك بشكل كبير. من خلال التكامل مع مساعدي الذكاء الاصطناعي مثل Claude، فإنه يفتح إمكانيات جديدة للعمليات الذكية وهو إضافة قوية إلى سلسلة أدوات DevOps الحديثة.
مع استمرار تطور التقنيات السحابية الأصلية والتقدم المستمر لتقنيات الذكاء الاصطناعي، نعتقد أن هذه الأنواع من الأدوات ستلعب دورًا متزايد الأهمية في عمليات تكنولوجيا المعلومات المستقبلية.