مقدمة عن GitHub MCP وهدفه
يمثل خادم GitHub MCP تقدمًا مثيرًا في أدوات المطورين، حيث يوفر تكاملًا سلسًا بين الذكاء الاصطناعي والنظام البيئي القوي لـ GitHub. بروتوكول سياق النموذج (MCP) هو طريقة معيارية للتفاعل بين نماذج اللغة الكبيرة (LLMs) والأدوات وموارد البيانات الخارجية. يجسر خادم MCP الرسمي من GitHub هذه الفجوة بشكل خاص لمستودعات GitHub، مما يمكّن المساعدين الذكيين من الوصول إلى بيانات GitHub والبحث والتفاعل معها من خلال واجهة منظمة.
في هذا الدليل، سوف نستكشف كيفية إعداد وتكوين واستخدام خادم GitHub MCP بفعالية لتعزيز سير عملك في التطوير. سواء كنت تبحث عن أتمتة المهام الروتينية على GitHub، أو الحصول على رؤى أعمق في المستودعات، أو بناء أدوات مدعومة بالذكاء الاصطناعي تتفاعل مع GitHub، سيوفر لك هذا الدليل المعرفة للبدء.

فهم أساسيات خادم GitHub MCP
يطبق خادم GitHub MCP بروتوكول سياق النموذج لتوفير واجهة معيارية بين نماذج الذكاء الاصطناعي وواجهات برمجة التطبيقات (APIs) الخاصة بـ GitHub. بدلاً من أن تقوم أدوات الذكاء الاصطناعي بتحليل HTML الخام أو التفاعل مع GitHub بطرق غير متوقعة، يوفر خادم MCP أدوات وموارد منظمة يمكن للمساعدين الذكيين استخدامها بشكل موثوق.

إليك ما يمكّنه خادم GitHub MCP:
- تنفيذ سير العمل الآلي على GitHub
- استخراج وتحليل بيانات المستودعات
- التفاعل مع القضايا وطلبات السحب والشيفرة
- التكامل مع مساعدي الترميز بالذكاء الاصطناعي مثل GitHub Copilot
عندما يحتاج مساعد الذكاء الاصطناعي إلى معلومات من GitHub، يرسل طلبًا إلى خادم MCP، والذي يقوم بمعالجة هذا الطلب وإرجاع بيانات منظمة. هذا يخلق تجربة أكثر موثوقية وتناسقًا عند العمل مع أدوات الذكاء الاصطناعي التي تحتاج إلى الوصول إلى موارد GitHub.
إعداد بيئة خادم GitHub MCP الخاصة بك

