/ الدليل / الملعب / ArgoCD
● رسمي argoproj-labs 🔑 يتطلب مفتاحك

ArgoCD

بواسطة argoproj-labs · argoproj-labs/mcp-for-argocd

افحص وقارن وزامن تطبيقات ArgoCD من خلال Claude — إدارة حالة التجميع عبر GitOps دون الحاجة لتبديل السياق kubectl.

يغلف MCP من ArgoProj Labs واجهة برمجة ArgoCD: إدراج التطبيقات، عرض حالة المزامنة والصحة، ومقارنة الحالة المطلوبة بالحالة الفعلية، وتشغيل عمليات المزامنة، وقراءة ملفات التطبيق. الرموز بنطاق قراءة فقط للمراقبة، وللكتابة فقط عند الحاجة الصريحة للمزامنة أو الكتابة فوق.

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

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

عرض مباشر

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

argocd.replay ▶ جاهز
0/0

التثبيت

اختر العميل

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

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "argocd": {
      "command": "uvx",
      "args": [
        "mcp-for-argocd"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "argocd": {
      "command": "uvx",
      "args": [
        "mcp-for-argocd"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "argocd": {
      "command": "uvx",
      "args": [
        "mcp-for-argocd"
      ]
    }
  }
}

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

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

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

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

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

claude mcp add argocd -- uvx mcp-for-argocd

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

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

استخدامات عملية: ArgoCD

اكتشاف تطبيقات ArgoCD التي انجرفت عن المزامنة

👤 فرق المنصة / SRE التي تدير GitOps ⏱ ~20 min intermediate

متى تستخدمه: أسبوعياً: أي التطبيقات في أي التجاميع تكون OutOfSync أو Degraded ولماذا؟

المتطلبات الأساسية
  • رمز API ArgoCD بنطاق قراءة — argocd account generate-token --account <read-only-user>
  • عنوان URL خادم ArgoCDARGOCD_SERVER=argocd.my.company.com
الخطوات
  1. إدراج التطبيقات مع الحالة
    أدرج جميع تطبيقات ArgoCD. لكل واحد: الاسم والمشروع وحالة المزامنة وحالة الصحة ووقت آخر مزامنة.✓ تم النسخ
    → جرد كامل
  2. التركيز على الانجراف
    صفف التطبيقات حيث syncStatus != 'Synced' أو health != 'Healthy'. رتبها حسب الوقت منذ آخر مزامنة.✓ تم النسخ
    → قائمة التطبيقات المشكلة
  3. مقارنة تطبيق محدد
    للتطبيق <name>، اعرض الفرق بين المطلوب (git) والفعلي. أي الموارد خارج المزامنة؟✓ تم النسخ
    → مقارنة على مستوى المورد

النتيجة: تقرير انجراف أسبوعي يحدد أي التطبيقات تحتاج انتباه ولماذا.

المزالق
  • انجراف ناتج عن مورد شرعي وقت التشغيل فقط (مثل HPA scaled replicas) — قم بتكوين ignoreDifferences في مواصفات التطبيق لاستبعاد الحقول التي تتغير في وقت التشغيل
اجمعها مع: notion

مراجعة وتطبيق مزامنة لتطبيق محدد

👤 مهندسو DevOps الذين يروجون للتغييرات ⏱ ~15 min intermediate

متى تستخدمه: دمج PR إلى main؛ يعرض ArgoCD التطبيق كـ OutOfSync في انتظار موافقتك.

المتطلبات الأساسية
  • رمز بإذن المزامنة على المشروع المستهدف — دور يسمح بـ applications, sync, <project>/*
الخطوات
  1. افحص التغيير المعلق
    للتطبيق <name>، اعرض المقارنة. ما الموارد التي تتغير، ما نطاق التأثير؟✓ تم النسخ
    → مقارنة محددة
  2. تحقق من الالتزام المصدر
    أي SHA التزام تشير إليه الحالة المطلوبة؟ اعرض رسالة التزام GitHub و PR.✓ تم النسخ
    → السياق + PR الالتزام
  3. زامن مع prune=false أولاً
    شغل المزامنة لـ <name> مع prune=false و dryRun=false. انتظر الاكتمال، اعرض الحالة النهائية.✓ تم النسخ
    → نجحت المزامنة؛ الصحة سليمة

النتيجة: نشر مع مراجعة مسبقة وليس مفاجأة؛ الحذف بواسطة prune يحدث صراحة فقط.

المزالق
  • المزامنة مع prune=true قد تحذف موارد تحتاجها لا تزال — ابدأ دائماً مع prune=false؛ فقط فعّل prune عندما تؤكد عدم وجود موارد منشأة يدوياً في Namespace
اجمعها مع: github

استرجاع طوارئ إلى مراجعة git سابقة

👤 SREs أثناء حادثة نشر سيئة ⏱ ~15 min advanced

متى تستخدمه: تم نشر، ارتفعت الأخطاء، وتحتاج للعودة إلى آخر حالة معروفة صحيحة.

الخطوات
  1. احصل على الحالة الحالية + السجل
    للتطبيق <name>، اعرض المراجعة الحالية وآخر 5 مراجعات مُنشرة مع الطوابع الزمنية.✓ تم النسخ
    → جدول السجل
  2. اختر هدف الاسترجاع
    ما كانت المراجعة قبل مزامنتين؟ أكد أن SHA الخاص بها يطابق التزام git قبل بدء الحادثة.✓ تم النسخ
    → تم تحديد SHA المستهدف
  3. استرجع
    زامن <name> إلى المراجعة <SHA> مع prune=false. راقب حتى تصبح Healthy. انشر في Teams عند الانتهاء.✓ تم النسخ
    → تم استرجاع التطبيق + تم إرسال الإخطار

النتيجة: استرجاع نظيف مع سجل تدقيق، عادة أقل من 5 دقائق.

المزالق
  • استرجاع التطبيق فقط لكن الهجرة قاعدة البيانات تقدمت بالفعل — هجرات قاعدة البيانات تحتاج خطة استرجاع منفصلة؛ أحياناً المتابعة للأمام مع إصلاح أأمن من الاسترجاع ضد مخطط قاعدة بيانات متغير
اجمعها مع: sentry · ms-teams

بناء جرد تطبيقات عبر التجاميع

👤 فرق المنصة التي تدير تجاميع كثيرة ⏱ ~20 min intermediate

متى تستخدمه: تشغيل ArgoCD في نموذج hub-spoke وتريد قائمة مسطحة: 'أي التطبيقات تعمل أين'.

الخطوات
  1. أدرج التجاميع التي تدير ArgoCD
    أدرج جميع التجاميع المسجلة في ArgoCD مع اسمها وعنوان URL الخادم.✓ تم النسخ
    → جرد التجاميع
  2. رسم خريطة التطبيقات للتجاميع
    لكل تطبيق، اعرض تجميع الوجهة والـ namespace. جمّع حسب التجميع.✓ تم النسخ
    → قائمة التطبيقات لكل تجميع
  3. علّم التوضعات غير المعتادة
    أي تطبيق مُنشر في تجميع غير متوقع (مثل تطبيق 'prod-only' في تجميع تطوير)؟ علّمه بالسبب.✓ تم النسخ
    → قائمة الحالات الشاذة

النتيجة: خريطة محدثة لما يعمل أين، مفيدة للتدقيق والتخطيط السعوي.

المزالق
  • إدخالات تجميع قديمة — تمت إزالة الأسرار لكن التجميع لا يزال مدرجاً — تحقق دورياً من أن كل تجميع يمكن الوصول إليه؛ أزل القديمة

التركيبات

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

argocd + github

مرجع متقاطع بين مزامنة Argo و PR الذي تسبب فيه

للتطبيق <name>، اعرض SHA المراجعة الحالية؛ احصل على GitHub PR الذي قدمه وخلص التغيير.✓ تم النسخ
argocd + sentry

ربط مزامنة Argo برفقة خطأ ما بعد النشر

تم مزامنة التطبيق <name> في 14:02؛ هل ارتفعت أخطاء Sentry بعد ذلك؟ إذا كان الجواب نعم، اعرض أفضل مشكلة قدمت.✓ تم النسخ
argocd + ms-teams

انشر أحداث المزامنة/الاسترجاع إلى قناة Teams

بعد أي مزامنة يدوية للتطبيق <name>، انشر رسالة إلى Teams #deploys مع SHA المراجعة ومن شغّلها.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_applications project?, selector? جرد التطبيقات free
get_application name الحالة التفصيلية لتطبيق محدد free
get_application_diff name, revision? معاينة ما ستغيره مزامنة free
sync_application name, revision?, prune?, dryRun?, resources? تطبيق التغييرات المعلقة مجاني (يشغل عمل التجميع)
get_application_resource_tree name افحص الموارد الحية التي يمتلكها تطبيق free
list_clusters جرد عبر التجاميع free

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

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

حصة API
محدود بسعة خادم ArgoCD الخاص بك؛ حد عملي ~10 req/s
الرموز لكل استدعاء
إدراج التطبيقات: 500–3000 tokens. المقارنة: ما يصل إلى 5000.
التكلفة المالية
مجاني — ArgoCD مفتوح المصدر، تدفع فقط للبنية التحتية التي تستضيفها.
نصيحة
احفظ قائمة التطبيقات في الذاكرة؛ استخدم المحددات (project, label) لتضييق الاستعلامات بدلاً من إدراج الكل.

الأمان

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

الحد الأدنى من الصلاحيات: قراءة التطبيقات والتجاميع لجلسات القراءة فقط
تخزين بيانات الاعتماد: ARGOCD_AUTH_TOKEN و ARGOCD_SERVER في البيئة
نقل البيانات الخارجي: استدعاءات لخادم ArgoCD الخاص بك فقط
لا تمنح أبدًا: مشرف مزامنة على جميع المشاريع دون سبب account:update

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

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

401 غير مصرح

انتهت صلاحية ARGOCD_AUTH_TOKEN أو تم إلغاؤها. أنشئ جديد عبر argocd account generate-token.

تحقق: argocd account get-user-info --auth-token $ARGOCD_AUTH_TOKEN
403 لا توجد إذن على المزامنة

الدور يفتقد إذن applications, sync, <project>/*. حدّث AppProject أو دور الحساب.

المزامنة عالقة في Progressing لأكثر من 10 دقائق

عادة مورد عالق — تحقق من resource-tree بحثاً عن hook فاشل أو controller عالق؛ قد تحتاج تدخل يدوي في-cluster.

المقارنة تعرض انجراف غير متوقع على كل مزامنة

تتحكم في طفرة الحقول في وقت التشغيل. أضف ignoreDifferences إلى مواصفات التطبيق لتلك الحقول.

البدائل

ArgoCD مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Flux MCPتستخدم Flux بدلاً من ArgoCD للـ GitOpsمحرك GitOps مختلف؛ نموذج يركز على سطر الأوامر أولاً
Kubernetes MCP (raw kubectl)تريد وصول مباشر للتجميع دون تجريد GitOpsإلزامي — يهزم الغرض من GitOps للتطبيقات المُدارة

المزيد

الموارد

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

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

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