إعداد Discourse MCP في OpenCode CLI

يقدم هذا الدليل تعليمات تم اختبارها لتثبيت Discourse MCP في OpenCode CLI. إذا كنت تستخدم عميل MCP مختلفًا، فقد كتبت أيضًا أدلة لـ Codex CLI.

استخدم نموذج اللغة الكبير (LLM) الخاص بك! نماذج اللغة الكبيرة جيدة جدًا في اتباع التعليمات ويمكنها القيام بالإعداد نيابة عنك. وجّه نموذج اللغة الكبير إلى هذا الدليل عبر عنوان URL واطلب منه إجراء الإعداد. يمكنك أيضًا أن تطلب منه شرح أي خطوات لا تفهمها.

المتطلبات الأساسية:

  • تثبيت Node.js (موصى به 24 LTS)
  • تثبيت OpenCode CLI
  • الوصول إلى منتدى Discourse المقصود كـ مستخدم عادي (لا حاجة لأن تكون مسؤولاً!)

من المهم إدراك أن هناك ثلاثة مكونات منفصلة هنا:

  1. منتدى Discourse البعيد، وهو مصدر البيانات والهدف للإجراءات.

  1. خادم Discourse MCP، وهو أداة مفتوحة المصدر تعمل محليًا تتصل بـ Discourse وتوفر واجهة برمجة تطبيقات (API) لـ OpenCode للتفاعل مع Discourse. يتم تثبيته كحزمة NPX ويتم تشغيله عند الطلب بواسطة OpenCode CLI.

  1. OpenCode CLI، وهو عميل MCP الذي يتصل بخادم MCP ويوفر الواجهة للتفاعل مع Discourse عبر واجهة برمجة تطبيقات MCP.


1. إنشاء مفتاح API للمستخدم

سيقوم هذا بمصادقتك لدى Discourse وهذه هي الطريقة التي ستحصل بها على مفتاح API الخاص بك. سيقوم npx بتنزيل وتشغيل الكود، ولا يلزم تثبيت أي شيء بالمعنى التقليدي.

في الطرفية (Terminal)، قم بتشغيل:

npx @discourse/mcp@latest generate-user-api-key \
  --site =DISCOURSE-FORUM= \
  --save-to =PROFILE-PATH=/=NAME=.json

مثال:

npx @discourse/mcp@latest generate-user-api-key \
  --site https://meta.discourse.org \
  --save-to ~/.config/opencode/discourse-profiles/meta.json

وافق على موافقة المتصفح وانسخ البيانات المشفرة مرة أخرى، مما يثبت قدرتك على تسجيل الدخول وينشئ مفتاح API يتم حفظه في =PROFILE-PATH= لاستخدامه بواسطة خادم MCP.

سيكون لمفتاح API نفس مستوى الوصول إلى المنتدى الذي لديك كمستخدم.

2. إضافة خادم MCP إلى OpenCode CLI

قم بتحرير ملف الإعداد الخاص بك في ~/.config/opencode/opencode.jsonc وأضف الإدخال التالي إلى قسم mcp:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    // ... خوادم MCP الأخرى ...
    "discourse-=NAME=-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@discourse/mcp@latest",
        "--profile",
        "=PROFILE-PATH=/=NAME=.json",
      ],
      "enabled": true,
      "environment": {},
    },
  },
}

مثال:

"discourse-meta-mcp": {
  "type": "local",
  "command": [
    "npx",
    "-y",
    "@discourse/mcp@latest",
    "--profile",
    "/home/marcus/.config/opencode/discourse-profiles/meta.json"
  ],
  "enabled": true,
  "environment": {},
},

سيتم تشغيل خادم MCP عند الطلب باستخدام npx بواسطة OpenCode CLI عند بدء تشغيل OpenCode. تم تكوينه لاستخدام الملف الشخصي في =PROFILE-PATH= وهو للقراءة فقط بشكل افتراضي.

