Slide 1

Slide 1 text

MCP Documentation Server Yoshiki Nakagawa 2025/04/08 AI Coding Meetup #1

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

中川 佳希 / ナカガワ ヨシキ @yyoshiki41 略歴 2013 年 4 月 株式会社エウレカ入社 2020 年 6 月 株式会社 LayerX 入社 DX 事業部 2020 年 7 月 LayerX Invoice(現バクラク)の開発 2022 年 9 月 プロダクト横断の開発組織 Enabling Team 2024 年 1 月 バクラク事業 CTO Keep Typing —— バクラク CTO が"効率化"よりも大切にするもの 趣味は車とラジオを聴くこと @yyoshiki41 © LayerX Inc. 3

Slide 4

Slide 4 text

最近の関心事 ▸ AI-BPO サービスの開発 日経:LayerX、AIエージェントに参入 請求書受け取り代行など ▸ LLM とブラウザ ARIA Snapshots と Playwright MCP ▸ AI Coding © LayerX Inc. 4

Slide 5

Slide 5 text

© LayerX Inc. 5

Slide 6

Slide 6 text

© LayerX Inc. 6

Slide 7

Slide 7 text

© LayerX Inc. 7

Slide 8

Slide 8 text

目次

Slide 9

Slide 9 text

▸ Preface ▸ AI Guild ▸ 開発ドキュメントとコードベースを同じ場所で管理する ▸ MCP Documentation Server © LayerX Inc. Table of Contents 9

Slide 10

Slide 10 text

Preface

Slide 11

Slide 11 text

Preface AI を使った開発は順調ですか? A. なにも問題ない B. まだまだ道半ば (おそらく)多くの人が B. まだまだ道半ば に感じているはず。 © LayerX Inc. Preface 11

Slide 12

Slide 12 text

AI Coding assistant の現在地 2025-04-06 / X への投稿 summarized all responses, here are the top tips from @cursor_ai community 16. understand the limitations of ai coding assistance ️ 限界を理解して付き合っていくのが現在地 この場が知見共有の機会となれば幸いです! Preface © LayerX Inc. 12

Slide 13

Slide 13 text

AI Guild

Slide 14

Slide 14 text

Bet AI Guild を組成 冒頭にあった通り、『Bet AI』への行動指針アップデートを機にバクラクでは、Bet AI Guild を組成 Guild:特定の技術領域や関心事に対し、プロダクトやチームを越えて継続的な議論や意思決定が必要な場合 に、有志のメンバーによって構成されるチーム Do and Don't lists やること やらないこと ・ AI ツールの導入 ・ AI ツールの環境整備(泥臭い所も) ・ In-house(社内用)アプリの開発 ・ 社内外に向けた発信 ・プロダクトの機能開発 © LayerX Inc. AI Guild 14

Slide 15

Slide 15 text

開発ドキュメントとコードベースを同じ場所で管理する 問題️:Design Docs などの開発系ドキュメントが Notion にあり、Cursor, Cline や Dein などの AI Coding ツ ールにナレッジとして与えるのが難しい。 解決方法:ドキュメントとコードベースを同じ場所(= 実質的に Git レポジトリ)で管理する。 ️ Design Docs はある機能や仕組みを実装するための設計情報、チーム内外でコンセンサスを取るためにも 用いる。だれの何の問題を解決するのか、アーキテクチャやサービスのインターフェイス、データモデルはど う定義するか、など具体的な実装指針を記したもの。Design Docs は実装方式が変わるたびに可能な限り更 新し、最新の状態を維持することが望ましい。現在 300 ファイル以上。 © LayerX Inc. AI Guild 15

Slide 16

Slide 16 text

開発ドキュメントとコードベースを同じ場所で管理する 別案として Notion MCP (3rd-Party) もあるが、API で検索を使いこなす難しさや Notion のセマンティック検 索の精度にそもそも不満があった。 また、PdM が「製品の実装に関する情報を Cursor に問い合わせる」という行動様式の変化を目撃したのも 意思決定の理由の一つ。 © LayerX Inc. AI Guild 16

Slide 17

Slide 17 text

開発経験ゼロの PM が語る、Cursor 利用で変わ った 5 つの業務 / @michiru_da > Cursor でできるようになったこと 1. ちょっとした開発への挑戦 2. 既存機能の仕様確認がスムーズに 3. SQL クエリの半自動化 4. お客様向けのガイド作成時間が半減 5. ドキュメント参照型のコンテンツ生成 AI Guild © LayerX Inc. 17

Slide 18

Slide 18 text

