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
MCP調べてみました! / Exploring MCP
Search
uhzz
April 13, 2025
Programming
2
2.5k
MCP調べてみました! / Exploring MCP
uhzz
April 13, 2025
Tweet
Share
More Decks by uhzz
See All by uhzz
自動生成されたhttpエンドポイントごとにカスタムミドルウェアを挿入したい話
uhzz
1
2.4k
Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜
uhzz
0
300
安全にQAを行える環境が整いました!- Kyash TechTalk #6 - Kyashの開発をチラ見せ
uhzz
0
800
Goのローカル開発をWorkspacesではじめよう
uhzz
1
990
【Go:パッケージ管理】DepからGo Modulesへ
uhzz
0
1.1k
コードレビューで泣かないためのintSize = 32 << (^uint(0) >> 63)
uhzz
0
230
「ウチも、gRPC使えますか?」
uhzz
0
290
「インタフェースデザインの心理学」を読んで話したい3つのこと
uhzz
0
21k
「世界一「自由」な会社、NETFLIX NO RULES」を読んでみた
uhzz
0
390
Other Decks in Programming
See All in Programming
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
120
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
100
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
350
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
20
11k
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
380
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
Swift Updates - Learn Languages 2025
koher
2
460
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
720
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
200
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
280
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
820
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Bash Introduction
62gerente
615
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Producing Creativity
orderedlist
PRO
347
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Agile that works and the tools we love
rasmusluckow
330
21k
Documentation Writing (for coders)
carmenintech
74
5k
A Tale of Four Properties
chriscoyier
160
23k
Facilitating Awesome Meetings
lara
55
6.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
MCP調べてみました! reo(@_uhzz_)
自己紹介 Reo Uehara X: @_uhzz_ GitHub: uh-zz Goとサウナが好き
想定する読者 • MCP、最近インターネットでよく見るけどイマイチよくわかってない • MCPをわかった気になりたい • 情報が多すぎて何を参考にすればいいかわからない
ゴール • MCP、なんとなくわかった • すぐ作れそうという気持ちになった • MCP、早く作りたくなってきた
アジェンダ • 最初にまとめ • MCPとは • MCPが動いているところを見よう • MCPのうれしいところ •
MCPって結局なに? • まとめ
最初にまとめ
これだけ分かればOK AIエージェント(e.g. Cline)にむやみやたらに回答させないための仕組み 代表的な機能を3つ押さえておけばOK 機能1:AIエージェントに最新のデータを提供する(Resource) 機能2:AIエージェント向けの機能を提供する(Tools) 機能3:AIエージェントと対話的に使える質問を提供する(Prompts) 最初にまとめ
MCPとは
アーキテクチャはこんなかんじ MCPとは MCPはクライアントサーバモデル AIエージェント(e.g. Cline)がホスト ホストにMCPクライアントをインストールする MCPクライアントサーバ間はJSON-RPC 2.0ベース 引用: https://modelcontextprotocol.io/docs/concepts/architecture
MCPサーバは、AIエージェント(MCPクライアント)に データを提供 推論するための文脈(コンテキスト)を与える 提供するデータはこんなかんじ • ローカルにあるファイル • データベースレコード • APIレスポンス
• スクショとか画像 • ログファイル など APIは以下2つ resources/list: リソースの一覧を取得 resources/read: リソース読み込み AIエージェントに最新のデータを提供する(Resource) MCPとは 引用: https://modelcontextprotocol.io/docs/concepts/architecture
MCPサーバは、AIエージェント(MCPクライアント)の アクションに必要な関数を提供 特徴は3つ MCPクライアントは、利用できるツールをリストアップ (発見) MCPクライアントは、見つけたツールを使うために MCPサーバへリクエスト(呼び出し) MCPサーバは、計算した結果を返す(単純計算も複雑 な処理も柔軟に書ける) APIは以下2つ
tools/list: ツール一覧を取得 tools/call: ツール呼び出し AIエージェント向けの機能を提供する(Tools) MCPとは 引用: https://modelcontextprotocol.io/docs/concepts/architecture
あらかじめ定義された質問テンプレ/ワークフロー Slackのスラッシュコマンドをイメージできれば OK 他にも、以下の特徴がある • 複数のインタラクションをチェーン • 特定のワークフローをガイドする など APIは以下2つ
prompts/list: プロンプト一覧を取得 prompts/get: プロンプトを使う AIエージェントと対話的に使える質問を提供する(Prompts) MCPとは 引用: ショートカットを使用して Slack でアクションを実行する
MCPが動いているところを見よう
チュートリアルをやってみました https://github.com/uh-zz/mcp-tutorial MCPが動いているところを見よう MCPサーバをGoで実装 ClineをMCPクライアントにします
MCPのうれしいところ
ベンダーロックインされない MCPのうれしいところ 引用: https://modelcontextprotocol.io/docs/concepts/architecture MCPはType-Cのようなもの(公式見解) 様々なデータソースやツールのインターフェースを標準 化することで、異なるAIプロバイダー間で利用可能
デザインからコード生成までがよりシームレスに 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 を短時間で 生成できるようになりました
MCPって結局なに?
MCPって結局なに? 「Model Context Protocol(MCP)の動作原理の概要を 掴むための記事」から抜粋 1. クライアントがサーバに対し、JSON-RPCに則ってリクエ ストを送信 2. サーバ側はリクエストに応じてリソース(DB,
API)を操作 3. 結果をクライアントに対し、JSON-RPCに則ってレスポン スを送信 引用: https://modelcontextprotocol.io/docs/concepts/architecture JSON-RPC
まとめ
まとめ AIエージェント(e.g. Cline)にむやみやたらに回答させないための仕組み 代表的な機能を3つ押さえておけばOK 機能1:AIエージェントに最新のデータを提供する(Resource) 機能2:AIエージェント向けの機能を提供する(Tools) 機能3:AIエージェントと対話的に使える質問を提供する(Prompts)
参考 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.