WebMCP — công cụ mà trang web đưa cho AI agent trong trình duyệt
Tóm tắt
WebMCP cho một trang web đưa cho AI agent trong trình duyệt danh sách công cụ: tên, mô tả và JSON input schema cho từng thao tác trang làm được (tìm kiếm, đặt chỗ, thêm vào giỏ). Trang đăng ký công cụ bằng JavaScript với document.modelContext.registerTool(), hoặc đánh dấu một form bằng toolname và tooldescription. Đây là bản nháp của W3C Web Machine Learning Community Group (Draft Community Group Report, ngày 20/10/2026), không phải W3C Standard; Chrome 149 và Edge 150 chạy thử dưới dạng origin trial.
Giải thích đơn giản
Hiện nay agent trong trình duyệt dùng website của bạn như khách du lịch cầm cuốn sổ tay từ vựng: đọc màn hình, đoán ô nào là ô tìm kiếm rồi bấm. WebMCP là tờ thực đơn đưa qua quầy — "đây là book_table, cần ngày, giờ và số người". Agent gọi món theo thực đơn thay vì đoán bố cục.
Hai cách đăng ký công cụ (agent tìm thấy chúng khi tải trang — không có tệp khai báo nào):
Imperative (có trong đặc tả):
document.modelContext.registerTool({
name: "search_products",
description: "Search the catalogue by keyword",
inputSchema: { type: "object", properties: { q: { type: "string" } } },
execute: async ({ q }) => runSearch(q),
}, { signal });
Tên dài 1–128 ký tự gồm chữ, số, _ - hoặc .; abort signal để hủy đăng ký. Các annotation readOnlyHint, untrustedContentHint và consequentialHint cho agent biết một lệnh gọi làm gì.
Declarative (trong explainer, Chrome đã triển khai, chưa vào đặc tả):
<form toolname="book_table" tooldescription="Đặt bàn tại nhà hàng">
<input name="date" type="date" toolparamdescription="Ngày đặt bàn">
<button>Đặt bàn</button>
</form>
Trình duyệt dựng input schema từ các trường có name. Không có toolautosubmit thì agent điền form và người dùng tự bấm nút.
Không phải WebMCP: /.well-known/web-mcp.json và <meta name="web-mcp">. Không tài liệu WebMCP nào định nghĩa chúng. Server MCP từ xa là chuyện khác — nó được tìm qua MCP Server Card.
⚡Tại sao quan trọng
Agent phải đọc điểm ảnh và đoán nút bấm thì chậm, và hỏng khi bố cục đổi. Một công cụ có tên và schema là một hợp đồng: agent gọi book_table(date, time, people) và trang chạy code của chính nó, trong phiên của người dùng, trước mắt người dùng. Website có công cụ là nơi agent trong trình duyệt làm xong việc được.
🔍CiteStat kiểm tra thế nào
CiteStat đọc HTML của trang được quét để tìm form có toolname và tooldescription, đọc script inline và 5 script cùng origin đầu tiên để tìm modelContext.registerTool(. Có công cụ hợp lệ → đạt. Có toolname nhưng thiếu mô tả hoặc tên sai → medium (trình duyệt sẽ không đăng ký). Chỉ dùng API bản xem trước tháng 2/2026 (navigator.modelContext, provideContext) → low. Có form người dùng điền nhưng không có công cụ → low. Không có form và không có công cụ → Không áp dụng. Công cụ được đăng ký bởi script mà chúng tôi không đọc thì không thấy — kết quả ghi rõ đã đọc bao nhiêu script.
Điểm CiteStat
Một check chính của thẻ Agent Readiness khi trang có form hoặc công cụ; trang không có cả hai thì không tính vào điểm (điểm = số check chính đạt / số check chính áp dụng × 10). Không ảnh hưởng điểm SEO tổng.
Độ khó sửa
Biên tập viên: Không liên quan | Lập trình viên: Dễ (declarative) đến Trung bình (imperative) | AI Agent: Dễ