Notion to Markdown の実装 1. Notion API 経由でページを一括取得 2. Notion 固有の Block 構造を Markdown に変換 3. docs/ 配下にコミットする AI Guild © LayerX Inc. 18

Slide 19

Slide 19 text

開発ドキュメントとコードベースを同じ場所で管理する Achievements ▸ AI Coding ツールに Git レポジトリ内で、ファイル参照させることが出来る @docs/~ で参照させて、AI に実装を指示できる ▸ PdM やエンジニアが自然言語で問い合わせて、調査が出来る 「~を調べて、mermaid で出力して」などの指示に、実装コード + ドキュメントから答 えてくれる © LayerX Inc. AI Guild 19

Slide 20

Slide 20 text

MCP Documentation Server

Slide 21

Slide 21 text

Mastra / The TypeScript Agent Framework Mastra Agent と MCP サーバーの連携ではなく、Mastra を利用する開発者に向けたドキュメントが公式 MCP サーバーとして提供されているという話です。 Introducing Mastra MCP Documentation Server @mastra/mcp-docs-server provides direct access to Mastra's complete knowledge base in Cursor, Windsurf, Cline, or any other IDE that supports MCP. pnpm create mastra@latest でプロジェクトを開始するとインストールが促される。また、 mastra/.cursor/mcp.json にも Cursor 用の設定が同梱されている。 © LayerX Inc. MCP Documentation Server 21

Slide 22

Slide 22 text

Mastra MCP Documentation Server 以下のドキュメントがツールとして提供されている 1. Blogs 2. Documents 3. Examples 4. CHANGELOG ツールやライブラリが公式に MCP Documentation Server を Developer (と AI) 向けに提供する は、今後 トレンドになりそう © LayerX Inc. MCP Documentation Server 22

Slide 23

Slide 23 text

Documents Tool を提供するための実装 1. prepare-docs スクリプトを実行、 mastra/docs/src/content/docs 配下をコピーする 2. ディレクトリ階層構造とファイル名を全て、 Tool Parameters のディスクリプションに含める 3. Tool 呼び出しは、1つ以上のパス (サブディレ クトリ名かファイル名) を指定、MCP Server は コンテンツか対応するサブディレクトリ内のフ ァイル一覧を返す コンテンツへのキーワード検索ではなく、ディレ クトリ構造/ファイル名を索引として利用して、 Tool 呼び出しとそのパラメータを LLM に判断さ せている MCP Documentation Server © LayerX Inc. 23

Slide 24

Slide 24 text

Mastra MCP Documentation Server ちなみに、Blogs Tool はトップページ (https://mastra.ai/blog) をスクレイピングして、 に マッチする要素を全て取得。URL リンクの一覧を索引として、MCP Client に提供している。 © LayerX Inc. MCP Documentation Server 24

Slide 25

Slide 25 text

Bakuraku MCP Documentation Server バクラクは monorepo で開発しているため、ツールも同じ場所 (monorepo内) で管理している。 Document Store には OpenSearch を用いて、キーワード検索を実装。 ※ Embedding は行っていない。 (ハイブリッドサーチがしたくなったら、クラウド環境で中央集権的にホスティングか ) © LayerX Inc. MCP Documentation Server 25

Slide 26

Slide 26 text

Bakuraku MCP Documentation Server Mastra 同様 ▸ MCP Server 起動時に docs/ 配下をインデクシング コンテンツ毎に、index を作成 (Design Docs, UI Guideline) ▸ index 単位で Tool 提供する - docs/design-docs は、Design Docs の検索ツール - docs/ui-guideline は、UI Guideline の検索ツール - TBD: お客様に公開しているバクラク利用ガイド。認証付きで Zendesk 公開しているため、mastra のように スクレイピングを検討 © LayerX Inc. MCP Documentation Server 26

Slide 27

Slide 27 text

Bakuraku MCP Documentation Server を実装しての気付き ▸ MCP Server 自体の実装よりもデータの整備 ▸ Cursor においては Codebase Indexing を持っているため (同じレポジトリに含まれてい るなら)、LLM モデルにとってどの程度有用かは不明 ▸ MCP Tool 提供のメリット(面白さ) は、Tool の input/output 設計と実装が出来る点 例えば、Highlight query matches を実装したり、辞書による検索改善が出来たり © LayerX Inc. MCP Documentation Server 27

Slide 28

Slide 28 text

気付き ▸ AI 賢い 検索ドキュメントが見つからなければ、検索ワー ド変えて、探そうとしてる ️ MCP Documentation Server © LayerX Inc. 28

Slide 29

Slide 29 text

AI Coding © LayerX Inc. AI Coding 29