/ الدليل / الملعب / GitHub
● رسمي github 🔑 يتطلب مفتاحك

GitHub

بواسطة github · github/github-mcp-server

امنح Claude إمكانية الوصول الكامل إلى GitHub — المشاكل والطلبات والبحث والتعديلات — دون مغادرة نافذة الدردشة.

خادم MCP من GitHub نفسه. أي شيء يمكنك فعله عبر واجهات GitHub REST أو GraphQL API، يمكن لوكيلك أيضاً أن يفعله: تصنيف المشاكل، مراجعة الطلبات، البحث في كود المؤسسة، صياغة الالتزامات. يتم دعم وضع القراءة فقط وينصح به للتشغيل الأول.

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

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

عرض مباشر

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

github.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "github",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "github": {
      "command": {
        "path": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ]
      }
    }
  }
}

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

claude mcp add github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server

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

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

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

كيفية العثور على مشكلة أولى جيدة وتسليم إصلاح في ساعة

👤 مساهمو المصدر المفتوح الباحثون عن أول طلب منخفض الاحتكاك ⏱ ~60 min beginner

متى تستخدمه: تريد المساهمة في مشروع لكنك لا تعرف من أين تبدأ. ملف CONTRIBUTING.md الخاص بمسؤول المشروع عام جداً ولا يكون مفيداً.

المتطلبات الأساسية
  • رمز وصول شخصي GitHub بـ repo:read و issues:read — github.com/settings/tokens — دقيق، محدود للمستودع الذي تريد المساهمة فيه
  • تثبيت filesystem MCP أيضاً — يسمح لـ Claude باستنساخ وقراءة المستودع محلياً لكتابة الإصلاح الفعلي
الخطوات
  1. اطلب من Claude العثور على مشاكل مميزة بـ good first issue بدون تعليقات، مرتبة حسب البساطة
    ابحث عن المشاكل المفتوحة في modelcontextprotocol/servers بعلامة 'good first issue' بدون مكلف وبدون تعليقات. اختر الذي يبدو الأسهل لإصلاحه واشرح السبب.✓ تم النسخ
    → يعيد Claude من 3 إلى 5 مرشحين مع تقييم صعوبة بسطر واحد لكل منهم
  2. اطلب من Claude جلب نص المشكلة وأي كود مرتبط
    اسحب نص المشكلة الكامل لـ #<num> واقرأ الملف الذي يذكره. أخبرني بالتغيير الفعلي الذي يحتاج إلى حدوثه.✓ تم النسخ
    → نية التغيير الملموسة، وليس مجرد إعادة صياغة المشكلة
  3. استخدم filesystem MCP لإجراء التعديل، ثم GitHub MCP لصياغة الطلب
    طبق التغيير، اكتب وصف الطلب الذي يشكر مسؤول المشروع ويشرح الإصلاح في 3 جمل.✓ تم النسخ
    → يفتح الطلب مع إرجاع الرابط

النتيجة: طلب مفتوح يحترم أسلوب المشروع، ويشير إلى المشكلة، وصغير بما يكفي للدمج في نفس اليوم.

المزالق
  • يختار Claude مشكلة 'أولى جيدة' لكنها في الواقع تتعفن منذ سنتين لأن أحداً لم يستطع الاتفاق على الإصلاح — أضف لم يكن هناك تعليقات جديدة من المسؤولين في آخر 90 يوماً كمرشح
  • نص الطلب عام وكلام AI — اطلب من Claude أن يحاكي نبرة آخر 3 طلبات مدمجة في المشروع أولاً
اجمعها مع: filesystem · git

إنشاء ملخص طلبات أسبوعي لفريقك

👤 مديرو الهندسة، قادة التكنولوجيا ⏱ ~10 min intermediate

متى تستخدمه: كل صباح الاثنين عندما تفضل عدم الضغط على 40 إخطار طلب.

المتطلبات الأساسية
  • رمز وصول شخصي محدود لمستودعات فريقك بـ pull_requests:read — استخدم رمز دقيق، لا تستخدم أبداً رمز 'جميع المستودعات' الكلاسيكي
