অপরিহার্য এপিআই

আলেকজান্দ্রা ক্লেপার
Alexandra Klepper

প্রকাশিত: ১৮ মে, ২০২৬

ব্যাখ্যাকারী ওয়েব এক্সটেনশন ক্রোম স্ট্যাটাস উদ্দেশ্য
গিটহাব ডেভেলপার ট্রায়াল ডেভেলপার ট্রায়াল ডেভেলপার ট্রায়াল ডেভেলপার ট্রায়াল দেখুন পরীক্ষা করার অভিপ্রায়

আপনি WebMCP Imperative API ব্যবহার করে সাধারণ জাভাস্ক্রিপ্টের সাহায্যে বিভিন্ন ধরণের টুল তৈরি করতে পারেন। আপনার টুলগুলো বিভিন্ন কাজ সম্পাদন করতে পারে, যেমন ফর্ম ইনপুট, সাইট নেভিগেশন এবং স্টেট ম্যানেজমেন্ট।

এই এপিআই ব্যবহার করার আগে, এর উদাহরণগুলো সম্পর্কে পড়ে নিন।

মডেলের প্রেক্ষাপট প্রদান করুন

টুল নিবন্ধন করতে modelContext ইন্টারফেসটি ব্যবহার করুন। টুল নিবন্ধনের জন্য একটি নাম, বিবরণ এবং প্রাসঙ্গিক বৈশিষ্ট্যসহ একটি ইনপুট স্কিমা প্রয়োজন।

মডেল কনটেক্সটে একটিমাত্র টুল যোগ করতে registertool ব্যবহার করুন।

WebMCPza Maker

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" ]
  },
  execute: ({ timeframe }) => {
    // Add your API or database logic here to fetch and return the order data as a string.
  },
});

ঐচ্ছিক প্যারামিটার হিসেবে 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-টি ব্যবহার করে কোনো মতামত জানাতে চান, তবে আমরা তা জানতে আগ্রহী।