−25%

على الدفع السنوي لـ Windows حتى 31 أكتوبر. عرض الخطط

EQVPS
ابدأ الآن

ضوابط MCP: صلاحيات آمنة لوكلاء الذكاء الاصطناعي

قبل أن تمنح وكيل ذكاء اصطناعي رمزًا لخوادمك، اعرف بدقة ما الذي يستطيع لمسه. أدوات MCP الـ45 في EQVPS حسب مستوى الخطر، والحدود التي يفرضها الخادم، والإعداد الذي كنا سنختاره لأنفسنا.

آخر تحقق: 2026-10-04 · خادم MCP 1.6.0 · 45 أداة (رمز العميل)

رمز MCP هو كلمة مرور حسابك وقد رُكّبت عليها واجهة API. أعطه لوكيل وسيصبح لديك مستخدم لا يتعب أبدًا، يقرأ أي صفحة تشير إليها، وينفّذ بالضبط ما تقوله آخر تعليمة في سياقه. في أغلب الأوقات هذا ما تريده. هذه الصفحة عن بقية الأوقات.

كل ما يلي تم التحقق منه على الخادم الفعلي في التاريخ المذكور أعلى الصفحة: قائمة الأدوات مأخوذة من tools/list على https://mcp.eqvps.com/mcp، والحدود من الـ API نفسها. إن كنت جديدًا، فاقرأ أولًا ربط عميل MCP ورموز API، ثم عُد إلى هنا.

نموذج التهديد: ما الذي يسوء فعلًا

ثلاثة أمور، بالترتيب الذي نراها به:

  1. الوكيل يسيء الفهم. عبارة "نظّف جهاز الاختبار" تتحول إلى إعادة تثبيت الخادم الخطأ. لا نية سيئة، مجرد نموذج ملأ فراغًا في التعليمات.
  2. حقن التعليمات (prompt injection). يقرأ الوكيل نصًا لم تكتبه أنت (ملف README، رد من الدعم، صفحة ويب مسحوبة) فيطلب منه ذلك النص فعل شيء ما. إذا كان الوكيل يحمل رمزًا بصلاحيات كاملة، فالتعليمة المحقونة تملكها أيضًا.
  3. الرمز يتسرّب. ينتهي به المطاف في سجل shell أو مستودع عام أو إعداد MCP مشترك أو سطر في ملف سجل.

يتحقق خادم MCP من أن الرمز صالح وأن الخادم يتبع ذلك الحساب (أو مفوَّض له). لا يعرف ما الذي قصدته. كل ضابط أدناه يجيب عن سؤال واحد: ما حجم الضرر الممكن إذا كانت التعليمات خاطئة؟

كل أدوات MCP حسب مستوى الخطر

يرى رمز العميل 45 أداة (خادم MCP 1.6.0). أما رمز الموزّع (rk_…) فيرى مجموعة منفصلة من 30 أداة للموزّعين ولا يرى أيًا من هذه، لذا تضم نقطة النهاية 75 أداة إجمالًا. يحصل عميلك من tools/list على مجموعته فقط.

ترتّب هذه الصفحة الأدوات حسب الخطر. معاملات كل أداة وأمثلة استدعائها في مرجع المعاملات؛ وكل الأدوات في سطر واحد، بما فيها أدوات الموزّعين الثلاثون، في القائمة الكاملة.

لا نرسل بعد تعليقات أدوات MCP التوضيحية (readOnlyHint وdestructiveHint)، لذا لا يستطيع عميلك تصنيفها بنفسه. اضبط الموافقات يدويًا وفق المستويات أدناه.

المستوى 0 — عامة، بلا رمز (5)

الأداةما تفعله
get_startedالمسار كاملًا في رد واحد: أي أدوات تُستدعى وبأي ترتيب
list_plansالخطط والأسعار وصور أنظمة التشغيل
sandbox_pricingأسعار بيئات sandbox
register_accountتنشئ حسابًا جديدًا وتعيد رمزه
loginالبريد الإلكتروني + كلمة المرور ← رمز

المستوى 1 — قراءة الحساب، بلا آثار جانبية (15)

