خادم MCP مفتوح المصدر ومجاني عن بعد، يحول أي مشروع GitHub إلى مركز توثيق، مما يتيح لأدوات الذكاء الاصطناعي الوصول إلى أحدث الوثائق والشفرة، والقضاء على هلوسة الشفرة.
GitMCP: تفاصيل المشروع
🚀 نظرة عامة على المشروع
GitMCP هو خادم مجاني ومفتوح المصدر لبروتوكول سياق النموذج (MCP) عن بُعد، قادر على تحويل أي مشروع GitHub (مستودع أو صفحات GitHub) إلى مركز للوثائق. يتيح لأدوات الذكاء الاصطناعي مثل Cursor الوصول إلى أحدث الوثائق والشفرة، حتى لو لم يسبق للنماذج اللغوية الكبيرة (LLM) أن واجهت هذا المحتوى، مما يزيل هلوسة الشفرة بسلاسة.
الميزات الأساسية
- 😎 أحدث الوثائق لأي مشروع GitHub: يوفر وصولاً سلساً لمساعدي الذكاء الاصطناعي إلى وثائق وشفرة مشاريع GitHub، مع وظيفة بحث ذكية مدمجة تساعد في العثور على المحتوى الدقيق الذي يحتاجه الذكاء الاصطناعي.
- 🧠 القضاء على الهلوسة: باستخدام GitMCP، يمكن لمساعدي الذكاء الاصطناعي تقديم إجابات دقيقة وذات صلة.
- ☁️ إعداد صفري: يعمل GitMCP في السحابة، ما عليك سوى إضافة رابط GitMCP كخادم MCP في بيئة التطوير المتكاملة (IDE) الخاصة بك.
- 💬 دردشة مدمجة: تحدث مباشرة مع وثائق المستودع عبر الدردشة داخل المتصفح.
- ✅ مفتوح، مجاني، وخاص: مفتوح المصدر بالكامل ومجاني للاستخدام، لا يجمع معلومات شخصية أو يخزن الاستعلامات، ويدعم الاستضافة الذاتية.
🛠️ آلية العمل
يستخدم GitMCP معيار بروتوكول سياق النموذج (MCP) لربط مساعدي الذكاء الاصطناعي بمستودعات GitHub، وهو معيار يسمح لأدوات الذكاء الاصطناعي بطلب معلومات إضافية من مصادر خارجية.
سير العمل:
- زوّد مساعد الذكاء الاصطناعي برابط GitMCP (على سبيل المثال:
gitmcp.io/microsoft/typescript
). - يكشف GitMCP عن أدوات مثل جلب الوثائق، البحث الذكي، والبحث في الشفرة.
- اطرح سؤالاً متعلقاً بالوثائق/الشفرة على مساعد الذكاء الاصطناعي.
- يرسل مساعد الذكاء الاصطناعي طلباً إلى GitMCP لاستخدام أدواته (يتطلب موافقتك).
- ينفذ GitMCP طلب الذكاء الاصطناعي ويعيد البيانات المطلوبة.
- يتلقى مساعد الذكاء الاصطناعي المعلومات وينشئ استجابة أكثر دقة ومبنية على أساس، خالية من الهلوسة.
📋 تنسيقات المستندات المدعومة
يدعم GitMCP حالياً تنسيقات المستندات التالية حسب الأولوية:
llms.txt
- نسخة محسّنة للذكاء الاصطناعي من وثائق المشروع.README.md
- وثائق أخرى في الدليل الجذر
/root
.
🔧 طريقة الإعداد
اختيار تنسيق الرابط (URL)
اختر أحد تنسيقات الروابط التالية بناءً على المحتوى الذي تريد الاتصال به:
- مستودع GitHub:
gitmcp.io/{owner}/{repo}
- موقع صفحات GitHub:
{owner}.gitmcp.io/{repo}
- أداة عامة (تدعم أي مستودع، ديناميكية):
gitmcp.io/docs
أمثلة على إعداد أدوات الذكاء الاصطناعي
إعداد Cursor
حدّث ملف ~/.cursor/mcp.json
:
{
"mcpServers": {
"gitmcp": {
"url": "https://gitmcp.io/{owner}/{repo}"
}
}
}
إعداد Claude Desktop
في الإعدادات > المطور > تحرير التكوين، استبدل التكوين:
{
"mcpServers": {
"gitmcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://gitmcp.io/{owner}/{repo}"
]
}
}
}
إعداد Windsurf
حدّث ملف ~/.codeium/windsurf/mcp_config.json
:
{
"mcpServers": {
"gitmcp": {
"serverUrl": "https://gitmcp.io/{owner}/{repo}"
}
}
}
🔨 الأدوات المتاحة
1. جلب المستندات (fetch_documentation)
يجلب المستندات الرئيسية من مستودع GitHub، ويوفر نظرة عامة على المشروع للذكاء الاصطناعي عن طريق استرداد المستندات ذات الصلة (مثل llms.txt
).
سيناريوهات الاستخدام: الأسئلة العامة حول غرض المشروع، ميزاته، أو أدلة البدء.
2. البحث في المستندات (search_documentation)
يسمح للذكاء الاصطناعي بالبحث في وثائق المستودع باستخدام استعلام بحث محدد، ويستخدم البحث الذكي للعثور على الأقسام ذات الصلة بدلاً من تحميل جميع المستندات.
سيناريوهات الاستخدام: الأسئلة المحددة حول وظيفة معينة، دالة، أو مفهوم داخل المشروع.
3. جلب محتوى الرابط (fetch_link_content)
يساعد الذكاء الاصطناعي في الحصول على معلومات من الروابط المذكورة في المستندات، ويسترد محتوى هذه الروابط ويحولها إلى تنسيق سهل القراءة للذكاء الاصطناعي.
سيناريوهات الاستخدام: عندما تشير المستندات إلى معلومات خارجية يمكن أن تساعد في الإجابة على سؤال.
4. البحث في الشفرة (search_code)
يستخدم وظيفة البحث في الشفرة الخاصة بـ GitHub للبحث في الشفرة الفعلية للمستودع، مما يساعد الذكاء الاصطناعي في العثور على أمثلة شفرة محددة أو تفاصيل التنفيذ.
سيناريوهات الاستخدام: عند الحاجة إلى أمثلة تنفيذ أو تفاصيل فنية غير مغطاة في المستندات.
📊 دمج الشارات
يوفر GitMCP شارات للمستودعات، مما يسمح للمستخدمين بالوصول السريع إلى المستندات عبر بيئة التطوير المتكاملة (IDE) أو المتصفح، ويعرض عدد مرات الوصول إلى المستندات عبر GitMCP.
إضافة شارة
أضف الشفرة التالية في ملف README.md
:
[](https://gitmcp.io/OWNER/REPO)
معلمات تخصيص الشارة
المعلمة | الوصف | القيمة الافتراضية | مثال |
---|---|---|---|
color |
لون قيمة الشارة | aquamarine | ?color=green |
label |
تسمية الشارة | GitMCP | Documentation |
🛡️ الخصوصية والأمان
- التزام الخصوصية: يولي GitMCP اهتماماً عميقاً لخصوصية المستخدم، ولا يتطلب مصادقة، ولا يمكنه الوصول إلى أي معلومات تعريف شخصية أو تخزينها.
- الاستعلامات لا تُخزّن: لا يتم تخزين أي استعلامات يرسلها الوكيل.
- شفافية المصدر المفتوح: كمشروع مفتوح المصدر، يمكن نشره بشكل مستقل في بيئتك الخاصة.
- الوصول عند الطلب: يصل فقط إلى المحتوى المتاح للجمهور، وفقط عند استعلام المستخدم.
- الالتزام بالقواعد: قبل الوصول إلى مواقع صفحات GitHub، يتم فحص قواعد
robots.txt
والالتزام بالتعليمات التي يحددها مالك الموقع.
🚦 قيود الاستخدام
يصل GitMCP إلى المحتوى فقط عند الاستعلام عنه، ولا يقوم بزحف المستودعات تلقائياً. بالنسبة لمواقع صفحات GitHub، يتم فحص قواعد robots.txt
والالتزام بها، مما يسمح لمالكي الموقع بالانسحاب. لا يخزن GitMCP بيانات بشكل دائم حول مشاريع GitHub أو محتواها.
💻 التطوير والمساهمة
التشغيل المحلي
# استنساخ المستودع
git clone https://github.com/idosal/git-mcp.git
cd git-mcp
# تثبيت التبعيات
pnpm install
# التشغيل المحلي للتطوير
npm run dev # أو pnpm dev
أداة فحص MCP
# تثبيت أداة فحص MCP
npx @modelcontextprotocol/inspector
في واجهة الفاحص:
- عيّن نوع النقل إلى
SSE
. - أدخل رابط GitMCP (على سبيل المثال:
http://localhost:5173/docs
). - انقر على "اتصال".
📄 الترخيص
هذا المشروع مرخص بموجب ترخيص Apache License 2.0.
⚠️ إخلاء المسؤولية
يُقدم GitMCP "كما هو"، دون أي ضمان من أي نوع. بينما نسعى جاهدين لضمان موثوقية الخدمة وأمانها، فإننا لا نتحمل المسؤولية عن أي أضرار أو مشاكل قد تنشأ عن الاستخدام. تخضع مشاريع GitHub التي يتم الوصول إليها عبر GitMCP لشروط وأحكام مالكيها المعنيين. لا يرتبط GitMCP بـ GitHub أو بأي من أدوات الذكاء الاصطناعي المذكورة.