LM Studio MCP: مثال mcp.json وأفضل خوادم البحث على الويب

ملف mcp.json يعمل مع LM Studio يمكنك لصقه اليوم، مع شرح كل إدخال على حدة، ومقارنة جنبًا إلى جنب لأفضل خوادم MCP للبحث على الويب: Brave Search وTavily وExa وDuckDuckGo وFetch. ستجد أسماء الحزم الدقيقة وأسماء الأدوات وإعدادات التوكنات وفحوص الأمان التي ينبغي إجراؤها أولًا.

LM Studio MCP: مثال mcp.json وأفضل خوادم البحث على الويب
Cristian Da Conceicao
مؤسس Picasso IA

نموذجك المحلي سريع وخاص ودقيق، لكنه ما زال يعتقد أنه يعيش في الشهر الذي توقفت عنده بيانات تدريبه. اسأل نافذة الدردشة في LM Studio عن إصدار الأسبوع الماضي، وستحصل على تخمين واثق. الحل ملف JSON واحد. أضف خادم MCP للبحث على الويب إلى mcp.json، وسيبدأ النموذج نفسه باستدعاء أداة بحث، وقراءة صفحات حقيقية، والإجابة مع ذكر المصادر بدلًا من الاعتماد على الذاكرة.

يقدّم هذا المقال مثال LM Studio MCP mcp.json يعمل ويمكنك لصقه اليوم، ثم يقارن بين خوادم البحث على الويب الخمسة التي يلجأ إليها الناس أكثر: Brave Search وTavily وExa وDuckDuckGo وخادم Fetch الرسمي. كل إعداد وارد أدناه مأخوذ من الوثائق الرسمية لكل مشروع، لذا فأسماء الحزم ومتغيرات البيئة وأسماء الأدوات هي الأسماء الحقيقية.

يدا شخص مستريحتان على حاسوب محمول فوق مكتب من خشب الجوز في ضوء العصر المائل

لماذا تحتاج النماذج المحلية إلى البحث على الويب

مشكلة المعرفة القديمة

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

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

ما الذي يفعله MCP عمليًا

بروتوكول سياق النموذج (MCP) طريقة قياسية يربط بها التطبيق النموذج بأدوات خارجية. يعمل LM Studio بوصفه المضيف: يشغّل كل خادم مدرج في ملف الإعداد أو يتصل به، ويسأله عن الأدوات التي يقدمها، ثم يمرر أوصاف تلك الأدوات إلى النموذج. وعندما يقرر النموذج استدعاء إحداها، يشغّلها LM Studio ويعيد النتيجة إلى الدردشة.

💡 لا تحتاج إلى كتابة أي كود لهذا. خادم البحث برنامج صغير يتولى صيانته شخص آخر. مهمتك الوحيدة هي إخبار LM Studio بكيفية تشغيله.

وصل دعم MCP إلى LM Studio 0.3.17، ويتبع التطبيق صيغة mcp.json من Cursor. وهذا مهم لأن معظم ملفات README للخوادم تعرض مقتطفًا لأداة Cursor أو Claude Desktop، وهذه المقتطفات تُلصق مع تعديل بسيط أو دون تعديل.

أين يوجد ملف mcp.json

داخل التطبيق، افتح تبويب Program في الشريط الجانبي الأيمن، واضغط Install، ثم اختر Edit mcp.json. المحرر المدمج هو الطريقة الأكثر أمانًا لأنك ترى الأخطاء أثناء الكتابة.

منظر علوي لحاسوب محمول مفتوح مع محرر أكواد فوق مكتب خشبي فاتح

إذا فضّلت تعديل الملف مباشرة، فهذه هي المسارات:

النظاممسار الملف
macOS~/.lmstudio/mcp.json
Linux~/.lmstudio/mcp.json
Windows%USERPROFILE%/.lmstudio/mcp.json

بعد الحفظ، تحقق من تبويب Program: يجب أن يظهر كل خادم في الملف هناك مع أدواته. بعض مطوري خوادم MCP ينشرون أيضًا زر Add to LM Studio يكتب الإدخال نيابةً عنك، وهو مفيد عندما يكون إعداد الخادم طويلًا.

