Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

كيفية دمج خوادم NeoVim MCP باستخدام MCPHub.nvim

@apidog

@apidog

Updated on مارس 26, 2025

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

💡
قبل أن نغوص في التفاصيل، إليك نصيحة سريعة: قم بتنزيل Apidog مجانًا اليوم! إنه أداة رائعة للمطورين الذين يريدون تبسيط اختبار نماذج الذكاء الاصطناعي، وخاصة أولئك الذين يستخدمون LLMs (نماذج اللغة الكبيرة). Apidog تساعدك في تبسيط عملية اختبار واجهة برمجة التطبيقات، مما يجعل من الأسهل العمل مع تقنيات الذكاء الاصطناعي الرائدة. جربها!
زر

ما هو NeoVim؟

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

صفحة NeoVim الرئيسية

الميزات الرئيسية لـ NeoVim

  1. استقرار محسّن: تم إعادة هيكلة قاعدة شيفرة Neovim لتحسين الاستقرار والأداء مقارنةً بسابقتها Vim.
  2. نظام مكونات إضافية محسّن: يتميز Neovim بنظام مكونات إضافية أكثر سهولة في الاستخدام، مما يجعل من الأسهل توسيع وظيفته مع مجموعة واسعة من المكونات الإضافية. يتضمن ذلك الدعم لمديري المكونات الإضافية الشائعين مثل Packer وLazy وPlug.
  3. واجهة برمجة التطبيقات غير المتزامنة: يحتوي Neovim على واجهة برمجة تطبيقات غير متزامنة، مما يعني أن المكونات الإضافية لن توقف المحرر أثناء التنفيذ. هذه تحسين كبير مقارنةً بـ Vim، الذي كان يعاني من مشاكل في تنفيذ المكونات الإضافية المتزامنة.
  4. محطة مدمجة: يتضمن Neovim مقلد للوحة المفاتيح مدمجًا، مما يتيح لك تشغيل أوامر وأدوات الصدفة مباشرة داخل المحرر.
  5. تخصيص: يمكن للمستخدمين تخصيص Neovim بشكل موسع عن طريق كتابة ملفات التكوين الخاصة بهم. هذه المرونة تتيح للمطورين تكييف بيئة التحرير الخاصة بهم لتلبية احتياجاتهم وتفضيلاتهم المحددة.

وضعيات تشغيل NeoVim

يعمل NeoVim بشكل أساسي في وضعين:

  • وضع الإدراج: يتم استخدام هذا الوضع للكتابة وتحرير النص. يمكنك الدخول إلى وضع الإدراج بالضغط على مفتاح i.
  • الوضع الطبيعي: هذا هو الوضع الافتراضي حيث يمكنك تنفيذ الأوامر والتنقل عبر الملفات الخاصة بك. يمكنك الانتقال إلى الوضع الطبيعي بالضغط على مفتاح Esc.

ما هو MCPHub.nvim؟

MCPHub.nvim هو مكون إضافي قوي لـ NeoVim مصمم لدمج خوادم بروتوكول سياق النموذج (MCP) في سير العمل الخاص بك. يوفر واجهة إدارة مركزية لخوادم MCP، مما يتيح للمطورين تكوين وإدارة والتفاعل مع هذه الخوادم مباشرة ضمن NeoVim.

صورة واجهة عرض MCPHub.nvim

الهيكل والوظائف

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

هيكل MCPHub.nvim

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

واجهة API لـ MCPHub.nvim

لماذا يعد MCPHub.nvim مهمًا للمطورين

يعمل MCPHub.nvim كـ مركز القيادة الخاص بك لتطوير مدعوم بالذكاء الاصطناعي. بدلاً من التنقل بين أدوات الذكاء الاصطناعي المختلفة، تحصل على:

  • تحكم مركزي في جميع خوادم MCP
  • تعاون في الوقت الحقيقي بين نماذج الذكاء الاصطناعي المختلفة
  • إدارة موارد ذكية تتكيف مع سير العمل الخاص بك
  • تكامل سلس مع مكونات الدردشة الشعبية مثل CodeCompanion

لنبدأ في تحسين بيئة NeoVim الخاصة بك مع هذه القدرات المستقبلية.

💡
هل تفكر في إضافة المزيد من خوادم MCP إلى Claude أو Cursor أو Windsurf، تأكد من مراجعة HiMCP واكتشاف أكثر من 1682 خادم وعميل رائع لتحسين سير عمل البرمجة باستخدام الذكاء الاصطناعي بسهولة!
صفحة HiMCP.ai الرئيسية

دليل التثبيت والإعداد لـ 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
}

خطوات ما بعد التثبيت:

  1. إعادة تشغيل NeoVim
  2. تحقق من التثبيت باستخدام :checkhealth mcphub
  3. تأكد من أن خادم 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. تدفق عمل مُحسن – تفعيل/تعطيل الأدوات ديناميكيًا للموازنة بين الأداء واستخدام الرموز.

ما هو التالي؟

  1. استكشاف سوق MCP – اكتشاف خوادم مبنية بواسطة المجتمع لمهام متخصصة (Docker وKubernetes واختبار واجهة برمجة التطبيقات)
  2. بناء أدوات مخصصة – التمديد باستخدام Lua لإنشاء مساعدي ذكاء اصطناعي خاصين بالمجال
  3. الانضمام إلى التطور – المساهمة في GitHub لـ MCPHub وتشكيل مستقبل التطوير المدعوم بالذكاء الاصطناعي

دورك للتجربة! جرب هذه الأوامر الابتدائية:

:MCPHubCall codegen "اكتب نقطة نهاية بايثون فلأسك للمستخدم"  
:lua require("mcphub").toggle_server("todoist")  

إن مستقبل البرمجة لا يتعلق بـ استبدال المطورين - بل هو عن تعزيز قدراتهم. مع MCPHub.nvim، أصبح هذا المستقبل الآن في متناول يدك.

ولا تنسَ أثناء ذلك أن تحقق من Apidog لتعزيز سير عمل تطوير MCP وAPI الخاص بك! 🚀

زر