الخطوات
  1. اطلب من آخر الطلبات المدمجة مع أحجام الفروقات الخاصة بها
    اسرد جميع الطلبات المدمجة في org/repo بيننا بين الاثنين الماضي واليوم. أدرج المؤلف وسطور +/- وملخص بسطر واحد.✓ تم النسخ
    → جدول من 10-30 صف مع فروقات ملموسة
  2. تجميع حسب المؤلف والموضوع
    جمّع هذه حسب المنطقة (auth, payments, frontend, infra...) وعلم أي منها يبدو وكأنه نسخ احتياطي أو إصلاحات سريعة.✓ تم النسخ
    → أقسام بتجميع موضوعي
  3. صياغة ملخص جاهز لـ Slack
    الآن اكتب منشور Slack يلخص الأسبوع — احتفل بالانتصارات الكبيرة، اشر إلى التغييرات المحفوفة بالمخاطر، اذكر أسماء الأشخاص الذين نقلوها.✓ تم النسخ
    → Markdown مع @mentions، emoji، جاهز للصق

النتيجة: ملخص بـ 5 نقاط تريد فعلاً قراءته صباح الاثنين.

المزالق
  • يضرب الحد الأقصى للمعدل إذا كانت لديك مستودعات كثيرة — رشح إلى مستودع واحد في المرة الواحدة، أو قم بالترقية إلى رمز تطبيق GitHub (15k req/h مقابل 5k)
اجمعها مع: linear · sentry

ابحث عن كل مكان يستخدم فيه الكود API مستبدل

👤 مهندسو الخادم الذي يخططون للهجرة ⏱ ~30 min intermediate

متى تستخدمه: أنت على وشك جعل فئة/دالة داخلية مستبدلة وتحتاج إلى معرفة من يستخدمها قبل الإعلان.

المتطلبات الأساسية
  • رمز وصول شخصي بـ repo:read لجميع المستودعات في مؤسستك — استخدم تطبيق GitHub للوصول على مستوى المؤسسة — أسهل من التعامل مع رموز لكل مستودع
الخطوات
  1. استخدم البحث في الكود عبر المؤسسة
    ابحث في مؤسسة acme-corp بأكملها عن أي استخدام لفئة LegacyAuth. أرجع مسارات الملفات مجمعة حسب المستودع.✓ تم النسخ
    → قائمة المستودعات والملفات، مع أرقام الأسطر
  2. لكل تطابق، جلب السياق
    لكل تطابق، اجلب 5 أسطر حول الاستخدام وأخبرني ما إذا كانت استدعاء حقيقي أو مجرد تعليق/استيراد.✓ تم النسخ
    → قائمة مرشحة تميز بين الاستدعاءات الحقيقية والضوضاء
  3. إنشاء مشكلة تتبع الهجرة
    أنشئ مشكلة تتبع في acme-corp/platform بعنوان 'الهجرة من LegacyAuth' مع قائمة تحقق من كل موقع استدعاء حقيقي والفريق الذي يمتلك كل مستودع.✓ تم النسخ
    → تم إنشاء المشكلة مع قائمة تحقق شاملة

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

المزالق
  • يتم البحث في الكود بحد أقصى من 1000 نتيجة لكل استعلام — إذا وصلت إليه، ضيقه حسب اللغة أو المسار: LegacyAuth language:python أو قسّم الاستعلامات حسب بادئة المستودع
  • GitHub يفهرس فقط الفرع الافتراضي — لن يجد الاستخدام في فروع الميزات — ملء بـ grep محلي على المستودعات المستنسخة
اجمعها مع: filesystem

احصل على رأي ثان في طلب معقد قبل الموافقة

👤 مراجعو الكود يواجهون طلب خارج منطقتهم المتخصصة ⏱ ~15 min intermediate

متى تستخدمه: أنت المراجع المعين على طلب يلمس كود لا تعرفه جيداً، ولا تريد مجرد الموافقة.

