/ الدليل / الملعب / k8s-mcp-server
● مجتمع alexei-led ⚡ فوري

k8s-mcp-server

بواسطة alexei-led · alexei-led/k8s-mcp-server

منح Claude أدوات kubectl و helm و istioctl و argocd — مع التحقق من الأوامر والتنفيذ بدون صلاحيات الجذر وملف kubeconfig محدود النطاق — حتى تتمكن من إدارة مجموعتك عبر الدردشة.

يعمل k8s-mcp-server كحاوية Docker تقوم بتثبيت kubeconfig الخاص بك بصلاحيات القراءة فقط. يوفر غلافاً حول kubectl و helm و istioctl و argocd بالإضافة إلى أدوات Unix (jq و grep و sed) للأنابيب. يتضمن وضعي أمان (محدود افتراضياً وسماح) ومدقق أوامر بحيث لا يمكن لـ Claude أن يقوم عن طريق الخطأ بـ kubectl delete namespace لإنتاجك.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

k8s.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "k8s": {
      "command": "uvx",
      "args": [
        "k8s-mcp-server"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "k8s": {
      "command": "uvx",
      "args": [
        "k8s-mcp-server"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "k8s": {
      "command": "uvx",
      "args": [
        "k8s-mcp-server"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "k8s": {
      "command": "uvx",
      "args": [
        "k8s-mcp-server"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "k8s",
      "command": "uvx",
      "args": [
        "k8s-mcp-server"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "k8s": {
      "command": {
        "path": "uvx",
        "args": [
          "k8s-mcp-server"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add k8s -- uvx k8s-mcp-server

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: k8s-mcp-server

فحص صحة المجموعة الصباحي عبر الدردشة

👤 مهندسو الموثوقية والمنصات ⏱ ~5 min intermediate

متى تستخدمه: يومياً، قبل الاجتماع الصباحي — هل هناك شيء معطل؟ هل هناك قرود تتحطم؟

المتطلبات الأساسية
  • ملف kubeconfig على المضيف — عادة ~/.kube/config
الخطوات
  1. بدء حاوية MCP
    ابدأ k8s-mcp-server عبر Docker مع تثبيت ~/.kube بصلاحيات القراءة فقط.✓ تم النسخ
    → الحاوية تعمل
  2. تشغيل الفحوصات
    عبر جميع الأسماء، اسرد القرود التي ليست في حالة Running والعقد التي ليست في حالة Ready والأحداث الحديثة (آخر ساعة) من نوع Warning.✓ تم النسخ
    → تقرير صحة ثلاثي الأجزاء
  3. الفحص والتصنيف
    لكل قرد يتحطم، احصل على آخر 50 سطر من السجل واقترح السبب الأكثر احتمالاً.✓ تم النسخ
    → مقاطع السجل + التشخيصات

النتيجة: فحص نبض المجموعة اليومي لمدة 5 دقائق.

المزالق
  • تشغيل kubectl get events على مستوى المجموعة يغمر السياق — قم دائماً بالتصفية حسب الوقت والنوع

تصحيح إصدار Helm الفاشل

👤 المطورون الذين يشحنون مخططات Helm ⏱ ~15 min intermediate

متى تستخدمه: فشل helm upgrade وتريد معرفة السبب دون نسخ رسائل الخطأ ذهاباً وإياباً.

الخطوات
  1. الحصول على السجل
    helm history my-app -n production. ما الذي تغير بين الإصدار v4 (يعمل) و v5 (فاشل)؟✓ تم النسخ
    → اختلاف الإصدار
  2. مقارنة القوالب
    عرض القالب الخاص بـ v5 بالقيم الحالية والمقارنة مع v4. أبرز الاختلافات.✓ تم النسخ
    → مقارنة البيانات الوصفية المعروضة
  3. الرجوع للإصدار السابق إذا لزم الأمر
    عد للإصدار v4. تأكد من أن جميع القرود في حالة Ready.✓ تم النسخ
    → الرجوع + فحص الصحة

النتيجة: تعافي سريع مع الفهم، وليس مجرد حظ.

المزالق
  • الرجوع للإصدار السابق دون التقاط الفشل أولاً يعني أنك لن تستطيع الإصلاح للأمام — احفظ دائماً helm get all v5 في ملف قبل الرجوع للإصدار السابق
اجمعها مع: filesystem

تدقيق تطبيقات Argo CD للانجراف

👤 ممارسو GitOps ⏱ ~20 min advanced

متى تستخدمه: تشك في أن شخصاً ما استخدم kubectl لإضافة شيء إلى الإنتاج بدون أن يعرفه Argo CD.

الخطوات
  1. اسرد التطبيقات غير المتزامنة
    argocd app list --output json. صفّ للتطبيقات حيث حالة المزامنة ليست Synced.✓ تم النسخ
    → قائمة غير متزامنة
  2. مقارنة كل واحد
    لكل تطبيق منجرف، شغّل argocd app diff واختصر ما يختلف عن Git.✓ تم النسخ
    → ملخص مقارنة لكل تطبيق

النتيجة: صورة واضحة للانجراف اليدوي الذي يجب التوفيق بينه.

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

k8s + github

عندما يكون التطبيق معطلاً في المجموعة، افتح مشكلة GitHub مع سجلات القرود

إذا كان هناك أي قرد في مساحة الاسم 'payments' يتحطم، احصل على السجلات وافتح مشكلة GitHub مرفق بها.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
kubectl command: str (full kubectl args) عمليات المجموعة العامة free
helm command: str إدارة الإصدار free
istioctl command: str عمليات شبكة الخدمة free
argocd command: str عمليات GitOps (يتطلب تسجيل الدخول إلى argocd في الحاوية) free

التكلفة والحدود

تكلفة التشغيل

حصة API
بلا حدود
الرموز لكل استدعاء
يمكن أن يكون kubectl get -o yaml ضخماً جداً؛ فضل -o json | jq للقص
التكلفة المالية
مجاني، MIT
نصيحة
استخدم دائماً -o wide أو -o jsonpath=... للقص. kubectl get all مفخخة رموز.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: Kubeconfig محدود لـ ServiceAccount بامتيازات أقل
تخزين بيانات الاعتماد: ثبت ~/.kube بصلاحيات القراءة فقط في الحاوية
نقل البيانات الخارجي: حركة البيانات إلى خادم API مجموعتك فقط
لا تمنح أبدًا: إعطاء ServiceAccount cluster-admin للملف kubeconfig المستخدم من قبل MCP

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

The connection to the server localhost:8080 was refused

لم يتم تثبيت kubeconfig أو متغير البيئة KUBECONFIG غير صحيح في الحاوية.

تحقق: docker exec ... kubectl config view
Command blocked in restrictive mode

إما صياغة أمر أضيق، أو الاختيار صراحة لوضع السماح لتلك الجلسة.

Timeout on long-running command

ارفع K8S_MCP_TIMEOUT. بالنسبة للعمليات الطويلة جداً، شغّل بشكل غير متزامن عبر Job وصرّح.

البدائل

k8s-mcp-server مقابل البدائل

البديلمتى تستخدمهاالمقايضة
kubectl مباشر عبر ssh-managerتفضل تشغيل kubectl على جهاز القفزأقل تنظيماً؛ بدون تحقق من الأوامر
Kagent / AIOps SaaS MCPsتريد خدمة مُدارة بدلاً من الاستضافة الذاتيةتكاليف مالية؛ سيطرة أقل

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills