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.3k
MCP調べてみました! / Exploring MCP
uhzz
April 13, 2025
Tweet
Share
More Decks by uhzz
See All by uhzz
自動生成されたhttpエンドポイントごとにカスタムミドルウェアを挿入したい話
uhzz
1
2.3k
Enablement Bootcampを終えて -Enablement Bootcamp for Gopherizing 〜業務で使えるGoを学ぼう〜
uhzz
0
270
安全にQAを行える環境が整いました!- Kyash TechTalk #6 - Kyashの開発をチラ見せ
uhzz
0
750
Goのローカル開発をWorkspacesではじめよう
uhzz
1
900
【Go:パッケージ管理】DepからGo Modulesへ
uhzz
0
1k
コードレビューで泣かないためのintSize = 32 << (^uint(0) >> 63)
uhzz
0
210
「ウチも、gRPC使えますか?」
uhzz
0
270
「インタフェースデザインの心理学」を読んで話したい3つのこと
uhzz
0
21k
「世界一「自由」な会社、NETFLIX NO RULES」を読んでみた
uhzz
0
360
Other Decks in Programming
See All in Programming
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
520
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
180
Kamal 2 – Get Out of the Cloud
aleksandrov
1
190
Ruby's Line Breaks
yui_knk
2
1.2k
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
140
エンジニアが挑む、限界までの越境
nealle
1
220
Vibe Codingをせずに Clineを使っている
watany
17
6.3k
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
240
RuboCop: Modularity and AST Insights
koic
2
1.3k
Thank you <💅>, What's the Next?
ahoxa
1
480
Being an ethical software engineer
xgouchet
PRO
0
210
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
450
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
The Language of Interfaces
destraynor
157
25k
Code Review Best Practice
trishagee
67
18k
Bash Introduction
62gerente
611
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
RailsConf 2023
tenderlove
30
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
760
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Applications with DynamoDB
mza
94
6.3k
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.