الخطوات
  1. اسحب فروقات الطلب والوصف
    اجلب الطلب #<num> في org/repo — أعطني الفروقات والوصف. ماذا يدعي المؤلف أن هذا يفعله؟✓ تم النسخ
    → إعادة صياغة واضحة للنية
  2. اطلب قراءة معمارية
    الآن انظر إلى الملفات الموجودة التي يلمسها هذا الطلب. هل التغيير يناسب الأنماط الموجودة، أم أنه يقدم نمط جديد؟ إن كان جديداً، هل النمط الجديد مبرر؟✓ تم النسخ
    → نقاط محددة، وليس ثناء عام
  3. استكشاف المخاطر
    أين في هذه الفروقات شيء من المحتمل أن ينكسر في الإنتاج بعد 6 أشهر؟ كن محدداً — أشر إلى السطر.✓ تم النسخ
    → مخاوف محددة على مستوى السطر، وليس 'أضف المزيد من الاختبارات'

النتيجة: ثلاث تعليقات محددة وقابلة للتنفيذ يمكنك نشرها على الطلب — جعل مراجعتك أفضل بشكل ملموس من الإلقاء نظرة.

المزالق
  • يصبح Claude آلة موافقة ويشيد بكل شيء — اسأل بشكل صريح 'ماذا كان سيعترض عليه مهندس كبير في هذه الشركة؟' — الإطار المعاكس يساعد
اجمعها مع: filesystem

حدد وفك الطلبات المتحللة في المراجعة

👤 قادة الهندسة، مسؤولو المستودعات ⏱ ~20 min beginner

متى تستخدمه: مرة واحدة في كل sprint، عندما تشك في أن الطلبات تتقدم في العمر بصمت دون أن يلاحظ أحد.

الخطوات
  1. اسرد الطلبات المفتوحة لأكثر من 5 أيام بدون نشاط حديث
    ابحث عن الطلبات المفتوحة في org/repo التي تم تحديثها آخر مرة قبل أكثر من 5 أيام. لكل منها، أخبرني المؤلف والمراجع المعين والسبب المذكور للتأخير (انظر التعليق الأخير).✓ تم النسخ
    → جدول مع التشخيص لكل طلب
  2. تصنيف التأخير
    جمّع هذه إلى: 'في انتظار المراجع'، 'في انتظار المؤلف'، 'في انتظار CI'، 'في انتظار القرار'. كن محدداً بشأن أيها.✓ تم النسخ
    → 4 فئات مع طلبات ملموسة في كل منها
  3. صياغة تذكيرات
    لمجموعة 'في انتظار المراجع'، صيغ تعليق تذكير لطيف لكل منها. نبرة مختلفة إذا كان المراجع نداً مقابل كبيراً للمؤلف.✓ تم النسخ
    → نص التعليق لكل طلب جاهز للصق

النتيجة: قائمة قصيرة من الطلبات التي يمكنك فك حجزها في 15 دقيقة، مع إجراءات محددة لكل طلب.

المزالق
  • تعليقات النشر التلقائي تبدو مزعجة — اطلب من Claude صياغة التعليقات لكن انشرها بنفسك — يحافظ على البشر في الحلقة
اجمعها مع: linear

التركيبات

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

github + sentry

يعرض Sentry خطأ جديد → يجد GitHub MCP الالتزام الذي قدمه عبر علامات الإصدار → تقوم بصياغة طلب إصلاح سريع، كل شيء في دردشة واحدة

هناك خطأ جديد في Sentry — المشكلة WEB-3a91. ابحث عن الالتزام الذي قدمه على main (تحقق من علامة الإصدار)، ثم صيغ أصغر طلب نسخ احتياطي ممكن.✓ تم النسخ
github + linear

إنشاء مشاكل Linear تلقائياً من تقارير أخطاء GitHub مع علامات وأولويات صحيحة

لكل مشكلة فتحت في مستودع octocat/api هذا الأسبوع بعلامة 'bug'، أنشئ مشكلة Linear مطابقة في فريق BACKEND بأولوية متوسطة.✓ تم النسخ
github + filesystem + git

مساهمة من النهاية إلى النهاية: استنساخ المستودع محلياً، إجراء تغييرات، دفع الفرع، فتح طلب — دون مغادرة الدردشة

