WebMCP

يتيح WebMCP لصفحة ويب عرض أدوات منظمة لوكيل ذكاء اصطناعي في المتصفح. تعرّف إلى اختلافه عن MCP، وما تدعمه Chrome، ومخاطر الأمان، ومتى ينبغي الانتظار.

نُشر أول مرة: 17 يوليو 2026 · آخر تحديث: 14 أغسطس 2026 · Advanced
اللغات
دليل واحد في هذه الصفحة

WebMCP واجهة API تجريبية للمتصفح تتيح لصفحة ويب مفتوحة عرض أدوات منظمة لوكيل ذكاء اصطناعي. وهي مفيدة لإجراءات محدودة داخل الصفحة، لا لاكتشاف الويب أو الترتيب. وحتى 17 يوليو 2026، هي مسودة لمجموعة مجتمعية وتجربة أصلية في Chrome 149؛ تستخدم أمثلة Chrome الحالية document.modelContext، بينما يُهمل navigator.modelContext في Chrome 150.

TL;DR — يعرض WebMCP أدوات تملكها الصفحة من document.modelContext لوكيل في سياق التصفح النشط. تسجل واجهة API الإلزامية اسماً ووصفاً ومدخل JSON Schema وتعليقات توضيحية ونداءً غير متزامن؛ ويمكن أن تعتمد الأدوات على الحالة وأن تلغي تسجيلها باستخدام AbortSignal. وتوثق Chrome طبقة نماذج تصريحية أيضاً، لكن مسودة المجموعة المجتمعية في 10 يوليو 2026 ما زالت تضع قسمها التصريحي في حالة TODO. توجد الميزة في تجربة أصلية في Chrome 149، وليست خط أساس مستقراً عبر المتصفحات. تعامل معها كتحسين تدريجي، لا كبنية SEO، وأمّنها كسطح تطبيق موثق الهوية.

Evidence for this claim Chrome documents declarative form annotations such as toolname and tooldescription, but the declarative section of the July 10, 2026 Community Group draft is still marked TODO. Scope: secure browser context Confidence: high · Verified: WebMCP Draft Community Group Report

كيف يعمل WebMCP في المتصفح

تبدأ دورة حياة WebMCP المفيدة وتنتهي بالصفحة. تسجل الصفحة الإجراءات الصالحة في حالتها الحالية فقط؛ ويكتشفها وكيل يعمل بالفعل في سياق التصفح ذاك ويستدعي أحدها؛ ثم تنفذ الصفحة منطق تطبيقها المعتاد وتحدث الواجهة المرئية للإنسان وتعيد نتيجة محدودة. وعندما تتغير الحالة، تزيل الصفحة الأدوات التي لم تعد منطبقة. Evidence for this claim The imperative API registers named, described, schema-constrained callbacks and supports state-aware cleanup with AbortSignal plus tool-set change notifications. Scope: Current draft and Chrome experiment; API details may change before stable release. Confidence: high · Verified: WebMCP ModelContext API Chrome: WebMCP Imperative API

WebMCP tools should follow the page's real state: register a valid action, execute the same logic as the UI, and remove it when the action is no longer available. المصدر: Patrick Stox — WebMCP

Five numbered steps run left to right. First, the page registers a name, description, input schema, and callback. Second, an agent already in the page context discovers it. Third, the agent invokes it with validated structured arguments. Fourth, the page reuses its normal application logic and updates the visible interface. Fifth, it returns a bounded result or safe error. A branch from execution shows that state changes or navigation should unregister the tool with AbortSignal and notify observers through toolchange.

© Patrick Stox LLC · CC BY 4.0 ·

هذه الدورة المعتمدة على الحالة أحد أسباب عدم تحويل WebMCP إلى تفريغ ثابت لكل وظيفة في حزمة JavaScript. وينبغي عادةً ألا تتاح للوكيل أداة مستحيلة في الواجهة المرئية.

WebMCP وMCP: حدّان مختلفان لوقت التشغيل

تدعو الأسماء إلى الالتباس، لكن الحد التشغيلي مختلف. يعيش WebMCP في حلقة أحداث المستند وجلسة المتصفح الحالية. أما MCP البعيد فيعيش عند حد تكامل تطبيق الذكاء الاصطناعي، ويصل عادةً إلى خادم خلفي دائم. Evidence for this claim WebMCP is designed for tools owned by an active page and its browser context, while remote MCP commonly connects an AI application to a persistent backend server. Scope: Architecture-selection guidance, not a rule that prevents an application from using both technologies. Confidence: high · Verified: Chrome: When to use WebMCP and MCP

WebMCP owns page-context actions; remote MCP owns durable application-to-server integrations. Many products will use both. المصدر: WebMCP

