Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
[学生X社会人IT会]MCPってなに?
Search
Keita Nakata
June 27, 2025
Technology
0
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[学生X社会人IT会]MCPってなに?
学生と社会人の勉強会で発表した資料です
MCPとは何か、からMCPサーバーの作り方、ハンズオンまで解説した資料です!
Keita Nakata
June 27, 2025
More Decks by Keita Nakata
See All by Keita Nakata
[YGB#7]ドラえもんを作ろう
tyukei
0
12
5分でわかるYGB!
tyukei
0
0
[MOAI#1]私が、BeHigashiを作るまで
tyukei
1
31
[YGBK#6]手で書いて覚えるLLMの作り方
tyukei
0
10
[AIAO#08]World premiere!Windsurf Drive Development!
tyukei
0
0
[YGBK#5]夜も眠れなくなるLLMのおはなし
tyukei
0
27
[YGBK#4]世界初公開!KuinaDaoの紹介
tyukei
0
42
[みん強]脳波でルンバを動かすためのリアルタイムデータ基盤
tyukei
0
260
[YGBK#3]Vtuberになろう
tyukei
1
150
Other Decks in Technology
See All in Technology
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
190
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
A Tale of Four Properties
chriscoyier
163
24k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Typedesign – Prime Four
hannesfritz
42
3.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Transcript
触って作ってみよう ~~MCP編~~ aws mcp grok sse mcp server okinawa mcp
server 中継
目次 MCPの始め方 自作MCPサーバの紹介 MCPサーバのハンズオン(時間あれば)
MCPの始め方
MCP(Model Context Protocol) Claudeとかと 外部のDataSourceを繋ぐ規格 くわしくはこちら https://modelcontextpro tocol.io/introduction
MCPのユースケース 脳波データをIoT Core経由で S3に保存し、 Athenaで分析、 QuickSightで ダッシュボード化したい。 アーキテクチャ 図作りたい 自動で
案出してほしい!
None
aws 公式mcpならDiagramを作ってくれる
違うアプリ (クライアントホスト) からでも作成可能!
MCP Client設定のやり方 詳しくは https://github.com/awslabs/mcp/blob/main/src/aws-diagram-mcp -server/README.md ターミナルで以下実行 brew install uv uv
python install 3.10 brew install graphviz uvはpipみたいなライブラリ管理ツール このMCPはpython3.10以上 diagramをつくるのに必要
MCP Client設定のやり方 mcp clientの設定(claudeの場合) Claudeの設定/Developer/Edit Configより claude_desktop_config.json を開き、以下追加 { "mcpServers":
{ "awslabs.aws-diagram-mcp-server": { "command": "uvx", "args": ["awslabs.aws-diagram-mcp-server"], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "autoApprove": [], "disabled": false } } }
MCP Client設定のやり方 mcp clientの設定(clineの場合) Clineの設定 Configより以下追加 { "mcpServers": { "awslabs.aws-diagram-mcp-server":
{ "command": "uvx", "args": ["awslabs.aws-diagram-mcp-server"], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "autoApprove": [], "disabled": false } } }
MCPがない場合(Claude) なんかちょっと 思ってたのと違う
自作MCPサーバを作る
OKINAWAの観光スポットを教えてくれるMCP https://github.com/tyukei/mcp_okinawa_api 沖縄オープンデータを使用し、 沖縄県公共施設一覧や 「沖縄食材の店」登録店舗一覧などの データをとって返してくれる
OKINAWAの観光スポットを教えてくれるMCP
オープンデータとは(余談) オープンデータとは、国、地方自治体等が保有するデータのうち、誰もがインターネット等を通じて容易に加工、編集、 再配布等できるよう、次のいずれにも該当するものをいいます。 1. 営利目的、非営利目的を問わず、二次利用可能なルールが適用されたもの 2. 機械判読 (コンピュータが自動的にデータを加工、編集等できることをいう。 )に適したもの 3.
無償で利用できるもの https://www.city.okinawa.okinawa.jp/k010-004/shiseijouhou/opnedata/index.html 取得リンク : https://data.bodik.jp/organization/okinawa-dpf ダッシュボード : http://city.okinawa.okinawa.jp/k010-004/shiseijouhou/dashboard/p00001.html
main.pyの内容(fast api) from mcp.server.fastmcp import FastMCP dict: APIからのJSONレスポンスを含む辞書。 … """
# --- エンドポイント②: キーワードでレコードを検索--- params = {"resource_id": RESOURCE_ID, "q": q} @mcp.tool() async with httpx.AsyncClient() as client: async def search_records(q: str) -> dict: resp = await client.get(f"{CKAN_BASE}/datastore_search", params=params) """ resp.raise_for_status() CKAN DataStore API(datastore_search)の `q` パラメータを 使用して、 return resp.json() レコードをキーワード検索します。 … 引数: # --- エントリポイント: SSE トランスポートでサーバ起動--- q (str): 検索キーワード。 戻り値: if __name__ == "__main__": mcp.run()
main.pyの内容(fast api) from mcp.server.fastmcp import FastMCP dict: APIからのJSONレスポンスを含む辞書。 … """
このエンドポイント @mcp.tool() を変更できれば、 async def search_records(q: str) -> dict: 取得データは """ 変更可能 CKAN DataStore API(datastore_search)の `q` パラメータを 使用して、 ↓ レコードをキーワード検索します。 APIさえわかれば 引数: 独自MCPできそう # --- エンドポイント②: キーワードでレコードを検索--- q (str): 検索キーワード。 戻り値: params = {"resource_id": RESOURCE_ID, "q": q} async with httpx.AsyncClient() as client: resp = await client.get(f"{CKAN_BASE}/datastore_search", params=params) resp.raise_for_status() return resp.json() … # --- エントリポイント: SSE トランスポートでサーバ起動--if __name__ == "__main__": mcp.run()
MCPサーバのハンズオン 時間あれば
https://github.com/tyukei/mcp_sample_on_googlecolab/blob/main/mcp_sample_o n_googlecolab.ipynb