استنسخ acme/widgets محلياً، أصلح الخطأ الإملائي في src/utils/format.ts:42، ادفع إلى فرع جديد، افتح طلب.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
search_issues owner: str, repo: str, labels?: str[], state?: str تريد العثور على مشاكل حسب العلامة والحالة والمكلف أو النشاط 1 GitHub API call
get_issue owner: str, repo: str, issue_number: int بعد search_issues، عندما تحتاج إلى المحادثة الكاملة 1 API call
create_issue owner, repo, title, body, labels?, assignees? ملف مشكلة جديدة — تأكد من أن المستخدم يريد هذا فعلاً 1 API call (write)
list_pull_requests owner, repo, state?, sort?, base?, head? ابحث عن الطلبات حسب الحالة/الفرع/المؤلف 1 API call
get_pull_request owner, repo, pull_number اقرأ الفروقات والبيانات الوصفية لطلب معين 1 API call
merge_pull_request owner, repo, pull_number, merge_method? فقط عندما يُطلب بشكل صريح — استخدم النقاش التجريبي أولاً 1 API call (write, irreversible)
search_code q: str, sort? العثور على استخدام الرمز عبر المؤسسة 1 API call (lower rate limit: 30/min)
get_file_contents owner, repo, path, ref? قراءة ملف واحد من المستودع دون استنساخ 1 API call
create_or_update_file owner, repo, path, message, content, sha? تعديل ملف لمرة واحدة؛ للتغييرات متعددة الملفات استخدم فرع + طلب 1 API call (write)
list_commits owner, repo, sha?, path? تدقيق سجل ملف أو فرع 1 API call

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

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

حصة API
رمز الوصول الشخصي: 5000 طلب/ساعة. تطبيق GitHub: 15000/س. البحث في الكود: 30/دقيقة على الشخصي، منفصل.
الرموز لكل استدعاء
200-500 رمز لبيانات وصفية المشكلة/الطلب؛ يمكن أن ينتفخ إلى 5000+ للجلب الملفات الكبيرة
التكلفة المالية
مجاني مع أي حساب GitHub. GitHub Enterprise لديه حدود أعلى.
نصيحة
إذا كنت تواجه حدود، قم بالتبديل إلى تطبيق GitHub — أسهل من التعامل مع رموز متعددة ويعطي 3x معدل. قم بتخزين نتائج list_issues مؤقتاً عند التكرار.

الأمان

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

الحد الأدنى من الصلاحيات: repo:read issues:read
تخزين بيانات الاعتماد: رمز الوصول الشخصي الدقيق في متغير البيئة (على سبيل المثال GITHUB_PERSONAL_ACCESS_TOKEN). لا تلتزم أبداً بملفات النقط.
نقل البيانات الخارجي: جميع استدعاءات API إلى api.github.com فقط. لا توجد قياسات جهة خارجية.
لا تمنح أبدًا: admin:org delete_repo admin:enterprise

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

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

401 Unauthorized

انتهت صلاحية رمزك أو ليس لديك حق الوصول إلى هذا المستودع. أعد الإنشاء على github.com/settings/tokens بالنطاقات الصحيحة.

تحقق: curl -H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN" https://api.github.com/user
403 rate limit exceeded

لقد وصلت إلى 5000 req/h على رمز وصول شخصي. انتظر حتى نافذة إعادة التعيين، أو قم بالهجرة إلى رمز تطبيق GitHub (15k/h).

تحقق: curl -H "Authorization: Bearer $TOKEN" https://api.github.com/rate_limit
404 Not Found on a private repo

الرمز لا يتضمن هذا المستودع في قائمة المستودعات المسموحة. عدّل الرمز الدقيق وأضف المستودع.

Docker: 'unable to find image'

اسحب الصورة أولاً: docker pull ghcr.io/github/github-mcp-server. تحقق من أنك مصرح على ghcr.io إذا كانت خاصة.

تحقق: docker images | grep github-mcp-server

البدائل

GitHub مقابل البدائل

البديلمتى تستخدمهاالمقايضة
GitLab MCPأنت تستخدم GitLab.com أو GitLab ذاتي الاستضافة بدلاً من GitHubسطح ميزة أصغر، يتم الحفاظ على المجتمع
Gitea MCPتثبيت Gitea ذاتي الاستضافةأدوات محدودة مقابل GitHub MCP الرسمي
git MCPتحتاج فقط إلى عمليات git محلية (الحالة، السجل، الفروقات، اللوم) دون أي عملية بعيدةلا توجد مشاكل أو طلبات أو عمليات بعيدة — يعمل على أي مستودع محلي بدون مصادقة

المزيد

الموارد

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

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

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