الأداةما تفعلهانتبه
whoamiمعرّف الحساب والاسم والبريد
get_balanceالرصيد المسبق الدفع
list_vpsالخوادم النشطة وقيد الإنشاء والموقوفة
get_vps_statusالحالة والمواصفات وبيانات الوصولمع reveal: true تعيد كلمة مرور root
get_vps_metricsالمعالج والذاكرة والشبكة والقرص عبر الزمن
get_upgrade_optionsالخطط التي يمكن للخادم الانتقال إليها دون إعادة تثبيت
list_delegationsلمن منحت الوصول
list_delegated_to_meالخوادم التي فوّضها لك آخرون
list_ticketsتذاكر الدعم الخاصة بك
get_ticketتذكرة واحدة مع المحادثة كاملةنص التذكرة مُدخل غير موثوق بالنسبة للوكيل
list_sandboxesبيئات sandbox الخاصة بك
get_sandboxبيئة sandbox واحدة واستهلاكها
get_taskمخرجات مهمة في الخلفية
download_fileتقرأ ملفًا صغيرًا من sandbox
get_download_urlرابط قصير العمر لملف واحد في sandboxيستطيع أي شخص يملك الرابط التنزيل حتى تنتهي صلاحيته

المستوى 2 — تغيّر الحالة، لا تنفق شيئًا (17)

الأداةما تفعلهانتبه
power_vpsstart / stop / rebootالإيقاف إيقاف فعلي: تتوقف الخدمات
set_hostnameتعيد تسمية الخادمتغيّر القيمة نفسها التي يقارن بها confirm
undo_cancelتزيل إلغاءً مجدولًا في نهاية الفترة
refresh_tokenرمز جديد، والقديم يُلغى فورًاحدّث أي إعداد ثابت بعدها
set_passwordتعيّن كلمة مرور الحساب إن لم توجدمن يحمل الرمز قد يعيّنها قبلك
topup_balanceفاتورة شحن + رابط دفع بالعملات المشفرةالدفع يحتاج محفظة
pay_invoiceرابط دفع لفاتورة غير مدفوعةكذلك
accept_delegationتقبل دعوة
revoke_delegationتنهي تفويضًا
create_ticket / reply_ticket / close_ticketتذاكر الدعمالوكيل يراسل الدعم باسمك
run_code / exec_commandتشغّل شيفرة داخل sandboxداخل sandbox فقط، لا على VPS الخاص بك
kill_taskتوقف مهمة في الخلفية داخل sandbox
upload_file / get_upload_urlتضع ملفًا في sandbox

المستوى 3 — تنفق المال أو تحذف البيانات أو تمنح الوصول (8)

الأداةما تفعلهالفحص على الخادم
order_vpsتطلب خادمًا وتدفع من الرصيدرصيد غير كافٍ ← فاتورة غير مدفوعة، دون خصم
change_planتغيير الخطة دون إعادة تثبيت، والفرق يُخصم من الرصيدconfirm: true؛ رصيد غير كافٍ ← 402
create_sandboxتشغّل sandbox مدفوعةرصيد فارغ ← 402
reinstall_vpsتمسح القرص وتثبّت نظام تشغيل جديدًاconfirm = اسم المضيف بالضبط أو DELETE؛ 4 استدعاءات/دقيقة
reset_passwordكلمة مرور root جديدة، والقديمة تتوقفconfirm = اسم المضيف أو DELETE؛ 6 استدعاءات/دقيقة
cancel_serviceend_of_period (افتراضي، قابل للتراجع) أو immediate (يدمّر الخادم فورًا)immediate يتطلب confirm = اسم المضيف
kill_sandboxتحذف sandbox مع ملفاتهالا يوجد
delegate_serviceتمنح شخصًا آخر صلاحية المشغّل على خادمالمالك فقط؛ ويجب أن يقبل الطرف الآخر

سجل تغييرات مجموعة الأدوات

التاريخإصدار الخادمالتغييرالأثر على الخطر
2026-10-031.6.0إضافة refresh_token؛ صلاحية الرموز سنة افتراضيًاالمستوى 2
2026-10-031.5.0undo_cancel وget_upgrade_options وchange_planchange_plan تنفق الرصيد ← المستوى 3
2026-10-031.1.013 أداة لبيئات sandboxcreate_sandbox تنفق وkill_sandbox تحذف ← المستوى 3

الإصدار العامل متاح للعموم: curl -s https://mcp.eqvps.com/healthz. عندما يتغير، يتغير هذا الجدول معه.