قبل أن تتمكن من بدء استخدام خادم GitHub MCP، ستحتاج إلى إعداد بيئتك. الشرط الأساسي هو Docker، والذي يحتاج إلى تشغيل الخادم في حاوية. ستحتاج أيضًا إلى رمز وصول شخصي من GitHub (PAT) لتوثيق الدخول مع واجهات برمجة التطبيقات لـ GitHub.
إنشاء رمز وصول شخصي من GitHub MCP
- اذهب إلى إعدادات حساب GitHub الخاص بك
- انتقل إلى إعدادات المطور > رموز الوصول الشخصي > الرموز الدقيقة
- انقر على "توليد رمز جديد"
- أعطِ رمزك اسمًا وصفيًا
- حدد تاريخ انتهاء الصلاحية
- اختر المستودعات التي تريد أن يصل إليها الرمز
- اختر الأذونات الضرورية بناءً على أدوات GitHub MCP التي ستستخدمها
- انقر على "توليد الرمز" واحتفظ به في مكان آمن
تذكر أن تحتفظ برمزك في مكان آمن، حيث يوفر الوصول إلى حساب GitHub الخاص بك. يجب أن تكون الأذونات التي تمنحها محدودة على ما هو مطلوب لحالة الاستخدام الخاصة بك.
تثبيت خادم GitHub MCP لبيئات التطوير المختلفة
إعداد GitHub MCP لـ VS Code
يوفر VS Code واحدة من أبسط الطرق للتكامل مع خادم GitHub MCP. إليك كيفية إعداده:
- افتح VS Code
- اضغط على Ctrl + Shift + P (أو Cmd + Shift + P على macOS)
- اكتب "Preferences: Open User Settings (JSON)"
- أضف التكوين JSON التالي إلى ملف إعداداتك:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "رمز وصول GitHub الشخصي",
"password": true
}
],
"servers": {
"github": {
"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}"
}
}
}
}
}
بدلاً من ذلك، يمكنك إنشاء ملف .vscode/mcp.json
في مساحة العمل الخاصة بك لمشاركة هذا التكوين مع الآخرين. في هذه الحالة، لا تحتاج إلى المفتاح العلوي "mcp"
.
تنفيذ GitHub MCP لسطح المكتب Claude
يدعم سطح المكتب Claude أيضًا خوادم MCP. إليك كيفية تكوينه:
- قم بإنشاء التكوين التالي:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
- استبدل
<YOUR_TOKEN>
برمز الوصول الشخصي الفعلي الخاص بـ GitHub
خادم GitHub MCP لمستخدمي المؤسسات
إذا كنت تستخدم خادم GitHub Enterprise بدلاً من github.com، ستحتاج إلى تحديد اسم مضيف وحدة المؤسسة الخاصة بك. يمكن القيام بذلك باستخدام علامة --gh-host
عند تشغيل الخادم أو من خلال تعيين المتغير البيئي GH_HOST
.
على سبيل المثال، في تكوين VS Code الخاص بك، ستعدل مصفوفة "args" لتشمل:
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GH_HOST=github.mycompany.com",
"ghcr.io/github/github-mcp-server"
]
هذا يضمن أن الخادم MCP يتواصل مع وحدة git الخاصة بالمؤسسة بدلاً من github.com العامة.
استكشاف أدوات خادم GitHub MCP
يوفر خادم GitHub MCP مجموعة شاملة من الأدوات المصنفة حسب الوظيفة. إليك بعض فئات الأدوات الرئيسية:
نظرة عامة على أدوات مستخدم GitHub MCP
تسمح أدوات المستخدمين للمساعدين الذكيين باسترجاع معلومات حول المستخدم المعتمد في GitHub. الأداة الرئيسية هي:
- get_me: يسترجع تفاصيل حول المستخدم المعتمد حاليًا دون الحاجة إلى أي معلمات.
أدوات إدارة القضايا GitHub MCP
تمكن أدوات القضايا المساعدين الذكيين من التفاعل مع قضايا GitHub:
- get_issue: يسترجع تفاصيل القضايا من خلال تحديد المالك، المستودع، ورقم القضية
- create_issue: ينشئ قضايا جديدة مع عنوان، نص، محددين، وتسميات قابلة للتخصيص
- add_issue_comment: يضيف تعليقات على قضايا موجودة
- list_issues: يسرد وينتقي قضايا المستودع بمعايير مختلفة
- update_issue: يحدث القضايا الحالية
- search_issues: يبحث عن القضايا عبر GitHub
إدارة طلبات السحب GitHub MCP
تمكن أدوات طلبات السحب من التفاعل مع طلبات السحب على GitHub:
- get_pull_request: يسترجع تفاصيل طلب السحب
- list_pull_requests: يسرد وينتقي طلبات السحب في المستودع
- merge_pull_request: يدمج طلبات السحب المفتوحة
- get_pull_request_files: يسترجع الملفات التي تم تغييرها في طلب السحب
- create_pull_request: ينشئ طلبات سحب جديدة
- update_pull_request_branch: يحدث فرع طلب السحب بأحدث التغييرات من الأساس
استكشاف أدوات مستودع GitHub MCP
توفر أدوات المستودع الوصول إلى محتويات المستودع وإدارته:
- create_or_update_file: يعدل ملفات مفردة في المستودعات
- push_files: يلتزم بتغييرات ملفات متعددة دفعة واحدة
- search_repositories: يبحث عن المستودعات عبر GitHub
- create_repository: ينشئ مستودعات جديدة
- get_file_contents: يسترجع محتويات الملفات من المستودعات
- create_branch: ينشئ فروع جديدة في المستودعات
موارد GitHub MCP لمحتويات المستودع
بالإضافة إلى الأدوات، يوفر خادم GitHub MCP قوالب موارد تمكّن الوصول المباشر إلى محتويات المستودع. تتبع هذه القوالب أنماط URL محددة:
- محتوى المستودع الأساسي:
repo://{owner}/{repo}/contents{/path*}
- محتوى فرع معين:
repo://{owner}/{repo}/refs/heads/{branch}/contents{/path*}
- محتوى محدد بالتزام:
repo://{owner}/{repo}/sha/{sha}/contents{/path*}
- محتوى محدد بالوسم:
repo://{owner}/{repo}/refs/tags/{tag}/contents{/path*}
- محتوى محدد بطلب السحب:
repo://{owner}/{repo}/refs/pull/{prNumber}/head/contents{/path*}
تمكن هذه الموارد المساعدين الذكيين من الوصول المباشر إلى إصدارات محددة من محتوى المستودع.
تخصيص أوصاف خادم GitHub MCP
يمكنك تخصيص أوصاف أدوات GitHub MCP لتتناسب بشكل أفضل مع سير العمل أو تفضيلات اللغة الخاصة بك. هناك نهجان رئيسيان:
- استخدام ملف تكوين:
قم بإنشاء ملفgithub-mcp-server-config.json
في نفس دليل الملف التنفيذي مع أوصاف مستبدلة:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "وصف بديل",
"TOOL_CREATE_BRANCH_DESCRIPTION": "إنشاء فرع جديد في مستودع GitHub"
}
- استخدام المتغيرات البيئية:
قم بتعيين المتغيرات البيئية باستخدام البادئةGITHUB_MCP_
:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="وصف بديل"
لتصدير الترجمات الحالية كنقطة انطلاق، قم بالتشغيل:
./github-mcp-server --export-translations
بناء خادم GitHub MCP من المصدر
إذا كنت تفضل عدم استخدام Docker، يمكنك بناء خادم GitHub MCP من المصدر:
- استنساخ المستودع:
git clone https://github.com/github/github-mcp-server.git
- انتقل إلى دليل المستودع:
cd github-mcp-server
- استخدم Go لبناء الملف التنفيذي في دليل
cmd/github-mcp-server
- قم بتشغيل الخادم باستخدام
github-mcp-server stdio
مع تعيين متغير البيئةGITHUB_PERSONAL_ACCESS_TOKEN
الخاتمة: تعظيم GitHub MCP للتطوير
يمثل خادم GitHub MCP تقدمًا كبيرًا في تكامل أدوات الذكاء الاصطناعي مع نظام GitHub البيئي. من خلال توفير واجهة معيارية عبر بروتوكول سياق النموذج، يمكّن المساعدين الذكيين من التفاعل مع بيانات GitHub بطرق منظمة وقابلة للتنبؤ.
على مدار هذا الدليل، تغطينا كيفية إعداد وتكوين خادم GitHub MCP، واستكشاف أدواته وموارده المختلفة، وتعلم كيفية تخصيصه لتلبية الاحتياجات الخاصة. من خلال استخدام خادم GitHub MCP في سير عملك في التطوير، يمكنك تحسين الإنتاجية، وتبسيط التفاعلات مع GitHub، وفتح إمكانيات جديدة للأدوات المدعومة بالذكاء الاصطناعي.
مع استمرار تحول الذكاء الاصطناعي في تطوير البرمجيات، ستلعب أدوات مثل خادم GitHub MCP دورًا متزايد الأهمية في إنشاء تكامل سلس بين المساعدين الذكيين ومنصات المطورين. من خلال إتقان خادم GitHub MCP الآن، فإنك تضع نفسك في مقدمة هذا التقاطع المثير بين الذكاء الاصطناعي وتطوير البرمجيات.