WebMCP: استاندارد وب برای ابزارسازی هوش مصنوعی
خلاصهٔ کاملتر
WebMCP یه پیشنهاد استاندارد وب از تیم Google Chromeه که میخواد پل محکمتری بین اپلیکیشنهای وب و ایجنتهای هوش مصنوعی بزنه. مشکل فعلی اینه که وقتی یه ایجنت AI میخواد با یه صفحه وب تعامل کنه، باید خودش بفهمه هر المان چیکارهست — که این فرآیند پر از خطا و تفسیرهای نادرسته. WebMCP این مشکل رو با رویکرد «اعلام صریح هدف» حل میکنه.
با WebMCP، توسعهدهندهها میتونن ابزار (tool) تعریف کنن — مثلاً checkout یا filter_results — که دقیقاً مشخص میکنه هر قابلیت صفحه چطور باید فراخوانی بشه. این ابزارها با JSON Schema تعریف میشن تا ورودیها و خروجیهای مورد انتظار کاملاً واضح باشن و احتمال هالوسینیشن (پاسخ نادرست هوش مصنوعی) کاهش پیدا کنه.
دو نوع API برای ساخت این ابزارها وجود داره:
- Imperative API: تعریف ابزار با جاوااسکریپت خالص، برای انواع توابع، ناوبری، یا مدیریت state
- Declarative API: اضافهکردن annotation به فرمهای HTML استاندارد برای تبدیل اونها به ابزار WebMCP
کاربردهای عملی خوبی برای این استاندارد وجود داره؛ مثلاً ساخت ابزار submit_application که به ایجنت کمک میکنه دادههای جمعآوریشده از مکالمه رو به فیلدهای فرم درست نگاشت کنه، یا ابزار date_pick برای انتخاب تاریخ و ساعت در رزرو رویداد — فیلدهایی که معمولاً برای انسان طراحی شدن و برای ایجنت گیجکنندهن.
WebMCP سه قابلیت کلیدی رو ساپورت میکنه: Discovery (ثبت ابزارها با مرورگر)، JSON Schema (تعریف دقیق ورودی/خروجی)، و State (آگاهی ایجنت از وضعیت لحظهای صفحه). همچنین یه سیستم Permissions Policy داره که بهصورت پیشفرض دسترسی رو فقط به همان origin محدود میکنه و برای iframeهای cross-origin باید allow="tools" اضافه بشه.
برای تست محلی میشه فلگ chrome://flags/#enable-webmcp-testing رو فعال کرد. یه افزونه Chrome به اسم Model Context Tool Inspector هم هست که بهت اجازه میده ابزارهای ثبتشده رو ببینی، اونها رو دستی فراخوانی کنی، و با پرامپتهای متنی آزمایش کنی — پرامپتها بهصورت پیشفرض به مدل gemini-3-flash-preview فرستاده میشن.
نکات کلیدی:
- WebMCP یه استاندارد پیشنهادیه، نه نهایی — هنوز در حال بحث و تغییره
- برای کارکرد، حتماً باید یه تب مرورگر باز باشه؛ حالت headless پشتیبانی نمیشه
- در Chrome 149 به مرحله origin trial میرسه
- ابزارها فقط وقتی قابل کشفان که کاربر (یا ایجنت) مستقیماً سایت رو باز کنه
- برای سایتهای پیچیده، ممکنه نیاز به refactor کد برای مدیریت state باشه




