منتشر شده: ۱۸ مه ۲۰۲۶
| توضیح دهنده | وب | افزونهها | وضعیت کروم | قصد |
|---|---|---|---|---|
| گیتهاب | مشاهده | قصد آزمایش |
شما میتوانید از WebMCP Imperative API برای تعریف انواع مختلفی از ابزارها با جاوا اسکریپت استاندارد استفاده کنید. ابزارهای شما میتوانند عملکردهای مختلفی مانند ورودی فرم، پیمایش سایت و مدیریت وضعیت را اجرا کنند.
قبل از استفاده از این API، موارد استفاده از آن را مطالعه کنید.
زمینه مدل را فراهم کنید
از رابط modelContext برای ثبت ابزارها استفاده کنید. ثبت ابزار نیاز به نام، توضیحات و طرح ورودی با ویژگیهای مربوطه دارد.
registertool برای اضافه کردن یک ابزار واحد به متن مدل استفاده کنید.
سازنده WebMCPza
navigator.modelContext.registerTool({
name: 'toggle_layer',
description: 'Control pizza layers (sauce, cheese).
Use "add", "remove", or "toggle".',
inputSchema: {
type: 'object',
properties: {
layer: { type: 'string', enum: ['sauce-layer', 'cheese-layer'] },
action: { type: 'string', enum: ['add', 'remove', 'toggle'] },
},
required: ['layer'],
},
execute: ({ layer, action }) => {
toggleLayer(layer, action);
return `Performed ${action || 'toggle'} on layer: ${layer}`;
},
});
دریافت وضعیت سفارش
navigator.modelContext.registerTool({
name: 'get_order_status',
description: 'Search orders in a given timeframe. Returns order number, shipping status and location',
inputSchema: {
"type": "object",
"properties": {
"timeframe": { "type": "string", "oneOf": [
{ "type": "string", "const": "today", "title": "Today" },
{ "type": "string", "const": "yesterday", "title": "Yesterday" },
{ "type": "string", "const": "last_7_days", "title": "Last 7 Days" },
{ "type": "string", "const": "last_30_days", "title": "Last 30 Days" },
{ "type": "string", "const": "last_6_months", "title": "Last 6 Months" }],
"enum": [ "today", "yesterday", "last_7_days", "last_30_days", "last_6_months" ],
"description": "Timeframe for the order lookup." }
},
"required": [ "timeframe" ]
}
});
شما میتوانید یک ابزار را با استفاده از AbortSignal ، زمانی که به عنوان یک پارامتر اختیاری ارسال میشود، حذف کنید.
const addTodoTool = {
name: "addTodo",
description: "Add a new item to the todo list",
inputSchema: {
type: "object",
properties: { text: { type: "string" } },
},
execute: ({ text }) => {
// You should handle the persistence logic here (omitted for demo)
return `Added todo: ${text}`;
},
annotations: {
readOnlyHint: false,
untrustedContentHint: true
},
};
const controller = new AbortController();
navigator.modelContext.registerTool(addTodoTool, { signal: controller.signal });
// Unregister the tool later...
controller.abort();
مشارکت کنید و بازخورد خود را به اشتراک بگذارید
WebMCP در حال حاضر در دست بررسی است و ممکن است در آینده تغییر کند. اگر این API را امتحان کردید و بازخوردی داشتید، خوشحال میشویم آن را بشنویم.
- توضیحات WebMCP را بخوانید ، سوالات خود را مطرح کنید و در بحثها شرکت کنید.
- بهترین شیوههای WebMCP را مطالعه کنید.
- پیادهسازی کروم را در Chrome Status بررسی کنید.
- برای مشاهدهی زودهنگام APIهای جدید و دسترسی به فهرست ایمیل ما ، به برنامهی پیشنمایش اولیه بپیوندید .
- اگر در مورد پیادهسازی کروم بازخوردی دارید، یک گزارش اشکال کرومیوم ثبت کنید.