الرصيد هو سقف الإنفاق

EQVPS خدمة مسبقة الدفع. لا بطاقة محفوظة ولا حد ائتماني ولا رصيد سالب: أقصى ما يستطيع الوكيل إنفاقه هو ما في الرصيد. ثلاث أدوات تنفق: order_vps وchange_plan وcreate_sandbox. وتجديدات خوادمك الحالية تُخصم من الرصيد نفسه.

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

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

أقل الصلاحيات: لا يوجد رمز للقراءة فقط (بعد)

بصراحة: كل رمز عميل يملك الصلاحيات نفسها التي يملكها الحساب في لوحة التحكم. اسم الرمز ومدة صلاحيته قابلان للضبط، أما النطاقات (scopes) فلا.

أضيق ما هو متاح اليوم هو التفويض. تمنح الوكيل حسابه الخاص برصيد صفري وتفوّض له خادمًا واحدًا:

delegate_service  { "service_id": "EQ-XXXX", "email": "agent@yourdomain.com", "expires_days": 30 }

والأمر نفسه عبر REST:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/services/EQ-XXXX/delegations" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"email":"agent@yourdomain.com","expires_days":30}'

يجب قبول الدعوة أثناء تسجيل الدخول بذلك البريد (accept_delegation)، ويمكن أن تكون expires_days من 1 إلى 365. خطوة بخطوة مع لقطات شاشة: تفويض الوصول والوصول في التوثيق.

الحساب المفوَّض يستطيعالحساب المفوَّض لا يستطيع
رؤية حالة ذلك الخادم الوحيد ومقاييسه وسجلهرؤية خوادمك الأخرى أو رصيدك أو فواتيرك
التشغيل والإيقاف وإعادة التشغيلالإلغاء أو التجديد أو تغيير الخطة
ضبط اسم المضيف وDNS العكسيشراء إضافات أو عناوين IP
إعادة تعيين كلمة مرور rootفتح وحدة التحكم على الويب
إعادة تثبيت نظام التشغيلتفويض الخادم لشخص آخر

انتبه إلى آخر سطرين في العمود الأيمن. لا يستطيع المفوَّض إنفاق أموالك، لكنه يستطيع مسح ذلك الخادم. فعّل النسخ الاحتياطي على أي خادم يستطيع الوكيل إعادة تثبيته.

نظافة الرموز

رمز واحد لكل وكيل، باسم واضح. أنشئه من لوحة التحكم ← الإعدادات ← رموز API للوكلاء، أو هكذا:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/auth/tokens" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"backup-agent","expires_in_days":90}'

يُعرض الرمز مرة واحدة فقط. مدة الصلاحية من 1 إلى 1825 يومًا، و365 إن لم تحدد. للوكلاء كنا سنختار 90.

احفظه في ملف لا يقرؤه أحد سواك، لا في المستودع ولا في الموجّه (prompt) ولا في متغير shell تنسخه هنا وهناك:

mkdir -p ~/.config/eqvps && chmod 700 ~/.config/eqvps
( umask 077; read -rsp 'EQVPS token: ' T; echo; printf 'EQVPS_TOKEN=%s\n' "$T" > ~/.config/eqvps/agent.env )
ls -l ~/.config/eqvps/agent.env   # المتوقع: -rw-------

ثم حمّله في خدمة الوكيل عبر EnvironmentFile= (systemd) أو set -a; . ~/.config/eqvps/agent.env; set +a.

دوّره قبل انتهاء صلاحيته. أداة refresh_token، أو POST /auth/tokens/{id}/refresh، تصدر رمزًا جديدًا بالاسم نفسه وتلغي القديم فورًا. إذا كان الرمز مكتوبًا مباشرة في إعدادات عميل MCP، فحدّثها فورًا بعد ذلك، وإلا ستحصل الجلسة التالية على 401.

تحقق مَن يستخدم ماذا: يعرض GET /auth/tokens كل رمز مع اسمه وتاريخ انتهائه وlast_used_at. رمز لا تعرفه، أو رمز استُخدم بعد أن أوقفت الوكيل، هو إشارة الإنذار.

إذا تسرّب رمز