3. إعادة تشغيل OpenCode CLI

أعد تشغيل OpenCode بالكامل حتى يقوم بإعادة تحميل الإعدادات والاتصال بخادم MCP.

إذا بدأ التشغيل بدون أخطاء، فإن خادم Discourse MCP يعمل. يمكنك أن تطلب من OpenCode الرجوع إلى منتدى Discourse الخاص بك للحصول على معلومات - خاصة المعلومات التي لديك إمكانية الوصول إليها ولكنها ليست عامة - سيتحقق هذا من أنه يتصل كأنت.

إدارة نسخ Discourse متعددة

يمكنك إضافة منتديات Discourse متعددة عن طريق تكرار العملية بملفات تعريف مختلفة وأسماء خوادم MCP مختلفة:

"discourse-meta-mcp": {
  "type": "local",
  "command": [
    "npx", "-y", "@discourse/mcp@latest",
    "--profile", "/home/username/.config/opencode/discourse-profiles/meta.json"
  ],
  "enabled": true,
  "environment": {},
},
"discourse-mycommunity-mcp": {
  "type": "local",
  "command": [
    "npx", "-y", "@discourse/mcp@latest",
    "--profile", "/home/username/.config/opencode/discourse-profiles/mycommunity.json"
  ],
  "enabled": true,
  "environment": {},
},

ملفات الإعداد

هناك ملفان رئيسيان:

  1. =OPENCODE-CONFIG= - ملف إعداد OpenCode CLI على ~/.config/opencode/opencode.jsonc، والذي يتضمن إعدادات خادم MCP.

  2. =PROFILE-PATH= - الملف الشخصي لخادم Discourse MCP، والذي يتضمن مفتاح API وإعدادات أخرى للاتصال بـ Discourse.

إعدادات OpenCode

الإعدادات الخاصة بالاتصال بخادم MCP موجودة في =OPENCODE-CONFIG= (عادةً ~/.config/opencode/opencode.jsonc):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "discourse-=NAME=-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@discourse/mcp@latest",
        "--profile",
        "=PROFILE-PATH=/=NAME=.json",
      ],
      "enabled": true,
      "environment": {},
    },
  },
}

وثائق إعدادات OpenCode MCP: توثيق OpenCode

إعدادات Discourse MCP

الإعدادات الخاصة بخادم Discourse MCP نفسه موجودة في =PROFILE-PATH=/=NAME=.json=:

{
  "auth_pairs": [
    {
      "site": "=DISCOURSE-FORUM=",
      "user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

وثائق إعدادات Discourse MCP: GitHub - discourse/discourse-mcp

أفضل ممارسات الأمان

يُوصى بما يلي:

  1. تخزين ملفات التعريف في دليل مخصص (على سبيل المثال، ~/.config/opencode/discourse-profiles/)
  2. إضافة هذا الدليل إلى .gitignore إذا كنت تتتبع ملفات التكوين الخاصة بك في نظام التحكم في الإصدار
  3. استخدام أسماء وصفية لملفات التعريف الخاصة بك (على سبيل المثال، meta.json، mycommunity.json)
  4. الحفاظ على مفاتيح API خاصة - لديها نفس مستوى الوصول لحساب المستخدم الخاص بك

استكشاف الأخطاء وإصلاحها

  • مشاكل الاتصال: تحقق من أن مسار الملف الشخصي في opencode.jsonc صحيح وأن الملف موجود
  • أخطاء المصادقة: تحقق مما إذا كان مفتاح API قد تم إلغاؤه في تفضيلات مستخدم Discourse الخاص بك
  • أخطاء الأذونات: تأكد من أن لديك الأذونات المطلوبة على نسخة Discourse
  • إعادة التشغيل مطلوبة: التغييرات التي تطرأ على opencode.jsonc تتطلب إعادة تشغيل OpenCode CLI
إعجابَين (2)