The left lane shows WebMCP: a browser agent interacts with an open web page, which owns a JavaScript tool and current visible session state. The page must be open for those tools to exist. The right lane shows remote MCP: an AI application connects through an MCP client to a persistent MCP server, which can remain available outside a browser tab. The two lanes are complementary rather than replacements.

© Patrick Stox LLC · CC BY 4.0 ·

الواجهةأين تعيشمتى تُكتشفهل يجب أن تكون الصفحة مفتوحة؟الأنسب لـ
WebMCPمستند المتصفح النشطبعد أن يزور العميل الصفحةنعمحالة الواجهة الحالية وإجراءات الصفحة
MCP البعيدعميل الذكاء الاصطناعي وخادم MCPعبر إعداد العميل/الخادم أو الاكتشافلاالأدوات والبيانات وسير العمل الخلفي الدائم
نقطة نهاية Web/APIخلفية التطبيقعبر تكامل خاص بالتطبيقلاوصول برمجي مستقر للمستهلكين المعروفين
البيانات المنظمةترميز الصفحةأثناء معالجة الصفحةعادةً تُجلب كمحتوىوصف الكيانات ومعنى الصفحة، لا تنفيذ الإجراءات
llms.txtملف نصي ثابتعندما يختار العميل طلبهلا حاجة إلى علامة تبويب نشطةإرشاد محتوى مقترح، لا سطح أدوات قابل للاستدعاء
أتمتة المتصفحوكيل/متحكم يفسر الواجهةبعد تحميل الصفحة وفحصهانعمحل بديل عند غياب أداة صفحة صريحة

لا تختر بناءً على الاختصار. اختر بناءً على مالك الإجراء. إذا كان الإجراء يحتاج إلى DOM الحالي أو التحديد أو عربة التسوق أو حالة الواجهة، فقد يناسبه WebMCP. وإذا كان يجب أن يعمل في الخلفية أو عبر مواقع كثيرة أو من دون علامة تبويب مفتوحة، فاستخدم API أو MCP بعيداً.

واجهة API الإلزامية

تسجل واجهة API الإلزامية أداة عبر document.modelContext.registerTool(). وتشمل الأداة اسماً فريداً ووصفاً ومدخل JSON Schema ونداء execute وتعليقات توضيحية اختيارية. وتوثق Chrome أيضاً getTools() وexecuteTool() للاختبار، وحدث toolchange. Evidence for this claim Current Chrome documentation uses document.modelContext and says navigator.modelContext is deprecated beginning in Chrome 150. Scope: Chrome implementation guidance checked July 17, 2026; version and API-name claims expire quickly. Confidence: high · Verified: Chrome: WebMCP Imperative API

يوضح هذا المرشح التوضيحي الشكل المقصود لتجربة مستقبلية في Schema Validator. وهو لا يعمل على هذا الموقع، وقد تتغير واجهة API قبل الإصدار المستقر:

if (document.modelContext) {
  const registration = new AbortController();

  await document.modelContext.registerTool({
    name: 'validate_schema',
    description: 'Validate pasted JSON-LD and return bounded issues.',
    inputSchema: {
      type: 'object',
      properties: {
        markup: {
          type: 'string',
          description: 'JSON-LD markup to validate.',
          maxLength: 50000
        }
      },
      required: ['markup'],
      additionalProperties: false
    },
    annotations: {
      readOnlyHint: true,
      untrustedContentHint: true
    },
    execute: async ({ markup }) => {
      const result = await validateWithTheSameEngineAsTheUI(markup);
      renderResultInTheVisibleUI(result);
      return minimizeValidationResult(result);
    }
  }, { signal: registration.signal });

  // When this page state no longer supports validation:
  // registration.abort();
}

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

استخدم document.modelContext، لا الأمثلة القديمة المبنية على navigator.modelContext؛ إذ تضع Chrome الأخير في خانة الإهمال ابتداءً من Chrome 150. أرخ هذه النصيحة لأن الميزة ما زالت تجريبية.

Evidence for this claim Current Chrome documentation uses document.modelContext; navigator.modelContext is deprecated in Chrome 150. Scope: browser document Confidence: high · Verified: WebMCP Imperative API

لا تطابق بين الواجهة التصريحية والمعيار

توثق Chrome نهجاً تصريحياً يضيف إلى النماذج العادية سمات مثل toolname وtooldescription وtoolparamdescription. كما توثق toolautosubmit الاختيارية؛ وإلا ينقر المستخدم زر Submit. وتحدد SubmitEvent.agentInvoked الإرسال الذي بدأه وكيل. Evidence for this claim Chrome documents declarative WebMCP form annotations, but the July 10, 2026 Community Group draft says its Declarative WebMCP section is entirely TODO. Scope: A direct comparison between Chrome implementation documentation and the current draft; it does not imply Chrome's experimental implementation is unavailable. Confidence: high · Verified: Chrome: WebMCP Declarative API WebMCP: Declarative WebMCP