مثال mcp.json يعمل

توضع كل الإدخالات داخل كائن واحد على المستوى الأعلى اسمه mcpServers. يحصل كل خادم على اسم تختاره، يليه إما url (لخادم بعيد) أو command (لعملية محلية).

إدخال خادم بعيد

تستخدم وثائق LM Studio الرسمية خادم Hugging Face MCP مثالًا للخادم البعيد:

{
  "mcpServers": {
    "hf-mcp-server": {
      "url": "https://huggingface.co/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_HF_TOKEN>"
      }
    }
  }
}

ثلاثة تفاصيل مهمة هنا. url يشير إلى الخادم المستضاف. headers يحمل بيانات اعتمادك. والعنصر النائب بين الأقواس المعقوفة يجب استبداله بتوكن حقيقي قبل أن يتصل الخادم.

خادم محلي باستخدام npx

تستخدم الخوادم المحلية command وargs وenv. هذا مقتطف Brave الخاص بخادم Brave Search MCP:

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": {
        "BRAVE_API_KEY": "YOUR_BRAVE_TOKEN"
      }
    }
  }
}

يأتي npx مع Node.js، لذا ثبّت Node.js أولًا. يتجاوز العلم -y نافذة التأكيد التي قد تعلّق عملية في الخلفية، ويخبر --transport stdio الخادم بالتواصل مع LM Studio عبر المدخل والمخرج القياسيين. كتلة env تمرر التوكن إلى الخادم بوصفه متغير بيئة، وهذه هي الطريقة التي يتوقعها تقريبًا كل خادم بحث لاستلام التوكن.

عدة خوادم في ملف واحد

الملف النموذجي يجمع بين مصادر متعددة: Brave للبحث العام، و Fetch لقراءة صفحة كاملة، وDuckDuckGo كخيار احتياطي لا يحتاج إلى حساب.

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": {
        "BRAVE_API_KEY": "YOUR_BRAVE_TOKEN"
      }
    },
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "ddg-search": {
      "command": "uvx",
      "args": ["duckduckgo-mcp-server"]
    }
  }
}

يأتي uvx من أداة uv الخاصة بلغة Python، لذا يحتاج الخادمان المكتوبان بلغة Python إلى تثبيت uv، كما يحتاج خادم Node إلى Node.

💡 الفاصلتان تسببان أعطالًا في الإعدادات أكثر من أي شيء آخر: فاصلة ناقصة بين الخوادم، وفاصلة زائدة بعد آخر خادم. لا يسمح JSON بأي منهما، ولا يدعم التعليقات أيضًا.

منظور من فوق الكتف لمطور يعدّل ملف إعدادات على شاشة كبيرة

أفضل خوادم MCP للبحث على الويب

تؤدي خوادم البحث ثلاث مهام مختلفة: إيجاد الروابط، وإعادة نص نظيف من الصفحة، وقراءة عنوان URL محدد. أفضل الإعدادات تقرن الباحث بالقارئ بدلًا من أن تطلب من خادم واحد أن يفعل كل شيء.

كمبيوتر صغير مدمج وجهاز توجيه على رف خشبي في زاوية مكتب منزلي

خادم Brave Search MCP

Brave هو الخيار الافتراضي لمعظم الناس. الحزمة هي @brave/brave-search-mcp-server، ويوضع التوكن في BRAVE_API_KEY، وقائمة الأدوات واسعة: brave_web_search، brave_local_search، brave_video_search، brave_image_search، brave_news_search، brave_summarizer، brave_place_search وbrave_llm_context.

يعيد Brave النتائج الخام مرتبة (الروابط والمقتطفات) ويترك لنموذجك المحلي مهمة القراءة. هذا يُبقي الردود صغيرة، وهو أمر مهم عندما تكون نافذة السياق محدودة. يشير المستودع إلى أن خطط Pro تضيف ميزات مثل مقتطفات إضافية والبحث المحلي الكامل.

خادم Tavily MCP

