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
13
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
190
空間アプリ開発のフィードバックをCodexにするための抽象的なデザインツールの模索
karad
0
200
Exploring Abstract Design Tools to Turn Spatial App Feedback into Codex (En)
karad
0
71
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
2
1.9k
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
300
Vapor を使って VisionPro とWebSocket 通信をしてみる
karad
0
410
slow types ってなんだろう?
karad
1
870
ほぼ日のハッカソン Team 1 発表資料
karad
0
580
Dist.43.英語仕事で地味につかうChatGPT 配布版
karad
0
850
Other Decks in Programming
See All in Programming
自分的「カンファレンスの楽しみ方」
syumai
0
200
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
330
A2UI for Android: Safely Rendering AI-Generated UI with Jetpack Compose - DroidKaigi 2026
itsmedreamwalker
0
140
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
980
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.3k
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
What We Talk About When We Talk About XP
m_seki
2
620
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.9k
新卒PdEのリアル
ryu1013
1
500
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
130
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
130
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
990
Ethics towards AI in product and experience design
skipperchong
2
370
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
GraphQLとの向き合い方2022年版
quramy
50
15k
Bash Introduction
62gerente
615
220k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Navigating Team Friction
lara
192
16k
Building an army of robots
kneath
307
46k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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 から導入できます