لكن تقرير المجموعة المجتمعية في 10 يوليو يقول إن قسم WebMCP التصريحي فيه “entirely a TODO” — ترجمة: «قسم TODO بالكامل» — ويترك خوارزمية تحويل النموذج إلى JSON Schema غير محددة. وهذا لا يعني أن تجربة Chrome خيالية؛ بل يعني أن توثيق التنفيذ متقدم على المسودة المعيارية. تعامل مع الترميز التصريحي كسطح Chrome تجريبي، لا كـHTML مستقر عبر المتصفحات.

Evidence for this claim Chrome documents declarative WebMCP form annotations, but the July 10, 2026 Community Group draft says its Declarative WebMCP section is entirely TODO. Scope: A direct comparison between Chrome implementation documentation and the current draft; it does not imply Chrome's experimental implementation is unavailable. Confidence: high · Verified: Chrome: WebMCP Declarative API WebMCP: Declarative WebMCP

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

اكتشاف الأدوات ودورة الحياة وحدود الأصل المتعدد

توجد في واجهة API الحالية حدود عدة تستحق التصميم الصريح:

  • سياق التصفح: تتطلب تجربة Chrome سياق متصفح. يزور العميل الموقع قبل أن يكتشف أدواته.
  • التوافر الديناميكي: سجل الأدوات عندما تكون صالحة وألغ تسجيلها عندما تبطلها الحالة أو التنقل. ويمكن للمراقبين الاستماع إلى toolchange.
  • الأصل نفسه افتراضياً: تسري سياسة أذونات tools افتراضياً على 'self'. وتحتاج إطارات iframe من أصول أخرى إلى تفويض صريح مثل allow="tools".
  • موافقة الأصلين المتعددين: يمكن لأداة استخدام exposedTo لسرد الأصول الآمنة المسموح بها، بينما يطلب المتصل الأدوات من أصول مسماة باستخدام fromOrigins. ولا يكفي اختيار طرف واحد.
  • التحسين التدريجي: يجب أن تظل الصفحة العادية قابلة للاستخدام بالكامل عند عدم دعم WebMCP أو تعطيله.
Evidence for this claim WebMCP tool exposure is origin-isolated and controlled by the tools Permissions Policy; cross-origin iframes require explicit delegation. Scope: browser document Confidence: high · Verified: WebMCP Imperative API

هذه ضوابط منصة مفيدة، لكنها لا تحول إجراء تطبيق محفوفاً بالمخاطر إلى إجراء آمن.

الأمان: جلسة المتصفح ترفع مستوى المخاطر

قد يعمل وكيل المتصفح داخل جلسة المستخدم الموثقة. وقد تكون هذه هي الفائدة—الوصول إلى العربة أو الحساب أو مساحة العمل الحالية—وقد تكون هي الخطر. تناقش Chrome والمسودة حقن التعليمات، وبيانات الأدوات الوصفية المضللة، ومخرجات الأدوات الملوثة، والمعلمات الواسعة أكثر من اللازم، وتسريب الخصوصية، والتعرض عبر الأصول، وإساءة استخدام الصلاحية التي تم تسجيل الدخول بها. Evidence for this claim WebMCP tool hints can communicate read-only and untrusted-output intent, but they do not eliminate prompt injection, misleading metadata, privacy leakage, cross-origin risk, or misuse of authenticated browser authority. Scope: Threat-model and defensive guidance; application authorization and confirmation remain implementation responsibilities. Confidence: high · Verified: WebMCP security and privacy considerations Chrome: WebMCP tool security Chrome: Agent security considerations

عامل كل أداة كأنها نقطة نهاية تطبيق عامة مع متصل غير معتاد:

  1. أبقِ الأداة ضيقة النطاق. مهمة واحدة، ومدخلات صريحة، وقيم تعداد وأطوال محكمة، ومن دون معلمة مخفية من نوع “افعل أي شيء”.
  2. طبّق التفويض في منطق التطبيق. لا يحصل الوكيل على صلاحية أكبر من المستخدم المسجل دخوله، والتلميح ليس إذناً.
  3. افصل القراءات عن الكتابات. يعبّر readOnlyHint وuntrustedContentHint عن الخطر، لكنهما لا يفرضان الحماية.
  4. اطلب تأكيداً مرئياً للعواقب. تحتاج المشتريات والإرسالات والحذف والرسائل وتغييرات الحساب إلى نقطة تحقق يفهمها الإنسان.
  5. قلل المخرجات. أعد ما تحتاجه المهمة فقط؛ ولا تسرب بيانات الجلسة أو الرؤوس الخام أو الأسرار أو السجلات غير المتعلقة.
  6. عامل المخرج كغير موثوق. يمكن أن تصبح سلسلة تعيدها أداة ما مدخلاً لاستدلال النموذج لاحقاً. لا تسمح لها بتهريب التعليمات أو الصلاحية.
  7. سجل الحد. سجل الأداة وفئة الإدخال وقرار التفويض والتأكيد وفئة النتيجة والخطأ والأصل ودورة الحياة من دون تسجيل الأسرار.

