
في تطبيق Laravel كل ما تحتاجه أدوات WebMCP موجود أصلًا: المسارات، والتحقق، وpolicies، والجلسة. ولا تضيف سوى سكربت صغير إلى الصفحة. جديد على الموضوع؟ ابدأ بمقال ما هو WebMCP.
الخطوة 1: مسار JSON صغير
استخدم مسارًا في routes/web.php لتسري جلسة الزائر، وأضف حدًّا لمعدّل الطلبات:
Route::get('/agent/products', function (Illuminate\Http\Request $request) {
$data = $request->validate(['q' => 'required|string|max:80']);
return App\Models\Product::query()
->where('published', true)
->where('name', 'like', '%'.$data['q'].'%')
->limit(5)
->get(['name', 'price', 'slug']);
})->middleware('throttle:30,1');اختر فقط الأعمدة التي يحق للعميل رؤيتها. ولا تُعِد النموذج كاملًا أبدًا.
الخطوة 2: سجّل الأداة في Blade
أضف سكربتًا إلى التخطيط، أو ادفعه فقط إلى الصفحات التي تحتاج إليه:
@push('scripts')
<script>
const mc = document.modelContext || navigator.modelContext;
if (mc && mc.registerTool) {
mc.registerTool({
name: 'search_products',
description: 'Search published products. Returns name, price and slug.',
inputSchema: {
type: 'object',
properties: { q: { type: 'string', description: 'Keywords' } },
required: ['q'],
},
annotations: { readOnlyHint: true },
execute: async ({ q }) => {
const res = await fetch('/agent/products?q=' + encodeURIComponent(q));
return await res.text();
},
});
}
</script>
@endpushالخطوة 3: نماذج Blade كأدوات
أضف toolname وtooldescription إلى نموذج لديك بالفعل. تصبح الحقول ذات التسميات مدخلات الأداة. وأبقِ @csrf في مكانه. ويعبّئ المتصفح النموذج، ويبقى الزائر افتراضيًا هو من يضغط الزر.
الخطوة 4: الإجراءات الحساسة
في أداة POST، أرسل رمز CSRF في ترويسة X-CSRF-TOKEN، وتحقّق من صلاحية الإجراء عبر policy كالمعتاد. وميّز الأداة بـ consequentialHint: true.
قواعد الأمان
- ابدأ بالقراءة فقط. البحث والتفاصيل أولًا، وميّزها بـ
readOnlyHint. - اسأل قبل التنفيذ. ميّز إجراءات السلة والحجز والنماذج بـ
consequentialHintليؤكّدها الزائر. - تحقّق على الخادم. المتصفح ليس حدًّا أمنيًّا، لذا تحقّق من كل مدخل وكل صلاحية في الواجهة الخلفية.
- أعِد أقل قدر ممكن. أرسل فقط ما يحق للعميل رؤيته، ولا ترسل أبدًا بيانات الإدارة أو سجلات عملاء آخرين.
اختبر الأدوات
- استخدم إصدارًا حديثًا من Chrome مع تفعيل WebMCP، عبر التجربة الأولية (origin trial) أو إعداد الاختبار.
- استدعِ كل أداة بمدخلات صحيحة وأخرى خاطئة.
- تأكّد من أن الزوار العاديين لا يلاحظون أي تغيير.
- شغّل فاحص WebMCP المجاني على الصفحة نفسها التي توجد فيها أدواتك.
تريد أن ننفّذه لك؟
نضيف WebMCP إلى تطبيقات Laravel وPHP. اطّلع على خدمات دمج WebMCP، أو افحص إصدار PHP الحالي لديك عبر فاحص إصدار PHP المجاني.
الأسئلة الشائعة
هل أحتاج إلى حزمة Laravel لـ WebMCP؟
لا. WebMCP واجهة API في المتصفح، لذا يكفي سكربت صغير ومسار عادي. والحزمة توفّر عليك القليل من الكود فقط.
كيف تعمل المصادقة مع WebMCP في Laravel؟
تعمل الأدوات داخل الصفحة، لذا تحمل الطلبات من الأصل نفسه ملف تعريف الارتباط الخاص بجلسة الزائر. وتعمل طبقات middleware للمصادقة وpolicies كالمعتاد.
ماذا عن CSRF في أدوات POST؟
أرسل رمز CSRF الموجود في وسم meta بالصفحة ضمن ترويسة X-CSRF-TOKEN، كما تفعل مع أي طلب JavaScript.
هل يعمل هذا مع Livewire أو Inertia؟
نعم. حمّل السكربت في التخطيط الرئيسي، أو سجّل الأدوات في مكوّن Vue أو React إذا كنت تستخدم Inertia.
كيف يمكننا المساعدة
- خدمات تكامل WebMCPWebMCP development for any stack, from WordPress and Shopify to Next.js, Laravel and Django: search, FAQs and forms offered as secure tools for AI browser agents, with a free audit.
- ترحيل PHP إلى Next.js وFastAPIترحيل تطبيقات PHP وLaravel وCodeIgniter وWordPress القديمة إلى Next.js وPython FastAPI، بعرض سعر ثابت، مع الحفاظ على الروابط وSEO والبيانات، وانتقال دون توقف.
- تطوير تطبيقات الويب المخصصةتطوير تطبيقات ويب مخصصة متكاملة لـ SaaS والأدوات الداخلية ولوحات المعلومات وبوابات المؤسسات باستخدام React وNext.js وNode وLaravel وDjango.
تحدثوا إلى مهندس حول مشروعكم
أخبرونا بما تبنونه. نردّ خلال يوم عمل واحد برأي صريح حول النطاق والنهج والجهد المطلوب.
احجزوا مكالمة استراتيجية مجانيةكتبه الفريق الهندسي في UnlockLive IT. تعمل UnlockLive IT Limited مع العملاء عبر مقرها الرئيسي في لوس أنجلوس ومكتبها في تورنتو، وتقدم الأعمال الهندسية من مركز التسليم في دكا. من نحن