بهذا الترتيب:

  1. ألغِه. لوحة التحكم ← الإعدادات ← رموز API للوكلاء ← إلغاء، أو curl -s -X DELETE -H "Authorization: Bearer $EQVPS_TOKEN" https://api.eqvps.com/api/v1/eqvps/auth/tokens/<id>. يتوقف عن العمل من الطلب التالي.
  2. ابحث عن رموز جديدة لم تنشئها أنت، وألغِها أيضًا.
  3. افحص ما قد يكون تأثر: سجل الخدمة لكل خادم، والفواتير والرصيد، وlist_delegations بحثًا عن وصول لم تمنحه.
  4. غيّر كلمات مرور root على كل خادم كان ذلك الرمز يراه. فـ get_vps_status مع reveal: true يسلّم كلمة مرور root، أي أن الرمز المسرّب يعني كلمة مرور root مسرّبة. وافحص ~/.ssh/authorized_keys وأنت هناك.
  5. أغلق باب كلمة المرور. إذا لم يكن لحسابك كلمة مرور قط، فربما عيّن حامل الرمز واحدة عبر set_password. سجّل الدخول برمز يصلك بالبريد وغيّرها.

الوقاية من الخطوة 5 مجانية: عيّن كلمة مرور للحساب بنفسك الآن، وستعيد set_password الرمز 409 لكل من يأتي بعدك.

الموافقة البشرية

ما يفرضه الخادم:

  • تتطلب reinstall_vps وreset_password وcancel_service مع type: immediate أن يكون confirm مساويًا لاسم المضيف بالضبط (وDELETE صالح أيضًا لإعادة التثبيت وإعادة التعيين).
  • تتطلب change_plan القيمة confirm: true.
  • الإلغاء الافتراضي هو end_of_period: يعمل الخادم حتى نهاية الفترة المدفوعة، وundo_cancel تتراجع عنه.
  • حدود المعدل لكل حساب: إعادة التثبيت 4/دقيقة، إعادة تعيين كلمة المرور 6/دقيقة، الطاقة 20/دقيقة، الطلبات 20/دقيقة. تكفي لمنع حلقة من تكرار الأمر خمسين مرة، لكنها لا تكفي لإيقاف استدعاء خاطئ واحد.

كن واضحًا بشأن ماهية confirm. إنه يمنع الوكيل من التصرف بناءً على "نظّف ذلك". ولا يوقف مهاجمًا، لأن اسم المضيف على بُعد استدعاء واحد لـ get_vps_status. الموافقة الحقيقية موجودة في عميل MCP الخاص بك. معظم العملاء يستطيعون السؤال قبل كل استدعاء أداة: دع المستويين 0 و1 يعملان بحرية، واجعل المستوى 3 يسأل دائمًا. في العملاء التي تدعم صلاحيات لكل أداة، مثل ملف settings.json في Claude Code (الخادم مسجّل باسم eqvps):

{
  "permissions": {
    "ask": ["mcp__eqvps__order_vps", "mcp__eqvps__change_plan", "mcp__eqvps__create_sandbox", "mcp__eqvps__reset_password", "mcp__eqvps__delegate_service"],
    "deny": ["mcp__eqvps__reinstall_vps", "mcp__eqvps__cancel_service", "mcp__eqvps__kill_sandbox"]
  }
}

وأضف سطرًا إلى تعليمات الوكيل أيضًا. وحده ليس إجراء أمان، لكنه يقلل حالات سوء الفهم (اتركه بالإنجليزية، فالنماذج تفهمه بالقدر نفسه):

Never call reinstall_vps, reset_password, cancel_service (type=immediate), change_plan,
order_vps, create_sandbox, kill_sandbox or delegate_service unless the human has typed
the target server's hostname in this conversation for that specific action.

إذا كان الوكيل يسجّل الدخول برمز بريد إلكتروني بدلًا من حمل رمز طويل الأجل، فراجع تسجيل دخول الوكيل عبر MCP.

التدقيق: ما الذي تراه لاحقًا

  • قائمة الرموز (GET /auth/tokens، أو الإعدادات ← رموز API للوكلاء): الاسم وتاريخ الإنشاء والانتهاء وlast_used_at. لهذا السبب تحديدًا يستحق الأمر تسمية الرموز حسب الوكيل.
  • سجل الخدمة (لوحة التحكم، صفحة الخادم): إجراءات الطاقة، وإعادات التثبيت، وإعادات تعيين كلمة المرور، وتغييرات الخطة، والمدفوعات، ولكل منها وقت وفاعل: أنت أو الدعم أو تلقائي. لا يخبرك أي رمز أو أي مفوَّض قام بالإجراء، بل فقط أنه جاء من جهتك.
  • الفواتير والرصيد: كل خصم وكل استرداد.
  • list_delegations: من يملك الوصول إلى ماذا، وحتى متى.

