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
120
MCP で「こいつ動くぞ」
kanayannet
September 20, 2025
Tweet
Share
More Decks by kanayannet
See All by kanayannet
Mcp Training
kanayannet
0
110
無関心の谷
kanayannet
0
950
生成AIの使いどころ
kanayannet
0
220
github copilot と 心理的安全性
kanayannet
0
250
FW と ライブラリ の考え方
kanayannet
0
260
TDDと今まで
kanayannet
0
620
個人開発 稼げなくてもいいアプリ
kanayannet
0
560
システムの堅牢性
kanayannet
0
320
Agile的学習方法
kanayannet
0
310
Other Decks in Programming
See All in Programming
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Package Management Learnings from Homebrew
mikemcquaid
0
230
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.4k
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
Patterns of Patterns
denyspoltorak
0
1.4k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Data-Centric Kaggle
isax1015
2
780
Oxlint JS plugins
kazupon
1
990
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
A designer walks into a library…
pauljervisheath
210
24k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
57
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Automating Front-end Workflow
addyosmani
1371
200k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
420
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The agentic SEO stack - context over prompts
schlessera
0
640
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
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 を駆使したウィルスが流行りそうな嫌な予感 他社サービスとの連携はまた今度...
ご清聴ありがとうございました!