تخيل أن تخبر محرر الكود الخاص بك، "أنشئ مكون React جديد يسمى زر" وتشاهد ذلك يتحقق أمام عينيك. هذه هي سحر MCPHub.nvim - مكون إضافي يغير قواعد اللعبة ويجلب أدوات مدعومة بالذكاء الاصطناعي مباشرة إلى سير العمل الخاص بك في NeoVim. في هذا الدليل العملي، سنحول محرر النصوص الخاص بك إلى رفيق ذكي في البرمجة باستخدام خوادم بروتوكول سياق النموذج (MCP).

ما هو NeoVim؟
NeoVim هو محرر نصوص حديث وقوي وقابل للتخصيص بدرجة عالية يبني على أساس Vim. تم إنشاؤه كفرع من Vim بهدف توفير تجربة مستخدم أفضل وقاعدة شفرة أكثر حداثة. يتيح ذلك تطوير المكونات الإضافية بشكل أسهل والتكامل مع الأدوات الخارجية، مما يجعله خيارًا متعدد الاستخدامات للمطورين.

الميزات الرئيسية لـ NeoVim
- استقرار محسّن: تم إعادة هيكلة قاعدة شيفرة Neovim لتحسين الاستقرار والأداء مقارنةً بسابقتها Vim.
- نظام مكونات إضافية محسّن: يتميز Neovim بنظام مكونات إضافية أكثر سهولة في الاستخدام، مما يجعل من الأسهل توسيع وظيفته مع مجموعة واسعة من المكونات الإضافية. يتضمن ذلك الدعم لمديري المكونات الإضافية الشائعين مثل Packer وLazy وPlug.
- واجهة برمجة التطبيقات غير المتزامنة: يحتوي Neovim على واجهة برمجة تطبيقات غير متزامنة، مما يعني أن المكونات الإضافية لن توقف المحرر أثناء التنفيذ. هذه تحسين كبير مقارنةً بـ Vim، الذي كان يعاني من مشاكل في تنفيذ المكونات الإضافية المتزامنة.
- محطة مدمجة: يتضمن Neovim مقلد للوحة المفاتيح مدمجًا، مما يتيح لك تشغيل أوامر وأدوات الصدفة مباشرة داخل المحرر.
- تخصيص: يمكن للمستخدمين تخصيص Neovim بشكل موسع عن طريق كتابة ملفات التكوين الخاصة بهم. هذه المرونة تتيح للمطورين تكييف بيئة التحرير الخاصة بهم لتلبية احتياجاتهم وتفضيلاتهم المحددة.
وضعيات تشغيل NeoVim
يعمل NeoVim بشكل أساسي في وضعين:
- وضع الإدراج: يتم استخدام هذا الوضع للكتابة وتحرير النص. يمكنك الدخول إلى وضع الإدراج بالضغط على مفتاح
i
. - الوضع الطبيعي: هذا هو الوضع الافتراضي حيث يمكنك تنفيذ الأوامر والتنقل عبر الملفات الخاصة بك. يمكنك الانتقال إلى الوضع الطبيعي بالضغط على مفتاح
Esc
.
ما هو MCPHub.nvim؟
MCPHub.nvim هو مكون إضافي قوي لـ NeoVim مصمم لدمج خوادم بروتوكول سياق النموذج (MCP) في سير العمل الخاص بك. يوفر واجهة إدارة مركزية لخوادم MCP، مما يتيح للمطورين تكوين وإدارة والتفاعل مع هذه الخوادم مباشرة ضمن NeoVim.

الهيكل والوظائف
يستخدم MCPHub.nvim هيكل عميل-خادم، حيث يتفاعل عملاء Neovim مع خادم Express (mcp-hub) الذي يدير خوادم MCP. تضمن هذه العمارة إدارة متسقة للخادم، ومراقبة حالة في الوقت الفعلي، واستخدام موارد فعال.

