Slide 1

Slide 1 text

MCP調べてみました! reo(@_uhzz_)

Slide 2

Slide 2 text

自己紹介 Reo Uehara X: @_uhzz_ GitHub: uh-zz Goとサウナが好き

Slide 3

Slide 3 text

想定する読者 ● MCP、最近インターネットでよく見るけどイマイチよくわかってない ● MCPをわかった気になりたい ● 情報が多すぎて何を参考にすればいいかわからない

Slide 4

Slide 4 text

ゴール ● MCP、なんとなくわかった ● すぐ作れそうという気持ちになった ● MCP、早く作りたくなってきた

Slide 5

Slide 5 text

アジェンダ ● 最初にまとめ ● MCPとは ● MCPが動いているところを見よう ● MCPのうれしいところ ● MCPって結局なに? ● まとめ

Slide 6

Slide 6 text

最初にまとめ

Slide 7

Slide 7 text

これだけ分かればOK AIエージェント(e.g. Cline)にむやみやたらに回答させないための仕組み 代表的な機能を3つ押さえておけばOK 機能1:AIエージェントに最新のデータを提供する(Resource) 機能2:AIエージェント向けの機能を提供する(Tools) 機能3:AIエージェントと対話的に使える質問を提供する(Prompts) 最初にまとめ

Slide 8

Slide 8 text

MCPとは

Slide 9

Slide 9 text

アーキテクチャはこんなかんじ MCPとは MCPはクライアントサーバモデル AIエージェント(e.g. Cline)がホスト ホストにMCPクライアントをインストールする MCPクライアントサーバ間はJSON-RPC 2.0ベース 引用: https://modelcontextprotocol.io/docs/concepts/architecture

Slide 10

Slide 10 text

MCPサーバは、AIエージェント(MCPクライアント)に データを提供 推論するための文脈(コンテキスト)を与える 提供するデータはこんなかんじ ● ローカルにあるファイル ● データベースレコード ● APIレスポンス ● スクショとか画像 ● ログファイル など APIは以下2つ resources/list: リソースの一覧を取得 resources/read: リソース読み込み AIエージェントに最新のデータを提供する(Resource) MCPとは 引用: https://modelcontextprotocol.io/docs/concepts/architecture

Slide 11

Slide 11 text

MCPサーバは、AIエージェント(MCPクライアント)の アクションに必要な関数を提供 特徴は3つ MCPクライアントは、利用できるツールをリストアップ (発見) MCPクライアントは、見つけたツールを使うために MCPサーバへリクエスト(呼び出し) MCPサーバは、計算した結果を返す(単純計算も複雑 な処理も柔軟に書ける) APIは以下2つ tools/list: ツール一覧を取得 tools/call: ツール呼び出し AIエージェント向けの機能を提供する(Tools) MCPとは 引用: https://modelcontextprotocol.io/docs/concepts/architecture

Slide 12

Slide 12 text

あらかじめ定義された質問テンプレ/ワークフロー Slackのスラッシュコマンドをイメージできれば OK 他にも、以下の特徴がある ● 複数のインタラクションをチェーン ● 特定のワークフローをガイドする など APIは以下2つ prompts/list: プロンプト一覧を取得 prompts/get: プロンプトを使う AIエージェントと対話的に使える質問を提供する(Prompts) MCPとは 引用: ショートカットを使用して Slack でアクションを実行する

Slide 13

Slide 13 text

MCPが動いているところを見よう

Slide 14

Slide 14 text

チュートリアルをやってみました https://github.com/uh-zz/mcp-tutorial MCPが動いているところを見よう MCPサーバをGoで実装 ClineをMCPクライアントにします

Slide 15

Slide 15 text

MCPのうれしいところ

Slide 16

Slide 16 text

ベンダーロックインされない MCPのうれしいところ 引用: https://modelcontextprotocol.io/docs/concepts/architecture MCPはType-Cのようなもの(公式見解) 様々なデータソースやツールのインターフェースを標準 化することで、異なるAIプロバイダー間で利用可能

Slide 17

Slide 17 text

デザインからコード生成までがよりシームレスに MCPのうれしいところ 引用: https://zenn.dev/ubie_dev/articles/f927aaff02d618 Ubieさんの活用事例 記事から抜粋 1. まず Figma MCP から Figma の情報を取得 2. 次に Ubie UI MCP が呼び出され、コンポーネント情報 やトークン、アイコン情報を取得 3. Figma の情報をもとに、Ubie UI を使って実装を提案 <中略> テキストベースの指示だけで Ubie UI を使った実装が可能にな ります。例えば 「ユーザー情報入力フォームを Ubie UI で作成して。名前、メー ルアドレス、年齢の入力欄と送信ボタンが必要」 といった指示だけで、デザインシステムに準拠した UI を短時間で 生成できるようになりました

Slide 18

Slide 18 text

MCPって結局なに?

Slide 19

Slide 19 text

MCPって結局なに? 「Model Context Protocol(MCP)の動作原理の概要を 掴むための記事」から抜粋 1. クライアントがサーバに対し、JSON-RPCに則ってリクエ ストを送信
 2. サーバ側はリクエストに応じてリソース(DB, API)を操作
 3. 結果をクライアントに対し、JSON-RPCに則ってレスポン スを送信 引用: https://modelcontextprotocol.io/docs/concepts/architecture JSON-RPC

Slide 20

Slide 20 text

まとめ

Slide 21

Slide 21 text

まとめ AIエージェント(e.g. Cline)にむやみやたらに回答させないための仕組み 代表的な機能を3つ押さえておけばOK 機能1:AIエージェントに最新のデータを提供する(Resource) 機能2:AIエージェント向けの機能を提供する(Tools) 機能3:AIエージェントと対話的に使える質問を提供する(Prompts)

Slide 22

Slide 22 text

参考 Model Context Protocol Model Context Protocol (MCP) サーバを使ってみた・作ってみた Model Context Protocol(MCP)の動作原理の概要を掴むための記事 社内デザインシステムをMCPサーバー化したらUI実装が爆速になった GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.