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 で「こいつ動くぞ」
Search
kanayannet
September 20, 2025
Programming
0
88
MCP で「こいつ動くぞ」
kanayannet
September 20, 2025
Tweet
Share
More Decks by kanayannet
See All by kanayannet
無関心の谷
kanayannet
0
670
生成AIの使いどころ
kanayannet
0
190
github copilot と 心理的安全性
kanayannet
0
220
FW と ライブラリ の考え方
kanayannet
0
240
TDDと今まで
kanayannet
0
580
個人開発 稼げなくてもいいアプリ
kanayannet
0
550
システムの堅牢性
kanayannet
0
310
Agile的学習方法
kanayannet
0
300
GUIをエンジニアが考える
kanayannet
0
270
Other Decks in Programming
See All in Programming
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
9
4.3k
高単価案件で働くための心構え
nullnull
0
130
問題の見方を変える「システム思考」超入門
panda_program
0
200
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
150
Snowflake リリースに注意を払いたくなる話
masaaya
0
110
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
4
1k
CSC509 Lecture 10
javiergs
PRO
0
170
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
11
5.6k
What's New in Web AI?
christianliebel
PRO
0
120
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
150
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
400
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Docker and Python
trallard
46
3.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Language of Interfaces
destraynor
162
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Optimizing for Happiness
mojombo
379
70k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A Modern Web Designer's Workflow
chriscoyier
697
190k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
MCP で「こいつ動くぞ」 Gunma.web #57
MCP? Model Context Protocol AIモデル(LLM)と外部ツールやデータソースをつなぐオープンな標準プロトコル
まるで AI の「USB-C」 by chatGPT
なぜ?やるのか? 注目されてる SoftwareDesign にも取り上げられた 新しいものが好き やってみないと...感覚で理解できないものがありそう。
重要 「やってみた」だけだと自己満足で終わりそう 動くところまで見せる 価値あるものに見せる <- これだ
まずは基本を理解 MCP クライアント:AI 側(例:Claude Desktop や他の AI アプリ)が外部サーバと通 信する MCP
サーバ:外部インターネットやデータへの接続を提供するコンポーネント 通信仕様:JSON-RPC 2.0
各個撃破 MCP クライアンド: Claude Desktop で行けそう MCP サーバ:python でやってみっか クライアント機能の有効化
を忘れずに
やり方は claude に聞く
python3.12 -m venv mcp-env source mcp-env/bin/activate pip3.12 install mcp python
で環境構築
simple_mcp_server.py https://github.com/kanayannet/practice-mcp-servers
外部連携用のjsonを編集する 設定 -> 開発者 -> 設定を編集
{ "mcpServers": { "simple-python-server": { "command": "/path/to/your/project/mcp-env/bin/python3.12", "args": ["/path/to/your/project/simple_mcp_server.py"] }
} } claude_desktop_config.json
claude を再起動 うまくいくと...python で定義したメニューが出てくる calculator: 数学計算 text_analyzer: テキスト分析 reverse_text: テキストの逆順変換
初回実行時だけ表示されます。
どんな感じか?見せます。 デモ
calculator を使って 1 + 15 - 31 の合計値の絶対値を出して text_analyzer を使って「本日は晴れなり」を分析して
reverse_text をつかってさっきの文章を逆順にして
こいつ動くぞ!
少しコードの解説をします。 vim simple_mcp_server.py
ここまでだと... 普通に「claude使えばええやん!」となるので...
NEXT!
端末を操作したい!
mcp>=0.1.0 requests>=2.31.0 pathlib script組む advanced_mcp_server.py requirements.txt pip3.12 install -r requirements.txt
{ "mcpServers": { "simple-python-server": { "command": "/path/to/your_project/mcp-env/bin/python3.12", "args": ["/path/to/your_project/simple_mcp_server.py"] },
"advanced-python-server": { "command": "/path/to/your_project/mcp-env/bin/python3.12", "args": ["/path/to/your_project/advanced_mcp_server.py"] } } } 再度設定ファイルを編集 claude_desktop_config.json
TODO 作って file_operations を使って todo.txt というファイルに今日のタスクを書き込んでください
順々にやってみよう note_manager を使って '会議メモ' というタイトルでノートを作成してください
sqlite3 mcp_workspace/notes.db .tables select * from notes;
system_info を使って現在のディスク使用量を確認してください
web_request を使って httpbin.org/ip 自分のグローバルIPを取得してください
如何でした? 自分の端末から命令可能でしたよね?
But...
最悪のパターンは 自分の端末の中にアクセス可能 自分の端末からのインターネットアクセスも... ノラの信用ならない MCP と繋いだ場合は...
セキュリティ意識重要
余談: 実は...
今回ほとんどAIに書いてもらった
が...
悪戦苦闘の足跡 venv 使って構築したのに実行path が間違えて起動しない
アクセス権がないディレクトリを平気で指定されていたり...
単純にpython SQlite のコードを間違えたり... conn じゃなくて execute の返却値を使ってよ(汗)
人が調整する必要あります(笑)
まとめ 自分で書いた処理をAIに実行してもらう事が可能 AI がある程度要約してくれるので楽ちん 命令の際に作法だったものを気にしないで良い コードを書かせる際は、AIのミスリードはあるので、それも考慮しながら...
悪用 => 今まで以上に大変(汗) AI を駆使したウィルスが流行りそうな嫌な予感 他社サービスとの連携はまた今度...
ご清聴ありがとうございました!