هل Serena MCP آمن؟ استهلاك التوكنات وإعداد Claude Code
يمنح Serena MCP أداة Claude Code أدوات على مستوى الرموز البرمجية، ومعها صلاحية كتابة حقيقية. اعرف ما تستطيع أداة الصدفة فعله، وكم توكنًا تكلّف تعريفات الأدوات، وأوامر الإعداد الدقيقة، وخطة طرح للقراءة فقط تحمي مستودعك.
Serena MCP آمن للتشغيل إذا تعاملت معه كأي أداة تستطيع تعديل شيفرتك، لأن هذا هو بالضبط ما هو عليه. يعمل الخادم على جهازك أنت، والشيفرة المصدرية عامة، وفي سياق claude-code تكون أداة الصدفة فيه معطّلة. الأسئلة الحقيقية أضيق من ذلك: ماذا يستطيع أن يكتب على القرص، وما الذي يرسله إلى الخارج، وكم توكنًا يستهلك قبل أن تكتب أي أمر نصي؟ تجيب هذه المقالة عن الأسئلة الثلاثة بأوامر ودقة، وأسماء إعدادات، وترتيب طرح تستطيع اتباعه اليوم.
ملاحظة سريعة حول المصادر. الأوامر والإعدادات الواردة أدناه مأخوذة من مستودع Serena وصفحة إعداد العملاء فيه. أرقام التوكنات مأخوذة من غلاف تابع لطرف ثالث ومن تحليل أمني، وأشير إلى ذلك صراحةً. قِس إعدادك بنفسك قبل أن تثق بأي رقم، بما في ذلك أرقامي.
ماذا يفعل Serena فعلًا
Serena، من تطوير Oraios، خادم MCP يمنح وكيل البرمجة أدوات على طريقة بيئات التطوير المتكاملة. بدل أن يقرأ الوكيل الملفات كاملة ويطابق النصوص، يطلب الرموز البرمجية: الأصناف والدوال والطرق والأماكن التي تشير إليها. يسرد المستودع أدوات الاسترجاع (إيجاد الرمز، ونظرة عامة على الرمز، وإيجاد الرموز المرجعية)، والتحرير على مستوى الرموز (استبدال جسم الرمز، والإدراج قبل رمز أو بعده)، والبحث بالتعبيرات النمطية، وعمليات الملفات، وتشغيل الصدفة، ونظام ذاكرة دائم. ويدعم أكثر من 40 لغة عبر خوادم اللغات.
من يستفيد من هذا؟ أي شخص يعمل على مستودع أكبر من أن يتسع لأمر نصي واحد: خلفيات متعددة الوحدات، ومستودعات أحادية، وتطبيقات طويلة العمر يمسّ فيها إعادة تسمية واحدة ثلاثين ملفًا. إذا كان مشروعك حفنة من السكربتات، فأدوات Claude Code العادية كافية، وإضافة خادم تزيد غالبًا من مساحة الهجوم. طابق الأداة مع حجم المشكلة قبل أن تسأل عن أمانها.
رموز بدل النص الخام
يجد الوكيل العادي الدالة بالبحث في النص، ثم يقرأ الملفات المحيطة ليتأكد أنه الهدف الصحيح. أما Serena فيسأل خادم لغة، فتكون الإجابة التعريف نفسه، لا كومة من الملفات.
المهمة
أدوات الملفات العادية
أدوات Serena
إيجاد دالة
البحث في النص وقراءة الملفات كاملة
إيجاد الرمز يعيد التعريف
معرفة من يستدعيها
البحث والتخمين
إيجاد الرموز المرجعية
تعديل طريقة
إعادة كتابة كتلة نصية
استبدال جسم الرمز
التعرّف على ملف
قراءة الملف كاملًا
نظرة عامة على الرمز
أين تبقى الشيفرة
يُشغّل Claude Code برنامج Serena كعملية محلية، وتعمل خوادم اللغات محليًا أيضًا. Serena ليست خدمة مستضافة، وبحسب ما تُظهره الوثائق العامة، لا توجد سحابة لـ Serena تستقبل مستودعك. هناك نقطة واحدة تستحق الذكر بوضوح: ما تُعيده أدوات Serena يصل إلى سياق Claude، وهذا السياق يُرسل إلى نموذج API شأنه شأن أي نتيجة أداة أخرى. Serena لا تجعل الجلسة أكثر خصوصية، بل تجعل قراءات الملفات أصغر وأكثر دقة.
هل Serena MCP آمن؟
بالنسبة لمعظم المطوّرين الذين يعملون على مستودعاتهم الخاصة، نعم، مع شروط. المخاطر عادية، ولكل منها ضابط يمكنك ضبطه في دقائق.
ابدأ من نموذج التهديد. أنت لست قلقًا من متسلل يخترق Serena. أنت قلق من ثلاثة أمور أهدأ: أن يغيّر الوكيل ملفات لم تقصد تغييرها، وأن يشغّل أمرًا لم تقصد تشغيله، وأن يقنعه نص داخل ملف بفعل أحدهما. الأمر الأخير هو حقن الأوامر (prompt injection)، ويسري على كل أداة تقرأ محتوى غير موثوق. قد يحتوي مستودع منسوخ أو اعتمادية مُنزّلة أو مشكلة مُلصقة على جملة موجهة إلى النموذج لا إليك. أفضل دفاع هو قائمة أدوات قصيرة وطلب إذن عند الكتابة، لأنهما يحدّان مما قد تصل إليه تعليمة مختطفة.
مستبعدة في سياق claude-code، إضافةً إلى excluded_tools
القياس عن بُعد
تقارير استخدام مجهولة
SERENA_USAGE_REPORTING=false
سلسلة التوريد
التشغيل مباشرة من رابط git
تثبيت الحزمة أو تثبيت وسم محدد
حقن الأوامر
نص داخل المستودع يوجّه الوكيل
طلبات الإذن، وقائمة أدوات صغيرة
الترخيص
شيفرة التطبيق بترخيص GPL-3.0-or-later
اقرأه قبل إعادة التوزيع
جزء المصدر المفتوح
شيفرة تطبيق Serena بترخيص GPL-3.0-or-later، وطبقة SolidLSP المرفقة بترخيص MIT. الشيفرة المفتوحة تعني أنك تستطيع قراءة ما يعمل بالضبط على جهازك، وهذه خاصية أمان حقيقية. تشغيل أداة بترخيص GPL على مستودعك لا يغيّر ترخيص المستودع. يبدأ الترخيص في الأهمية حين تعدّل Serena وتوزّعه على آخرين، وعندها اسأل محاميًا لا مدونة.
مشكلة أداة الصدفة
أخطر أداة متاحة لديك هي execute_shell_command. يصف تحليل أمني لبرنامج Serena هذه القدرة بأنها الأخطر، ويعدّ من أنماط الفشل حذف الملفات دون قصد، وتسريب بيانات الاعتماد، وإفساد إعدادات النظام، ويقترح إبقاءها لبيئات التكامل المستمر لا للعمل المحلي.
سياق claude-code يزيلها أصلًا. يستبعد هذا السياق ست أدوات: create_text_file، وread_file، وexecute_shell_command، وfind_file، وlist_dir، وsearch_for_pattern. السبب ليس الارتياب المفرط. فلدى Claude Code أدوات ملفات وصدفة خاصة به، لذلك يتنحى Serena عنها ويُبقي على عمل الرموز.
💡 استبعاد أداة الصدفة في Serena لا يزيل قدرة الصدفة من الجلسة. أداة Bash الخاصة بـ Claude Code ما تزال موجودة، لكنها تعمل عبر طلبات إذن Claude Code، وهذا هو المكان الذي تريد أن يُتخذ فيه القرار.
القياس عن بُعد واتصالات الشبكة
يوثّق Serena خيار الاستبعاد من تقارير الاستخدام المجهولة: اضبط SERENA_USAGE_REPORTING=false في البيئة التي تشغّل الخادم. خوادم اللغات برامج منفصلة، وقد يحتاج بعضها إلى تنزيل عند أول استخدام حسب اللغة. توقّع نشاطًا قليلًا على الشبكة عند أول تشغيل في لغة جديدة، وراجع سجل جدار الحماية إذا كانت بيئتك صارمة.
استهلاك التوكنات في الجلسات الفعلية
يكلّف Serena توكنات بطريقتين. التكلفة الثابتة هي تعريفات الأدوات التي تُحمَّل في كل جلسة. التكلفة المتغيرة هي ما تعيده الأدوات أثناء عملك. الأولى قابلة للتنبؤ، أما الثانية فتعتمد على طريقة عملك.
أين تذهب التوكنات
يقدّر مشروع الغلاف serena-slim أن Serena الأصلي يحمّل 29 أداة تعادل نحو 23,878 توكنًا في Claude Code، وأن نسخته المجمّعة، ذات 18 عملية، تخفضها إلى نحو 11,874 توكنًا. هذا رقم من مورّد لغلاف تابع لطرف ثالث، وليس قياسًا لتثبيتك أنت. وفي سياق claude-code تكون ست أدوات مستبعدة أصلًا، لذلك رقمك على الأرجح أقل من الأصلي.
قِس الأمر بنفسك. شغّل /context في Claude Code قبل إضافة الخادم وبعده، وقارن سطر أدوات MCP. هذه المقارنة الواحدة تتفوق على أي تقدير في هذه المقالة.
لكي ترى لماذا تهم التكلفة الثابتة، إليك حسابًا لا قياسًا. لنفترض أن تعريفات الأدوات تأخذ 12,000 توكن، وأنك تفتح 20 جلسة يوميًا. هذا يعني 240,000 توكن من الحمل الإضافي قبل أن يُطرح أي سؤال. لو قلّصت الحمولة إلى النصف لوفّرت المقدار نفسه كل يوم، سواء استحق Serena مكانه في تلك الجلسة أم لا.
تنقسم التكلفة المتغيرة إلى ثلاثة أقسام:
النظرة العامة على الرمز تعيد الأسماء والمواقع، لا الأجسام، لذلك فالتعرف على ملف كبير يكلّف أقل بكثير من قراءته.
إيجاد الرموز المرجعية لدالة مستخدمة في كل مكان قد يعيد قائمة طويلة. اطرح أسئلة أضيق في المستودعات الكبيرة.
التهيئة على مشروع جديد تجعل الوكيل يمسح الشيفرة ويخزّن ملاحظات كذكريات. وضعا no-onboarding وno-memories يوقفان ذلك حين تريد جلسة خفيفة.
لماذا يساعد سياق Claude Code
تُختار السياقات عند بدء التشغيل ولا يمكن تغييرها أثناء الجلسة. السياق الافتراضي هو desktop-app، وهو موجود لعميل مختلف عن Claude Code. بدون --context claude-code توقع أدوات ملفات تكرر أدوات Claude Code، وأداة صدفة، وحمولة تعريفات أكبر، كلها في آن واحد. اكتب /mcp بعد الإعداد، وقارن قائمة الأدوات بالاستبعادات الست المذكورة أعلاه. علامة واحدة تصلح تكلفة التوكنات والتعرض الأمني معًا.
الأغلفة المخففة والبحث في الأدوات
يستطيع Claude Code أيضًا تأجيل تعريفات أدوات MCP وتحميلها عند الطلب بدل تحميلها عند البدء. يفعّل أحد الشروح هذا باستخدام ENABLE_TOOL_SEARCH=true، لكن راجع ملاحظات الإصدار لنسخة Claude Code لديك، لأن المفتاح قد يختلف. يضيف الغلاف المخفف حزمة طرف ثالث أخرى بينك وبين شيفرتك. زِن ذلك بالتوكنات الموفّرة، لأن التوفير لا يهم إلا إذا كنت تثق بالطبقة الإضافية.
إعداد Claude Code، خطوة بخطوة
تستغرق العملية كاملةً بضع دقائق. uv هو الشرط الوحيد المسبق.
التثبيت والتهيئة
uv tool install -p 3.13 serena-agent
serena init
يأتي Serena أيضًا باختصار، serena setup claude-code، لتنفيذ المهمة نفسها. توضح الأوامر اليدوية أدناه بدقة ما توافق عليه، ولهذا أفضّلها في المرة الأولى.
claude mcp add --scope user serena -- serena start-mcp-server --context claude-code --project-from-cwd
أوصي بالأمر الخاص بكل مشروع. يخزّن Claude Code الأمر في النطاق المحلي افتراضيًا، فيسري على ذلك المشروع وحده، بينما تفعّل الصيغة الشاملة Serena في أي مجلد تفتحه، فتحصل جلسة طائشة في المجلد الخطأ على أدوات التحرير نفسها. تحقق من النتيجة بـ claude mcp list، أو اكتب /mcp داخل Claude Code. إذا تأخر بدء الخادم فارفع المهلة بـ export MCP_TIMEOUT=60000.
💡 على Windows، شغّل هذه الأوامر في PowerShell واستبدل "$(pwd)" بـ "$PWD" إذا اشتكت الصدفة. وتأكد من خلو مسار المشروع من علامات اقتباس زائدة، فالمسار الخاطئ يعني أن Serena يفعّل مجلدًا آخر.
الخطافات وموجه النظام
تحذّر وثائق Serena نفسها من أن تحديثات Claude Code والنموذج الأخيرة قللت من مدى التزام الوكيل بتعليمات أدوات Serena، وأن الجلسات الطويلة قد تنحرف عنها. الحل هو تشغيل Claude Code مع تجاوز للأمر النصي الخاص بالنظام:
claude --system-prompt="$(serena prompts print-cc-system-prompt-override)"
توصي الوثائق بقوة أيضًا بخطافات التذكير في .claude/settings.json، وفيها أربعة أوامر: remind، وactivate، وcleanup، وauto-approve. اقرأ ما يفعله auto-approve قبل أن تربطه. أي شيء يوافق على استدعاءات الأدوات نيابةً عنك يقلل عدد المرات التي تستطيع فيها أن تقول لا.
أقفله قبل اليوم الأول
نفّذ هذه الخطوات بالترتيب. كل مرحلة تمنحك دليلًا للمرحلة التالية.
ابدأ بالقراءة فقط
يقرأ Serena إعداداته من ملف عام، ~/.serena/serena_config.yml (على Windows، %USERPROFILE%\.serena\serena_config.yml)، ومن project.yml يتجاوزه لمشروع واحد. افتح أيًا منهما بـ serena config edit. للجلسات الأولى، اضبط هذا في ملف المشروع:
read_only: true
في هذا الوضع يستطيع Serena قراءة الملفات، وفحص البنية، والبحث في الرموز، وبناء الفهارس، لكنه لا يستطيع الكتابة. القراءة هي حيث توفر أدوات الرموز التوكنات، لذلك تخسر القليل بالبدء هنا، ولا تفوّت شيئًا لا تستطيع تفعيله لاحقًا.
راقب لوحة المعلومات
يقدّم Serena لوحة معلومات محلية، عادةً على http://localhost:24282/dashboard/index.html. يقترح التحليل الأمني تشغيله للقراءة فقط لمدة يوم تقريبًا ومراقبته: أي الملفات تُمسّ، وأي الأدوات تُستدعى، وهل تتكرر الأخطاء. إذا عملت أداة لم تكن تتوقعها، فقد اكتشفت ذلك وهي غير ضارة.
افتح الأدوات واحدة تلو الأخرى
حين تبدو السجلات نظيفة، اسمح بالكتابة وأبقِ الصدفة مستبعدة. الأسماء أدناه مأخوذة من التحليل الأمني نفسه لطرف ثالث، فتحقق منها مع قائمة أدوات نسخة Serena لديك:
أجرِ commit لشجرة git نظيفة قبل كل جلسة. ثم يُظهر git diff بالضبط ما غيّره Serena، ويتراجع أمر git restore واحد عن تعديل سيئ. هذه العادة تستحق أكثر من أي إعداد سبق.
قائمة قصيرة للأسبوع الأول:
تأكد أن /mcp يُدرج Serena كمتصل ولا يعرض أداة صدفة.
شغّل /context واكتب رقم أدوات MCP.
أبقِ read_only: true حتى تصبح لوحة المعلومات مملة.
راجع git diff بعد كل جلسة كتبت ملفات.
افتح مجلد .serena مرة واحدة واقرأ ما تحويه الذكريات.
راجع إعدادك على PicassoIA
رأي ثانٍ حول إعدادك رخيص. Claude Sonnet 5 على PicassoIA يقرأ الشيفرة والإعدادات ولقطات الشاشة، فيستطيع مراجعة project.yml قبل تطبيقه.
أزل كل توكن وكلمة مرور وعنوان خاص من الإعداد، ثم الصقه في Prompt مع سؤال واضح، مثل: "راجع ملف project.yml هذا الخاص بخادم Serena من حيث صلاحية الكتابة والتعرض لأداة الصدفة. أعطني جدولًا بالمخاطر وإصلاحًا لكل منها."
اضبط Effort. الافتراضي هو low، وهو سريع ورخيص. استخدم high لإعداد فيه أدوات كثيرة، وxhigh أو max فقط لإعداد معقّد.
اختياريًا، أرفق لقطة من لوحة المعلومات كـ Image. الافتراضي max_image_resolution يبلغ 0.5 ميغابكسل، وهو كافٍ لمخطط مقروء.
أبقِ Max Tokens على الافتراضي 8,192 ما لم تكن تريد تقريرًا أطول، ثم تحقق من كل ادعاء مقابل وثائق Serena.
💡 تعامل مع الإجابة كتعليق مراجع، لا كحكم نهائي. للحصول على زاوية مختلفة، شغّل الموجه نفسه عبر Claude Fable 5 أو GPT 5.6 Sol وقارن مواضع اختلافهما.
أخطاء شائعة
الخطأ
ما يحدث
الإصلاح
تخطي --context claude-code
أدوات ملفات مكررة، وأداة صدفة، وحمل توكنات أكبر
مرّر العلامة دائمًا
--project-from-cwd عام في كل مكان
أدوات التحرير تعمل في أي مجلد تفتحه
سجّله لكل مشروع
ربط auto-approve دون تفكير
فرص أقل لرفض استدعاء خطير
اقرأ الخطاف ثم قرّر
التشغيل من رابط git دون تثبيت
تشغّل ما يحويه الفرع في ذلك اليوم
ثبّت الحزمة أو ثبّت وسمًا
عدم التحقق أبدًا من /context
تكلفة التوكنات تبقى تخمينًا
قِس قبل وبعد
الالتزام بـ .serena دون نظرة
ملفات الذكريات والملاحظات تُدفع إلى مستودع مشترك
افتح المجلد أولًا
الثقة بجلسة طويلة
يبتعد الوكيل عن أدوات Serena
استخدم الخطافات وأعد التشغيل
أنشئ صورك الخاصة على PicassoIA
إذا كنت تكتب عن أدواتك، فأنت تعرف الجزء الآخر من العمل: ملفات README والمدونات وشرائح الحديث كلها تحتاج صورًا تبدو جزءًا من المحتوى. تجمع PicassoIA نماذج الصور في مكان واحد، فتستطيع تجربة أمر نصي وتعديله ومقارنة النتائج في دقائق. للمشاهد الواقعية، ابدأ بـ Seedream 4.5 أو FLUX 1.1 Pro، ثم تصفح كل ما عدا ذلك على picassoia.com/en/all-models.
صِف مشهدًا حقيقيًا بعدسة واتجاه ضوء وملمس، ثم شغّله، وعدّل تفصيلًا واحدًا في كل مرة. تعامل مع النتيجة الأولى كمسودة، لأن الثالثة غالبًا تكون أقرب إلى ما تخيلته. افتح نموذجًا، واكتب أمرًا نصيًا، وشاهد ما يعود إليك.