هذه الفجوة في سجل الخدمة هي الحد الصادق للتدقيق من جهة الخادم اليوم. إذا احتجت إلى معرفة أي وكيل فعل ماذا، فسجّل كل استدعاء أداة مع وسائطه (دون الأسرار) من جهة الوكيل.

الإعداد الذي كنا سنختاره

لوكيل يدير خادم إنتاج واحدًا:

  1. حساب مستقل للوكيل، برصيد صفري، والخادم مفوَّض مع expires_days: 90.
  2. رمز المالك يبقى معك، ولا يوجد في أي إعداد للوكيل.
  3. نسخ احتياطي على ذلك الخادم، لأن المفوَّض يستطيع إعادة التثبيت.
  4. أدوات المستوى 3 على "ask" أو "deny" في العميل.
  5. رمز الوكيل في ملف بصلاحيات 600، يُجدَّد قبل انتهائه.

أما الوكيل الذي يحتاج إلى طلب خوادم أو تشغيل بيئات sandbox، فالتفويض لا يكفيه، لأنه يحتاج إلى رصيد. هنا يكون الرصيد هو سقفك: اشحنه لكل مهمة، وسمِّ الرمز، وراجع last_used_at مرة كل أسبوع. إذا كان رمز للقراءة فقط سيغيّر طريقة تشغيلك للوكلاء، فأخبرنا عبر الدعم: فهذا النوع من الملاحظات هو ما يحدد ما نبنيه لاحقًا.

الأسئلة الشائعة

هل يمكنني منح وكيل ذكاء اصطناعي صلاحية القراءة فقط؟

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

كيف أحدّ مما ينفقه الوكيل؟

بالرصيد المسبق الدفع. ثلاث أدوات فقط تنفق المال (order_vps وchange_plan وcreate_sandbox) وكلها تخصم من الرصيد؛ وإذا لم يكفِ تعيد 402 أو فاتورة غير مدفوعة. يستطيع الوكيل إنشاء رابط شحن أو دفع، لكن الدفع يحتاج محفظة عملات مشفرة، لذا يدفع إنسان. لا توجد بطاقة محفوظة ولا رصيد سالب.

ما الذي يمنع الوكيل من حذف خادمي؟

تتطلب reinstall_vps وreset_password وcancel_service الفوري أن يكون confirm مساويًا لاسم المضيف بالضبط (أو DELETE لإعادة التثبيت وإعادة التعيين). الإلغاء الافتراضي هو end_of_period: يستمر الخادم في العمل ويمكن التراجع عنه بـ undo_cancel. الحسابات المفوَّضة لا تستطيع الإلغاء إطلاقًا. حقل confirm يوقف وكيلًا يتصرف بناءً على تعليمات غامضة، لا مهاجمًا يحمل رمزك، لذا اضبط هذه الأدوات أيضًا على السؤال الدائم في عميل MCP.

ماذا أفعل إذا تسرّب رمز Bearer الخاص بي؟

ألغِه فورًا (لوحة التحكم ← الإعدادات ← رموز API للوكلاء، أو DELETE /auth/tokens/{id}). ثم افحص قائمة الرموز بحثًا عن رموز لا تعرفها، وراجع سجل الخدمة لكل خادم وفواتيرك وlist_delegations، وغيّر كلمات مرور root على الخوادم التي كان الرمز يراها: فـ get_vps_status مع reveal يعيد كلمة مرور root.

كم عدد أدوات خادم MCP في EQVPS؟

45 أداة لرمز العميل حسب خادم MCP 1.6.0 (تم التحقق في 2026-10-04): 5 عامة، و15 للقراءة فقط، و17 تغيّر الحالة دون إنفاق، و8 تنفق المال أو تحذف البيانات أو تمنح الوصول. أما رموز الموزّعين فترى بدلًا منها مجموعة منفصلة من 30 أداة للموزّعين، أي 75 أداة إجمالًا على نقطة النهاية نفسها.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.