عند إعداد MCPHub.nvim، يبدأ الخادم mcp-hub مع المنفذ وملف التكوين المحددين. ثم يوفر المكون الإضافي واجهة برنامج تطبيقات REST لإدارة خوادم ومرافق MCP، مما يسمح بدعم متعدد العملاء وتنظيف تلقائي.

لماذا يعد MCPHub.nvim مهمًا للمطورين
يعمل MCPHub.nvim كـ مركز القيادة الخاص بك لتطوير مدعوم بالذكاء الاصطناعي. بدلاً من التنقل بين أدوات الذكاء الاصطناعي المختلفة، تحصل على:
- تحكم مركزي في جميع خوادم MCP
- تعاون في الوقت الحقيقي بين نماذج الذكاء الاصطناعي المختلفة
- إدارة موارد ذكية تتكيف مع سير العمل الخاص بك
- تكامل سلس مع مكونات الدردشة الشعبية مثل CodeCompanion
لنبدأ في تحسين بيئة NeoVim الخاصة بك مع هذه القدرات المستقبلية.

دليل التثبيت والإعداد لـ MCPHub.nvim
متطلبات نظام MCPHub.nvim
قبل التثبيت، قم بالتحقق من أن بيئتك تلبي هذه المتطلبات:
المكون | الإصدار الأدنى | أمر التحقق |
---|---|---|
NeoVim | 0.8.0+ | nvim --version |
Node.js | 18.0.0+ | node --version |
Python | 3.7+ | python --version |
UVX | أحدث | uvx --version |
نصيحة احترافية: قم بتثبيت UVX (مدير النسخة العالمية) لتحسين إدارة الخوادم:
npm install -g uvx
تثبيت MCPHub.nvim عبر lazy.nvim
أضف تكوينًا إلى إعداد NeoVim الخاص بك:
{
"ravitemer/mcphub.nvim",
dependencies = {
"nvim-lua/plenary.nvim", -- مطلوب للعمليات غير المتزامنة
},
build = "npm install -g mcp-hub@latest", -- يقوم بتثبيت خادم MCP Hub الأساسي
config = function()
require("mcphub").setup({
-- التكوين المطلوب
port = 3000, -- المنفذ الافتراضي للخادم
config = vim.fn.expand("~/.config/nvim/mcpservers.json"), -- يتطلب مسارًا مطلقًا
-- التخصيص الاختياري
log = {
level = vim.log.levels.WARN, -- DEBUG، INFO، WARN، ERROR
to_file = true, -- يقوم بإنشاء ~/.local/state/nvim/mcphub.log
},
on_ready = function()
vim.notify("MCP Hub متصل!")
end
})
end
}
خطوات ما بعد التثبيت:
- إعادة تشغيل NeoVim
- تحقق من التثبيت باستخدام
:checkhealth mcphub
- تأكد من أن خادم mcp-hub يعمل:
curl http://localhost:3000/api/status
تكوين خادم MCPHub.nvim
قم بإنشاء ملف تكوين خوادم MCP الخاصة بك في ~/.config/nvim/mcpservers.json
:
{
"mcpServers": {
"codegen": {
"command": "uvx",
"args": ["mcp-server-codegen"],
"env": {
"OPENAI_KEY": "${ENV_YOUR_OPENAI_KEY}" # استخدم متغيرات البيئة للأمان
}
},
"todoist": {
"command": "npx",
"args": ["-y", "@abhiz123/todoist-mcp-server"],
"disabled": true, # قم بتمكينه يدويًا عند الحاجة
"env": {
"TODOIST_API_TOKEN": "your_token_here"
}
}
}
}
خيارات التكوين الرئيسية:
disbled
: ابدأ الخادم يدويًا عبر:MCPHubStart <name>
env
: متغيرات البيئة لمفاتيح واجهة برمجة التطبيقاتautostart
: اضبط علىfalse
للخوادم التي تستهلك موارد عالية
إرشادات إعداد MCPHub.nvim للمرة الأولى
افتح واجهة MCP Hub:
:MCPHub
في الواجهة التفاعلية:
- اضغط على
S
لبدء/إيقاف الخوادم - اضغط على
T
لتمكين/تعطيل الأدوات - اضغط على
L
لرؤية السجلات في الوقت الحقيقي
اختبر الاتصال بالخادم:
:lua require("mcphub").get_hub_instance():call_tool("codegen", "ping", {}, { return_text = true })
نصيحة احترافية: احفظ :help mcphub
للرجوع السريع إلى جميع الأوامر والتكوينات.
تكامل MCPHub.nvim مع مكونات الدردشة
إعداد CodeCompanion:
require("codecompanion").setup({
strategies = {
chat = {
tools = {
["mcp"] = {
callback = function()
return require("mcphub.extensions.codecompanion")
end,
opts = {
requires_approval = true, -- مفتاح الأمان
temperature = 0.7 # التحكم في الإبداع
}
}
}
}
}
})
تكامل Avante:
require("avante").setup({
system_prompt = function()
local hub = require("mcphub").get_hub_instance()
return hub:get_active_servers_prompt() # تنبيه ديناميكي مع الأدوات المتاحة
end,
custom_tools = {
require("mcphub.extensions.avante").mcp_tool()
}
})
قائمة التحقق لاستكشاف الأخطاء وإصلاحها لـ MCPHub.nvim
المشكلة | الحل |
---|---|
تعارضات المنفذ | lsof -i :3000 ثم kill <PID> |
المتطلبات المفقودة | قم بتشغيل :MCPHubInstallDeps |
أخطاء في صيغة JSON | استخدم jq . mcpservers.json للتحقق من الصيغة |
فشل بدء الخادم | تحقق من :MCPHubLogs |
نصيحة احترافية: للتصحيح المتقدم:
MCP_HUB_DEBUG=1 nvim # يمكّن التسجيل المفصل
الخاتمة
مع MCPHub.nvim، أنت لا تثبت مجرد مكون إضافي آخر - بل تطلق نموذجًا جديدًا من التطوير المعزز بالذكاء الاصطناعي. من خلال دمج خوادم MCP مباشرة في NeoVim، تحصل على:
1. أتمتة سهلة – توليد الشفرات، وإعادة هيكلة الأنظمة القديمة، وإدارة المهام بأوامر بسيطة.
2. تكامل سلس – الاتصالات مع CodeCompanion وAvante وغيرها من مكونات الدردشة لتعاون مرن بالذكاء الاصطناعي.
3. تدفق عمل مُحسن – تفعيل/تعطيل الأدوات ديناميكيًا للموازنة بين الأداء واستخدام الرموز.
ما هو التالي؟
- استكشاف سوق MCP – اكتشاف خوادم مبنية بواسطة المجتمع لمهام متخصصة (Docker وKubernetes واختبار واجهة برمجة التطبيقات)
- بناء أدوات مخصصة – التمديد باستخدام Lua لإنشاء مساعدي ذكاء اصطناعي خاصين بالمجال
- الانضمام إلى التطور – المساهمة في GitHub لـ MCPHub وتشكيل مستقبل التطوير المدعوم بالذكاء الاصطناعي
دورك للتجربة! جرب هذه الأوامر الابتدائية:
:MCPHubCall codegen "اكتب نقطة نهاية بايثون فلأسك للمستخدم"
:lua require("mcphub").toggle_server("todoist")
إن مستقبل البرمجة لا يتعلق بـ استبدال المطورين - بل هو عن تعزيز قدراتهم. مع MCPHub.nvim، أصبح هذا المستقبل الآن في متناول يدك.
ولا تنسَ أثناء ذلك أن تحقق من Apidog لتعزيز سير عمل تطوير MCP وAPI الخاص بك! 🚀