يميل Tavily نحو الاستخراج. أدواته هي tavily-search، tavily-extract، tavily-map وtavily-crawl، فيستطيع النموذج أن يبحث، ويسحب نص الصفحة، ويرسم خريطة للموقع، أو يزحف عليه. يبدو الإدخال المحلي هكذا:

{
  "mcpServers": {
    "tavily-mcp": {
      "command": "npx",
      "args": ["-y", "tavily-mcp@latest"],
      "env": {
        "TAVILY_API_KEY": "your-tavily-token"
      }
    }
  }
}

يشغّل Tavily أيضًا خادمًا بعيدًا على https://mcp.tavily.com/mcp/?tavilyApiKey=<your-token>. النسخة المحلية أعلاه هي الخيار الأفضل، لأنها تُبقي توكنك خارج عنوان URL.

خادم Exa MCP

Exa هو أقصر إعداد بين الخمسة، لأنه مستضاف. لا يوجد ما يُثبَّت، فلا حاجة إلى Node ولا إلى Python:

{
  "mcpServers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}

الأدوات الافتراضية هي web_search_exa، الذي يعيد نتائج البحث بمحتوى نظيف، وweb_fetch_exa، الذي يقرأ الصفحة بصيغة markdown. يقبل Exa التوكن كمعامل في URL أو في ترويسة Authorization. الترويسة هي الخيار الأنظف.

خادم DuckDuckGo MCP

لا حساب ولا توكن. شغّل uvx duckduckgo-mcp-server وستحصل على search، وfetch_content، وexpand_link. وهي أسرع طريقة للتأكد من أن إعدادك كله يعمل قبل أن تسجّل في أي خدمة.

الثمن هنا هو حدود المعدل. القيم الافتراضية هي 30 بحثًا في الدقيقة و20 جلبًا للصفحات في الدقيقة، ويمكن تعديلها بمتغيري البيئة DDG_SEARCH_RPM وDDG_FETCH_RPM. عند استجابة HTTP 429 يحترم الخادم Retry-After ويعيد المحاولة مرة واحدة.

خادم Fetch MCP

يأتي Fetch من مستودع خوادم MCP الرسمي، ويقوم بعمل واحد: يحمّل عنوان URL ويحوّل HTML إلى markdown. تأخذ أداته fetch معاملًا هو url، مع max_length اختياريًا (الافتراضي 5000 حرف)، وstart_index وraw.

معامل start_index مفيد. عندما تكون الصفحة أطول من أن تتسع في استجابة واحدة، يستطيع النموذج أن يطلب الجزء التالي بدلًا من أن يفقد نهاية المقال. يحترم Fetch robots.txt للطلبات التي يبدأها النموذج افتراضيًا، وتحذّر وثائقه من أنه يستطيع الوصول إلى عناوين IP المحلية والداخلية، وهذا خطر حقيقي على جهاز العمل.

يد تضع ملاحظة لاصقة على بطاقات فهرسة مثبتة على لوحة فلين

أي خادم يناسب إعدادك

الخادمالتشغيلالتوكنالأدواتأفضل استخدام
Brave Searchnpxنعم، BRAVE_API_KEYbrave_web_search إضافةً إلى سبع أدوات أخرىالبحث العام على الويب
Tavilynpx أو بعيدنعم، TAVILY_API_KEYtavily-search، tavily-extract، tavily-map، tavily-crawlالأبحاث التي تحتاج إلى نص الصفحات
Exaرابط URL بعيدمعامل في URL أو ترويسةweb_search_exa، web_fetch_exaإعداد بلا تثبيت
DuckDuckGouvxلا يوجدsearch، fetch_content، expand_linkالاختبار المجاني
Fetchuvxلا يوجدfetchقراءة عنوان URL معروف

ثلاث نقاط بداية تناسب معظم الناس:

  • خادم واحد فقط: اختر Brave Search، أو Tavily إذا كان نص الصفحة يهمك أكثر من قوائم الروابط.
  • بلا حسابات إطلاقًا: اقرن DuckDuckGo مع Fetch.
  • أقل قدر من التثبيت: استخدم إدخال Exa البعيد وتجاوز Node وPython تمامًا.

اختر نموذجًا يستدعي الأدوات

ليست كل النماذج قادرة على استدعاء الأدوات. يجب أن يكون النموذج مدربًا على إصدار استدعاء أداة منظم، وتضع LM Studio علامة مطرقة على النماذج القادرة على ذلك في قائمة النماذج. إذا اخترت نموذجًا بدونها، فسيتحدث النموذج عن البحث دون أن يبحث فعلًا.

منظر جانبي لبطاقة رسومات مركّبة داخل هيكل حاسوب مفتوح

إعدادان يساعدان بقدر اختيار النموذج:

  • طول السياق: نتائج البحث طويلة. ارفع طول السياق عند تحميل النموذج، وإلا ستُقطع النتائج قبل أن يقرأها النموذج.
  • حجم النموذج: النماذج الصغيرة جدًا تميل إلى التعثر في الاستخدام المتعدد الخطوات للأدوات، فتبحث مرة واحدة وتجيب من مقتطف لم يُقرأ جيدًا.

كيف تستخدم GPT OSS على PicassoIA

قبل تنزيل نموذج يتجاوز حجمه عدة غيغابايت، جرّب أوامرك النصية على نموذج مستضاف. GPT OSS 20B نموذج لغوي مفتوح الأوزان بحجم 20 مليار معامل، وتتيح صفحته توليدات غير محدودة دون حدود للنقاط.

قيد واحد بصراحة: هذا النموذج المستضاف يعمل في المتصفح ولا يتصل بخوادم MCP المحلية الخاصة بك. استخدمه لتحسين رسالة النظام وملاحظة كيف يلخص نموذج نتائج البحث الملصوقة، ثم انقل الأمر النصي الناجح إلى LM Studio.

  1. افتح صفحة النموذج. انتقل إلى صفحة GPT OSS 20B.
  2. اكتب الأمر النصي. جرّب: "أنت مساعد بحث. استخدم نتائج البحث أدناه فقط، وأجب في خمس نقاط، واذكر عنوان URL للمصدر لكل نقطة." ألصق نتائج بحث حقيقية أسفله.
  3. أبقِ درجة الحرارة منخفضة. القيمة الافتراضية 0.1، وهي مناسبة للملخصات القائمة على الحقائق. ارفعها فقط عندما تريد العصف الذهني.
  4. تحقق من الحدود. قيمة Max tokens الافتراضية هي 2048، وقيمة Top p هي 1، وكلتا العقوبتين 0. أضف عقوبة حضور أو تكرار صغيرة إذا بدأ الناتج بالتكرار.
  5. وَلِّد وقارن. شغّله، وعدّل سطرًا واحدًا، ثم شغّله مرة أخرى. احفظ النسخة التي تتبع تنسيقك دون انحراف.
  6. انقله. ألصق النص الناجح في رسالة النظام الخاصة بك في LM Studio.
الإعدادالافتراضياستخدمه من أجل
Temperature0.1ملخصات دقيقة وقابلة للتكرار
Top P1تنوع المخرجات
Max Tokens2048طول الإجابة
Presence Penalty0الدفع نحو مواضيع جديدة
Frequency Penalty0تقليل الكلمات المكررة

امرأة تكتب على حاسوب محمول عند طاولة نافذة في مقهى مشمس

نماذج مستضافة أخرى تستحق اختبارها بالطريقة نفسها: GPT OSS 120B، وQwen3.7-Plus، وGranite 4.1 8B، وKimi K2.6. إذا التزم أحدها بتنسيقك بشكل أفضل، فستعرف ما الذي تبحث عنه عند التنزيل المحلي.

قواعد الأمان قبل التثبيت

قفل نحاسي متآكل معلّق على بوابة خشبية قديمة

وثائق LM Studio الخاصة بها صريحة في هذا الشأن: بعض خوادم MCP يمكنها تشغيل كود تعسفي، وقراءة ملفاتك المحلية، واستخدام اتصالك بالشبكة. لا تثبّت أيًا منها من مصدر لا تثق به. خادم البحث ليس سوى برنامج يعمل على جهازك بصلاحياتك.

راجع كل استدعاء للأدوات

عندما يستدعي النموذج أداة، يعرض LM Studio نافذة تأكيد. يمكنك مراجعة المعاملات وتعديلها قبل تشغيل أي شيء، ثم السماح بالأداة مرة واحدة أو بشكل دائم. التزم بخيار "السماح مرة واحدة" لأي خادم يلمس الملفات أو الشبكة حتى تثق به. تُدار الأذونات الدائمة من App Settings > Tools & Integrations.

احمِ توكناتك

ملف mcp.json يخزّن التوكنات كنص عادي، لذا تعامل معه كقائمة لكلمات المرور:

  • لا ترفعه أبدًا إلى Git، ولا تلصقه في منشور منتدى أو لقطة شاشة.
  • فضّل env وheaders على التوكنات داخل عناوين URL، فهذه تميل إلى الظهور في السجلات.
  • استبدل التوكن فورًا إذا تسرّب.
  • فكّر مرتين قبل تشغيل Fetch على جهاز يمكنه الوصول إلى صفحات الإدارة الداخلية.

إصلاح مشكلات الإعداد الشائعة

أيدٍ توصل كابل إيثرنت أزرق بالجزء الخلفي من جهاز توجيه أبيض

تقع معظم الأعطال في خمس فئات:

  1. أخطاء في JSON. تحقّق من الفواصل والعلامات والأقواس. على Windows، أي مسار ملف داخل JSON يحتاج إلى شرطتين مائلتين عكسيتين، أو استخدم الشرطات المائلة للأمام.
  2. بيئة تشغيل مفقودة. npx يحتاج إلى Node.js، وuvx يحتاج إلى uv. شغّل node --version أو uv --version في الطرفية للتأكد.
  3. النموذج يتجاهل أدواتك. قد لا يدعم النموذج استدعاء الأدوات، أو يكون الأمر النصي غامضًا أكثر من اللازم. أضف سطرًا واحدًا إلى موجّه النظام: "استخدم أداة البحث لأي معلومات أحدث من بيانات تدريبك."
  4. نتائج فارغة أو محدودة بالمعدل. يحدّ DuckDuckGo عمليات البحث عند 30 عملية في الدقيقة افتراضيًا، ولواجهات API المدفوعة حصصها الخاصة. اطلب من النموذج أن يبحث مرة واحدة، ثم يقرأ النتائج.
  5. صفحات مقطوعة قبل نهايتها. تُعيد أداة Fetch 5000 حرف افتراضيًا. اطلب الجزء التالي باستخدام start_index، أو ارفع max_length.

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

أنشئ صورك الخاصة على PicassoIA

بعد أن يبدأ إعدادك المحلي بالبحث على الويب، ستحتاج إلى صور للمقالات والدروس والملاحظات التي تخرج منه: صورة رأس لمنشور مدونتك، أو خلفية لمخطط، أو صورة مصغرة لشرح فيديو. هنا يأتي دور PicassoIA.

جرّب تجربة واحدة: اكتب أمرًا نصيًا فوتوغرافيًا واحدًا، مثل "مكتب مطور عند الفجر مع حاسوب محمول ودفتر فيه رسومات صناديق مرسومة يدويًا"، وشغّله على ثلاثة نماذج لتحويل النص إلى صورة. Flux Krea Dev يميل إلى صور تتجنب المظهر المعتاد للذكاء الاصطناعي، وSeedream 4.5 ينتج نتائج حادة عالية الدقة، وGPT Image 2 يتبع الأوامر الطويلة والمفصلة عن قرب. ضع النتائج الثلاث جنبًا إلى جنب، واحتفظ بالنتيجة التي تناسبك.

تقدم PicassoIA أيضًا واجهة API للمطورين واتصالات MCP لنماذج الصور والفيديو، حتى يمكن ربط سير العمل نفسه بأدواتك الخاصة لاحقًا. افتح PicassoIA، واختر نموذجًا، وأنشئ أول صورة لك اليوم.

شارك هذا المقال

اختر لغتك

مقالات ذات صلة