السؤال الآمن ليس: “هل يستطيع وكيل استدعاء هذا؟” بل: “هل سأعرض هذا كنقطة نهاية راجعتها على متصل قد يسيء فهم التعليمات وينقل نصاً غير موثوق؟“

اختبر العقود وسلوك الوكيل كلٌّ على حدة

تفصل إرشادات Chrome للتقييم بين اختبارات المنتج الحتمية واختبارات الوكيل الاحتمالية. Evidence for this claim WebMCP testing should combine deterministic contract and UI-state tests with probabilistic evaluation of agent tool selection and use. Scope: Chrome's evaluation guidance; teams must define product-specific tasks, models, risks, and thresholds. Confidence: high · Verified: Chrome: Evals for WebMCP وكلاهما مهم:

الاختبارات الحتمية ينبغي أن تتحقق من التسجيل، ورفض المخطط، والمدخلات الصالحة وغير الصالحة، والتفويض، وحدود المعدل، والآثار الجانبية، وشكل الخطأ، وتقليل المخرج، وتطابق الواجهة، وسلوك إلغاء التسجيل، والبديل في المتصفحات غير المدعومة.

التقييمات الاحتمالية ينبغي أن تقيس ما إذا كانت الوكلاء الممثلة تكتشف الأداة الصحيحة، وتتجنب الأدوات غير ذات الصلة، وتختار المعلمات الصحيحة، وتطلب التوضيح عند الحاجة، وتحترم التأكيدات، وتتوقف بعد النجاح، وتقاوم الأوصاف أو المخرجات العدائية.

لا تستخدم مطالبة تجريبية واحدة كبوابة للإصدار. فالنداء الناجح يثبت أن الشيفرة عملت؛ لكنه لا يثبت أن النماذج تختارها بموثوقية أو أن الإجراء آمن.

Cloudflare Browser Run: مختبر مفيد لا تمكين

توثق Cloudflare دعم WebMCP في مجموعة المختبر التجريبية في Browser Run، وتقول إن جلسات المختبر لا ينبغي استخدامها لأحمال الإنتاج. وتحتوي صفحتها المؤرخة في 23 أبريل أيضاً على أسماء اختبار أقدم من حقبة Chrome، لذلك استخدمها دليلاً على عرض Cloudflare الحالي، لا مرجعاً لشكل أحدث واجهة API في WebMCP. Evidence for this claim Cloudflare Browser Run offers experimental lab sessions that can consume and test page-provided WebMCP tools, but the page still owns tool registration and Cloudflare says lab sessions are not for production workloads. Scope: Cloudflare product documentation last updated April 23, 2026; its example API names lag current Chrome documentation and should not be used as the API authority. Confidence: high · Verified: Cloudflare Browser Run: WebMCP

يمكن لـCloudflare توفير جلسة متصفح ومسار وكيل يستهلك الأدوات. لكنها لا تستطيع استنتاج العقد الآمن لتطبيقك أو تسجيل أدوات تملكها الصفحة ولم تبنها.

تجربة patrickstox.com المقترحة: Schema Validator

يُعد Schema Markup Validator مرشحاً جيداً لتجربة مستقبلية، وليس تطبيق WebMCP حياً. فلديه بالفعل إدخال محدود ملصوق ومنطق حتمي ومشكلات منظمة ونتيجة مرئية. ويمكن لأداة validate_schema مستقبلية إعادة استخدام محرك التحقق نفسه الذي تستخدمه الواجهة ومجموعة أدوات MCP البعيدة الحالية.

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

القرار: ابنِ أو جرّب أو انتظر أو تخطَّ

الحالةالقرار
يلزم دعم متصفح مستقر لسير عمل عميلانتظر وأبقِ الواجهة وواجهة API العادية مكتملتين
لديك إجراء محدود للقراءة فقط ويمكنك تشغيل مختبر خاصجرّب مع اكتشاف الميزة ومن دون اعتماد إنتاجي
تحتاج المهمة إلى تنفيذ في الخلفية أو بلا رأساستخدم API أو MCP بعيداً
الصفحة تنشر محتوى فقطتخطَّ WebMCP؛ وحسّن HTML الدلالي الميسر
يكتب الإجراء أو يشتري أو يرسل أو يحذف أو يعرض بيانات خاصةلا تجرّبه عرضاً؛ اطلب نموذج تهديد منفصلاً وتصميم تأكيد
أُطلق تطبيق مستقر واجتازت كل اختبارات العقد والأمان والتطابقفكر في تجربة إنتاج تدريجية

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.