خادم MCP صغير يحوّل أي VPS إلى وكيل (Agent) يتحكّم به Claude مباشرة من المحادثة — بديل خفيف لأنظمة الوكلاء الثقيلة، بدون تشغيل أي نموذج ذكاء اصطناعي على الجهاز. الجهاز يشغّل ١٥٠ سطر فقط، و«العقل» هو Claude.
الطريقة التقليدية تتطلب تشغيل نظام وكلاء كامل على السيرفر (نموذج + حلقة تفكير + ذاكرة + إعدادات). هنا نقلب المعادلة: السيرفر يشغّل خادم MCP بسيط يفتح طرفية (terminal) عبر tmux، و Claude يتصل بها ويتحكّم بالجهاز كأنه مسؤول نظام حقيقي — يثبّت برامج، يشغّل خدمات، يقرأ السجلّات، ويصلح المشاكل.
لا نموذج محلي ولا حلقة تشغيل على الجهاز. التفكير يحدث في Claude، والسيرفر ينفّذ فقط.
عبر tmux تبقى الحالة محفوظة: مجلد العمل، المتغيّرات، جلسات SSH — تمامًا كجلسة طرفية واحدة.
تقدر تفتح نفس الجلسة بـ tmux attach وتشاهد Claude يكتب الأوامر مباشرة أمامك.
أربعة أشياء فقط. لا حاجة لكرت شاشة أو جهاز قوي — أي VPS صغير يكفي.
أوبونتو أو ديبيان، نظيف. حتى أصغر باقة (1 جيجا رام) تكفي تمامًا لتشغيل الخادم.
سجل DNS من نوع A أو CNAME يشير إلى السيرفر — يحتاجه Caddy لإصدار شهادة TLS تلقائيًا.
باقة Pro أو Max أو Team / Enterprise — لأن إضافة الموصّلات المخصّصة (Custom Connectors) متاحة فيها.
لا تحتاج تثبيتها يدويًا — سكربت التثبيت يتكفّل بكل شيء (tmux و Python و Caddy والجدار الناري).
خادم MCP يعرض ٦ أدوات يستخدمها Claude، مع طبقة أمان وتشفير جاهزة.
شهادة Let's Encrypt حقيقية بدون أي إعداد يدوي.
الخادم يعمل بمستخدم mcpagent وليس root — لتقليل المخاطر.
حاجز يمنع الأخطاء الشائعة مثل rm -rf / و mkfs.
كل أمر ينفّذه Claude يُسجَّل — تتابعه مباشرة بـ tail -f.
الطلب يخرج من سحابة Anthropic (وليس من جهازك)، يمرّ عبر Caddy للتشفير، ثم خادم MCP ينفّذه داخل جلسة tmux ويعيد النتيجة.
جهّز سجل DNS أولًا، ثم شغّل سكربت واحد على السيرفر. كل شيء يُثبَّت ويُضبط تلقائيًا.
أنشئ سجل A (أو CNAME) يشير لعنوان السيرفر قبل التشغيل، حتى يتمكّن Caddy من إصدار الشهادة.
agent.example.com A <your-vps-ip>
أمر واحد يثبّت tmux و Python و Caddy، ينشئ المستخدم والخدمة، ويضبط الجدار الناري.
git clone https://github.com/makhatib/linuxMCP.git cd linuxMCP sudo ./deploy.sh agent.example.com you@example.com
من الإعدادات: Settings → Connectors → Add custom connector ثم الصق الرابط. الاتصال بدون مصادقة (authless).
https://agent.example.com/mcp
اطلب من Claude أي مهمة على السيرفر: «تحقّق من المساحة وثبّت nginx وشغّله». وستراه يعمل مباشرة.
ملاحظة Cloudflare: إذا كان النطاق يمرّ عبر بروكسي Cloudflare (السحابة البرتقالية)، فقد يقطع استجابة الأوامر. الحل: اجعل السجل DNS only (سحابة رمادية) ليصل Claude إلى Caddy مباشرة.
أفضل لقطة في الفيديو: شاشة مقسومة — الطرفية على جهة و Claude على الجهة الأخرى.
# افتح نفس جلسة Claude وراقبه يكتب
sudo -u mcpagent tmux attach -t claude# كل أمر ينفّذه Claude يظهر هنا
tail -f /opt/linux-mcp/audit.log
• فحص حالة النظام والموارد (CPU، الذاكرة، القرص)
• تثبيت وإعداد خدمات (nginx، Docker، قواعد بيانات)
• قراءة وتحليل السجلّات لتشخيص الأعطال
• كتابة وتشغيل سكربتات Bash أو Python
• متابعة العمليات والاتصال بأجهزة أخرى عبر SSH
| الإعداد | الافتراضي | الوظيفة |
|---|---|---|
| GRANT_SUDO | false | عند true يسمح لـ Claude بصلاحيات الجذر (تثبيت الحزم وإدارة الخدمات). |
| ANTHROPIC_IPS | فارغ | حصر المنفذ 443 على نطاقات IP محدّدة لزيادة الأمان. |
قائمة المنع حاجز ضد الأخطاء وليست جدار حماية. الأمان الحقيقي يأتي من العزل.
استخدم VPS مخصّصًا قابلًا للحذف، وأبقِ GRANT_SUDO=false ما لم تحتجه.
فعّل قائمة IP المسموحة على الجدار الناري، وأبقِ منفذ SSH بمفتاح فقط.
لا تترك طرفية عامة بدون مصادقة تعمل. احذف السيرفر أو دوّره بعد الانتهاء.
المشاكل التي قد تواجهها أثناء الإعداد — وحلّها المباشر.
| المشكلة | السبب والحل |
|---|---|
| 421 Misdirected | الخادم لا يثق بالنطاق. تأكد أن الخدمة تعمل مع MCP_ALLOWED_HOST (يضبطه السكربت تلقائيًا). |
| couldn't register | احذف الموصّل وأضفه من جديد — المحاولات الفاشلة المتكرّرة قد تصنّفه كموصّل OAuth. |
| التغييرات لا تظهر | أعد تشغيل الخدمة: systemctl restart linux-mcp. |
| الأمر ينجح لكن Claude يخطئ | غالبًا بروكسي Cloudflare يبتلع الاستجابة — اجعل سجل DNS رماديًا (DNS only). |