خادم GitHub MCP هو خادم بروتوكول سياق النموذج (MCP) مصمم للتكامل بسلاسة مع GitHub API، مما يوفر للمطورين والأدوات وظائف أتمتة وتفاعل متقدمة.
📦 مقدمة عن خادم GitHub MCP
خادم GitHub MCP هو أداة مفتوحة المصدر رسمية تم إصدارها بواسطة GitHub، تعتمد على بروتوكول سياق النموذج (Model Context Protocol - MCP). يعمل في بيئة محلية، من خلال Docker أو ملف تنفيذي، لتزويد نماذج اللغة الكبيرة (LLM) بالقدرة على الوصول إلى واجهة برمجة تطبيقات GitHub (GitHub API)، مما يدعم مجموعة واسعة من وظائف الأتمتة والتفاعل.
🚀 الإصدار والخلفية
- تاريخ الإصدار: 4 أبريل 2025، تم إصدار نسخة المعاينة العامة.
- هدف التحسين: تم توفير خدمة مرجعية أولية من قبل Anthropic، بينما أعادت GitHub كتابة الوظائف الكاملة بلغة Go وعززت وصف الأداة ودعمت ميزات مثل فحص التعليمات البرمجية.
🛠️ الميزات
- مجموعة أدوات MCP: تتضمن
repos
وissues
وpull_requests
وcode_security
(فحص التعليمات البرمجية) وnotifications
وغيرها، ما يصل إلى 7 وحدات افتراضية.
⚙️ التثبيت والاستخدام
طريقة Docker
- سحب الصورة:
ghcr.io/github/github-mcp-server
- مثال التشغيل (باستخدام VS Code كمثال):
{
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
- يمكن تخصيص مجموعة الوظائف والتحميل الديناميكي ووضع القراءة فقط والمضيف المخصص (GHES) من خلال متغيرات البيئة
GITHUB_TOOLSETS
وGITHUB_DYNAMIC_TOOLSETS
وGITHUB_READ_ONLY
وGITHUB_HOST
.
طريقة الأوامر
- استنساخ الكود المصدري وتنفيذه:
cd cmd/github-mcp-server
go build -o github-mcp-server
export GITHUB_PERSONAL_ACCESS_TOKEN=<token>
./github-mcp-server stdio
- يمكن تكوين قناة stdio في عملاء مثل VS Code / Claude Desktop لاستخدام هذا الثنائي.
🧩 حالات الاستخدام
- عمليات الأتمتة: إنشاء المشكلات وطلبات السحب والتعليقات والدمج وفحص التعليمات البرمجية تلقائيًا، إلخ.
- التطوير المدفوع بالذكاء الاصطناعي: بالاشتراك مع عملاء الذكاء الاصطناعي مثل Copilot Chat و Claude Desktop، يمكن للنماذج تقديم اقتراحات ذكية ومراجعة التعليمات البرمجية بناءً على سياق GitHub.
- جمع البيانات وتحليلها: بناء روبوتات لجمع البيانات من المستودعات لإجراء الإحصائيات والتحليلات.
- تكامل خدمات المؤسسات السحابية: يدعم GitHub Enterprise Server / Cloud، من خلال متغير البيئة
GITHUB_HOST
لتكوين مثيلات خاصة.
⚙️ مقدمة عن مثال التكوين
طريقة الاستخدام | طريقة التكوين | الشرح |
---|---|---|
Docker | متغيرات البيئة أو معلمات سطر الأوامر | تعيين الرمز المميز ومجموعة الأدوات وأذونات القراءة والكتابة والمضيف |
تشغيل ثنائي مباشر | CLI أو env | مشابه لـ Docker، مناسب للتكامل في عمليات CI/CD |
تكوين VS Code | .vscode/mcp.json أو إعدادات المستخدم |
يمكن مشاركة تكوين المشروع |
تدويل / تخصيص وصف الأداة | github-mcp-server-config.json |
تغيير معلومات التلميح أو اللغات المتعددة |
🔧 MCP والأمان
- يدعم وضع
--read-only
لقفل الحالة إلى وضع غير قابل للكتابة. - قد يشكل MCP نفسه مخاطر أمنية، وقد أشارت الدراسات المجتمعية إلى طرق هجوم محتملة، ويوصى باستخدامه مع أدوات تدقيق الأمان (مثل MCPSafetyScanner، إلخ.).
📝 ملخص
github-mcp-server
هي أداة تم تطويرها رسميًا بواسطة GitHub بناءً على بروتوكول Anthropic MCP، وتهدف إلى تقديم وظائف GitHub API بشكل موحد لنماذج الذكاء الاصطناعي. تتميز بقابلية عالية للتكوين ووضع الأمان، وقد تم دمجها في عملاء الذكاء الاصطناعي الرئيسيين (VS Code Copilot Chat و Claude Desktop، إلخ.)، وهي مناسبة لسيناريوهات "التطوير المدفوع بالذكاء الاصطناعي" وأتمتة CI/CD، مع الاستمرار في الحاجة إلى الاهتمام بالمخاطر الأمنية لـ MCP نفسه واستخدام أدوات التدقيق.