Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_aft...
Search
izumin5210
May 27, 2025
Programming
900
5
Share
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
May 27, 2025
More Decks by izumin5210
See All by izumin5210
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
750
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.6k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
2k
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.7k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
3.1k
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.7k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
1.2k
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
15
10k
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
10
4.3k
Other Decks in Programming
See All in Programming
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
270
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
460
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
130
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
180
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.3k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
280
AI 開発合宿を通して得た学び
niftycorp
PRO
0
190
存在論的プログラミング: 時間と存在を記述する
koriym
5
750
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
540
Featured
See All Featured
Done Done
chrislema
186
16k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
AI: The stuff that nobody shows you
jnunemaker
PRO
4
500
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Speed Design
sergeychernyshev
33
1.6k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
New Earth Scene 8
popppiees
2
2k
Being A Developer After 40
akosma
91
590k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
TypeScript を活かしてデザインシステム MCP を作る 2025-05-27 TSKaigi 2025 After Night 〜セッションおかわりの会!〜
@izumin5210
@izumin5210 © LayerX Inc. whoami LayerX バクラク事業部 (2022-09 -) Platform
Engineering 部 Enabling チーム Staff Software Engineer ISUCON14 4位 飛び入り LT だ!(イベント始まってから作り始めました)
TSKaigi 2025 でも話したよ! © LayerX Inc. 3
LayerX バクラク事業部 @shota8511_tech の発表 デザインシステムのデザイントークンと共通 UI コンポーネントの情報を返す MCP server を作っています
© LayerX Inc. 4
この MCP server の、とくに UI コンポーネントに関する情報は Storybook から抽出しています https://zenn.dev/layerx/articles/7e9f87fca65e94 ©
LayerX Inc. 5
Storybook は React コンポーネントの Props の定義をうまく輸出し、ドキュメントとして表示できます © LayerX Inc. 6
© LayerX Inc. Storybook は何を、どうやって抽出しているか Storybook の情報をどうやって MCP で利用するか 7
Button コンポーネントの props 定義 型はもちろん、その props の意味や使い方・注意点などもコメントに残しています(これはもともと人間用) この型やコメントが Storybook にも反映されています
© LayerX Inc. Storybook はどこから、何を、どうやって抽出しているか 8
Storybook における React コンポーネントの情報取得 © LayerX Inc. Storybook では react-docgen
or react-docgen-typescript を利用し、 コードから情報を抜き出してドキュメントを生成している デフォルトは react-docgen だが、 react-docgen-typescript に変更可能 react-docgen-typescript は型情報も利用してくれるが、ビルドに時間がかかる react-docgen-typescript は TSDoc(JSDoc) + 型情報を見てくれる さっきの Button の例もそうでしたね 9
react-docgen-typescript を使えばコンポーネントの情報を抜き出せるのでは? © LayerX Inc. 10
なんかそれっぽい感じで呼び出して… © LayerX Inc. 11
なんかそれっぽい感じで使ってみる © LayerX Inc. 12
できた? © LayerX Inc. 13
それっぽい © LayerX Inc. 14
雑感 © LayerX Inc. 実はコンポーネントの実装をそのまま渡すだけでもそれなりにいい感じになるらしい Storybook で必要な情報に絞ることで AI 的にはノイズが減り、精度もいいはずと信じてる 実際に
Agent に利用してもらった感じだと、 TSDoc に @example を書いているのが Few-shot prompting 的に効いてそう これも Ubie さんのブログを見て悔しくなって半日くらいで試したやつなので もっといい感じの方法もたぶんある キミだけの最強の MCP server を作ろう! 15