ライブデモ
対応環境では list_events ツールが登録されます。未対応の環境では、同じフォームが通常UIとして動きます。
Live tool
list_events
対応状況を確認中
input
{"type":"object","properties":{"status":{"type":"string","description":"upcoming または past。未指定なら upcoming"}},"additionalProperties":false}result
入力例を選ぶか、フォームから実行できます。
実装コード
中止・延期の状態を含めて返すと、AIが正確な案内をできます。状態は列挙値に限定して検証します。
JavaScriptImperative API
await document.modelContext.registerTool({
name: "list_events",
title: "イベント一覧を取得",
description:
"開催予定と開催済みのイベント一覧を照会する。申込や変更は行わない。",
inputSchema: {
type: "object",
properties: {
status: { type: "string", description: "upcoming または past。未指定なら upcoming" },
},
additionalProperties: false,
},
annotations: { readOnlyHint: true },
execute: async ({ status }) => {
const value = status ?? "upcoming";
if (typeof value !== "string" || !["upcoming", "past"].includes(value)) {
throw new Error("statusはupcomingまたはpastで指定してください。");
}
return listEvents(value);
},
});安全設計
- 照会は読み取り専用。申込・キャンセル・変更はしない
- 中止・延期の状態を正確に返す
- 参加申込は通常UIのフォームで、人間が確認して行う
- 未対応ブラウザでは、イベント一覧を通常UIとして表示する
次の行動
対応を診断 あなたのサイトを診断する
公開URLから、WebMCPの導入候補を確認できます。