Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WebMCP ってなんですか?
Search
kazuhiro hara
September 17, 2026
Programming
73
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebMCP ってなんですか?
エンガワ AI x XR 第3回で発表したスライドです
kazuhiro hara
September 17, 2026
More Decks by kazuhiro hara
See All by kazuhiro hara
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
210
空間アプリ開発のフィードバックをCodexにするための抽象的なデザインツールの模索
karad
0
220
Exploring Abstract Design Tools to Turn Spatial App Feedback into Codex (En)
karad
0
78
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
2
1.9k
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
310
Vapor を使って VisionPro とWebSocket 通信をしてみる
karad
0
430
slow types ってなんだろう?
karad
1
880
ほぼ日のハッカソン Team 1 発表資料
karad
0
590
Dist.43.英語仕事で地味につかうChatGPT 配布版
karad
0
850
Other Decks in Programming
See All in Programming
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
130
R8 の設定見直しでアプリサイズ削減
andpad
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
480
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
720
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
2
2.8k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
setup-vp GitLab対応の裏側
naokihaba
0
150
カツオ、ご期待ください
suneo3476
0
150
Kubernetes祭り #2 OP/ED
bells17
0
100
Simple Storage Service(S3) is not simple
iwatsukayura
0
220
速習iPhone Duo対応
yuukiw00w
2
960
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
RailsConf 2023
tenderlove
30
1.6k
Are puppies a ranking factor?
jonoalderson
2
4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to make the Groovebox
asonas
2
2.5k
Navigating Team Friction
lara
192
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Transcript
WebMCP ってなんですか カンソクインダストリーズ / よりひろいフロントエンド 原 一浩 (Kazuhiro Hara) /
@kara_d AI + XR Hack #3 @本八幡 Copyright © 2026 Yorihiroi Frontend.
出演 原 一浩 (Kazuhiro Hara) @kara_d カンソクインダストリーズ 代表 よりひろいフロントエンド 主催
エンガワ AI x XR主催 生粋の OpenAI ファン (課金開始時より個人で 課金) visionOS + Codex CLI / App の自律的コーディングを補助する MCP / Skills
構成 • • • WebMCP のキホン : WebMCP ってなんなの しくみ
: AI との通信で何がおきているのか 実装 : どうやると実現できるのか
WebMCPのキホン
WebMCP の図
WebMCP とは Webページの機能を、AI が呼び出せる形で公開するウェブ標準 • • • 公開する操作を「Tool」と呼ぶ 商品検索やカートへの追加など、サイトの機能を用意できる 人と
AI が、同じ Web アプリを使って作業できる 2026年9月時点では策定中の仕様
商品検索の例 利用者の依頼 「このサイトでカメラを探して」 サイトが公開する Tool search_products AI が渡す入力 { "query":
"camera" } サイトが返す結果 商品の名前・価格・URLなど
画面操作と Tool 画面を操作する場合 検索欄やボタンを見つけ、 入力してクリックする 操作ミスする可能性もある Tool を使う場合 「商品を検索する」という機能に、 検索語を渡す
Web アプリ側が、操作の名前・目的・入力形式を明示できる。
仕事につながる? 1. 2. 3. 4. これから人類はもっと AI を通じてインターネットをするでしょう Web のアクセシビリティは高いですが
WebMCP でもっと高くできます ほとんどの Web サイトは WebMCP に対応してません 仕事がいっぱいうまれる可能性あり?!
しくみ
WebMCP の登場人物 Webページ 使ってほしい機能を Tool として登録し、 処理を実装する ブラウザ Tool の情報を仲介し、
ページ内の処理を呼び出す AI (エージェント ) 利用者の依頼に応じて Tool と入力を選び、結果を使う
Toolが動くまで 1. 2. 3. 4. 5. 6. Webページが Tool を定義する
registerTool() でブラウザへ登録する ブラウザが AI に Tool の情報を伝える AI が Tool と入力を選ぶ ブラウザがページの execute() を呼ぶ 処理の結果を AI へ返す
MCPとの違い • MCP:AI アプリと MCP サーバーを接続 ◦ ◦ • Tool
はサーバーやローカルプロセスで実行する。 通信方法として stdio や Streamable HTTP を定める。 WebMCP:Web ページがブラウザへ Tool を公開 ◦ ◦ Tool はページ内の JavaScript で実行する。 表示中のページや既存のログイン状態を利用できる。
WebMCP が定める範囲 Web ページとブラウザの間の API を定める。 • • • 入口は
document.modelContext Tool の登録と実行に必要なインターフェースを提供する ブラウザから AI へどう伝えるかは、実装に委ねる MCP の stdio や Streamable HTTP に相当する通信方式は定めない。
実装
実装方法は 2つ • Imperative API:JavaScriptで登録する ◦ ◦ • 入力形式と execute()
を自分で定義する 独自の処理や既存のアプリの機能を公開しやすい Declarative API:HTMLフォームに属性を付ける ◦ ◦ フォーム名や入力項目からブラウザが Tool の情報を作る 既存のフォームを活用したい場合に使える
Declarative API の例 フォームの入力項目を、Tool の引数として使う。 <form toolname="search_products" tooldescription="Search products by
keyword" action="/search"> <label for="query">Keyword</label> <input id="query" name="query" required> <button type="submit">Search</button> </form> Chrome の実装例。仕様 Draft の詳細は引き続き策定中。
Imperative API : Tool を構成する 4要素 JavaScript で登録する Tool の基本形
• • • • name:Tool を識別する名前 description:何をする Tool かの説明 inputSchema:受け取る入力の形式 execute:呼び出されたときに動く処理
JavaScript で Tool を登録 await document.modelContext.registerTool({ name: "search_products", description: "Search
products by keyword", inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] }, execute: async ({ query }, { signal }) => { return await searchProducts(query, signal); } });
既存の検索処理につなぐ execute()から、アプリ側の関数や API を呼び出す。 async function searchProducts(query, signal) { const
params = new URLSearchParams({ query }); const response = await fetch(`/api/products?${params}`, { signal }); if (!response.ok) throw new Error("Search failed"); return await response.json(); }
動作確認のポイント • • • • 対応環境で Tool が登録され、AI から見つかるか 入力を渡すと、期待する結果を返すか
通信失敗や不正な入力を適切に扱えるか セキュリティは問題ないか、AI へのインジェクションがないか
便利ツールがあります • • Chrome Dev Tools に 内蔵のもの Chrome 拡張機能
参考資料 WebMCP Draft:API全体とブラウザの役割 Chrome Imperative API:JavaScriptでの登録 Chrome Declarative API:HTMLフォームでの公開 MCP
Transports:stdioとStreamable HTTP WebMCP - Model Context Tool Inspector
なにからはじめる? • まずは、情報を返すだけの Tool をつくってみる ◦ • 次は何かしらの処理を行う Tool を試してみる
◦ • 固定の情報を返すとか 診断や占いをしてみるとか 続いて、 ◦ ◦ ◦ ◦ 情報を保存してみる 画面の表示を変えてみる 認証系を試してみる etc...
まとめ • • • • WebMCPは、Webページの機能を AI 向けに公開できます ブラウザを通じて、AI が
Web ページの Tool を実行します JavaScriptで登録する方法と、HTMLフォームを使う方法があります 既存のアプリの処理を活かして、小さな Tool から導入できます