3.1K Views
December 11, 25
スライド概要
みんなのPython勉強会#119 にて登壇
https://startpython.connpass.com/event/374561/
闇のエンジニア/変なデジカメ開発中/ディープラーニング芸人/Raspberry Piとからあげ大好き/はてなブログ書いてます
面倒なことはMCPで解決しよう
自己紹介 名前:からあげ(本名は内緒) 職業:AIのおしごと karaage. @karaage0703 karaage0703 karaage0703 ブログ、各種SNSで情報発信しています
主な著書・寄稿・協力 2021/01/08発売 2021/04/21発売 2025/01/22発売 2024/01/29発売 4万部のベストセラー 2025/10/10発売 ← New!!
本日のゴール このイベントに参加した人(あなた)が MCPで面倒なことを1つ解決できるようになる
本日のアジェンダ - MCPについて - MCPサーバーの使い方 - MCPサーバーを使ってみる
本日のアジェンダ - MCPについて - MCPサーバーの使い方 - MCPサーバーを使ってみる
Model Context ProtocolとUSB-C 引用元: What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs MCPはUSB-Cのように色々つなぐ便利なもの MCP自体は規格(ルール)で実体があるわけではない
MCPの歴史 Donating the Model Context Protocol and establishing the Agentic AI Foundationの年表をGeminiにて翻訳・図示
MCPの概要 色々なLLMが使える PC LLM 最初にMCPサーバとハンドシェ イクすることで目的に応じて MCPサーバを使い分けられる MCP MCPホスト ・Claude Code ・Codex CLI ・Gemini CLI ・Cursor ・Cline MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス MCPサーバ MCPサーバ MCPサーバ ・選択肢が増える ・自分でつくることもできる ・自分でつくることができる ・便利なSDKがある ローカル データ 外部サービス・ アプリ・デバイス 複数のMCPサーバを組み合 わせて使うことができる AIエージェントがより手軽に使える・作れるようになった
MCPのイメージ MCPホスト 項目 ドラえもんに例えると ユーザー のび太 MCPホスト ドラえもん MCPサーバ ひみつ道具 MCP ドラえもん・ひみつ道 具の設計ルール ユーザー 色々な配慮したイメージ 困ったらひみつ道具を探して使って助けてくれるドラえもん MCPサーバ便利そうですし興味でてきませんか?
MCPのポイント MCPアーキテクチャ ホスト・クライアント・サーバ(リモートサーバ) MCPサーバが提供する要素 リソース・ツール・プロンプト・… MCPのホスト・クライアント⇔サーバの初期化 Initialization(ハンドシェイク的通信) 通信手段 stdio, Streamable HTTP その他色々… MCPの仕様は色々なポイントがあります 詳しくは書籍を参照してください
本日のアジェンダ - MCPについて - MCPサーバーの使い方 - MCPサーバーを使ってみる
書籍でメインで扱うMCPサーバー server_google_search.py - Python製のシンプルなGoogle検索のMCPサーバー サポートページ(GitHub)でMITライセンスで公開 専用のMCPホストを自作して使用する想定 サンプルプログラムと思いきや実用的! 多くのMCPホスト対応のAIエージェントで 使用しやすい形に改変して公開。このソフトを例にセットアップ https://github.com/karaage0703/mcp-web-search
MCPサーバー環境構築 - PCの環境構築 - MCPホストセットアップ - MCPホスト設定
PCの環境構築 - uv(Python) - npm(JavaScript) - (Docker) 仮想環境で動くものが多いので仮想環境を構築するのがよい 最低限 uv と npmをセットアップしておきましょう
uv/npmのインストール方法 uvのインストール nvm(npm)のインストール Mac/Linux/Windows(WSL2) いずれも同じコマンドでインストール
MCPホストセットアップ Claude Code ※ Gemini CLI Codex CLI npmでコマンド一発でインストールできます ※ Claude Codeでは推奨のインストール方法ではないです
mmcpでMCPサーバーの設定 - koki (https://x.com/koki_develop) さんが開発したツール - npmがあれば「npm install -g mmcp」でインストール可能 - 各種MCPホスト機能のあるAIエージェント(Claude Code / Codex CLI / Gemini CLI / Cursor…)に対応 ・実はAIエージェントによってMCPサーバーの設定方法が微 妙に違う ・設定ファイルの名前、設定ファイルの置き場所、ファイル のフォーマット…すべて違う!!(許せん!!) mmcpでMCPサーバーを手軽に設定
mmcpでmcp-web-search を設定 コマンドで一括で全てのAIエージェントに MCPサーバーを設定
uvxについて - Pythonのパッケージマネージャーuvの一部でuv tool runのエ イリアス - MCP開発に必要なuvのセットアップについては書籍参照 - Python製のCLIツールを簡単にグローバルにインストールで きる機能で、多くのCLIツールをコマンド一発で動かせる (ex: uvx ruff check) - GitHubのリポジトリ上のソフトもコマンド一発で動かせる uvxでユーザーが使いやすいMCPサーバーを手軽に作れる 詳しくはブログ記事を参照してください https://zenn.dev/karaage0703/articles/3ce79805245fef
本日のアジェンダ - MCPについて - MCPサーバーの使い方 - MCPサーバーを使ってみる
mcp-web-searchを活用するプロンプト ### 6. 情報源の記録方法(重要) 調査の信頼性と透明性を確保するため、以下の方式で情報源を記録: # 調査プロンプト ## 概要 #### 検索結果に基づく情報源記録 技術概念や用語について包括的な調査を行うためのプロンプトテンプ ```markdown レート ## 調査で参照した情報源一覧 ## 調査手順 **注意:以下は[調査日]にgoogle-searchを使用して実際に検索・参照 した情報源です。** ### 1. 多角的検索の実行 以下のクエリを**並行実行**で検索 (google-searchサーバを優先使用): ``` - [概念名] 定義 意味 技術 - [概念名] vs [関連概念] 違い 比較 - [概念名] 学術的定義 論文 - [概念名] 実装 実例 ケーススタディ - [概念名] 英語 原語 一次情報 ``` (略) ### 検索結果から得られた主要情報源(参照順) #### 検索1: "[検索クエリ1]" - [**サイト名**](実際のURL) - 記事から得られた具体的な情報 - [**サイト名**](実際のURL) - 記事から得られた具体的な情報 #### 検索2: "[検索クエリ2]" - [**サイト名**](実際のURL) - 記事から得られた具体的な情報 ### 重要な定量データの出典 - **データ項目**: 具体的な数値(出典調査) ``` 2000文字くらいの調査プロンプトを作成 MCPサーバーの使用を指示
mcp-web-search使用例 プロンプト 「@調査プロンプト コンテキストエンジニアリング」 自分のブログ記事を参照して回答している MCPサーバーを活用することで結果が大きく変わる MCPサーバーを自分で好きに変更することもできる
Context7 AIにコーディングさせると古い仕様で書いて困る プロンプトに「Context7使って」と書くだけで 最新仕様を参照してくれる
Plugins - Commands Agents Skills Hooks MCP Server 参考:Claude Docs「Plugins」 上記コンポーネントをセットにしてパッケージ化したもの Claude Codeで簡単にMCPサーバーを含んだ機能を追加できる ※Gemini CLIでもextentionsという似た仕組みがある
マルチエージェントでコードレビュー https://github.com/karaage0703/claude-coding-assistant Claude CodeでCodexのMCPサーバーを使って マルチエージェント的にコードレビューできるプラグイン
コードレビュープラグインの使い方 1. マーケットプレイスを追加 /plugin marketplace add https://github.com/karaage0703/claude-coding-assistant 2. プラグインをインストール /plugin install coding-assistant@karaage0703/claude-coding-assistant 3. Claude Code を再起動 4. 実行 /coding-assistant:code-reviewer PR#123をレビューしてください マーケットプレイスを追加、プラグインをインストールで 手軽に機能を組み込める
コードレビュープラグインの使い方 Claude CodeがCodexと相談しながら マルチエージェント的にコードレビューできる
ブログの過去記事のSNS投稿文生成 https://github.com/karaage0703/sns-post-plugin MCPサーバーを使ってブログの過去記事を取得して SNS投稿文を生成(Zenn, Hatena Blog, Qiita)
SNS投稿文生成プラグインの使い方 1. プラグインマーケットプレイスを追加 /plugin marketplace add https://github.com/karaage0703/sns-post-plugin 2. プラグインをインストール /plugin install sns-post-plugin@karaage0703/sns-post-plugin 3. Claude Code を再起動 4. 実行 /sns-post-plugin:zenn https://zenn.dev/karaage0703 でお願いします 自作MCPサーバー含めて手軽にセットアップできる
生成したSNS投稿文 過去の人気記事を紹介すること結構反応ある
オープンデータもMCPで MLIT DATA PLATFORM MCP Server 公式サイトより引用 https://www.mlit-data.jp/#/Page?id=apps_mcp 国土交通省データプラットフォームがMCPに対応
オープンデータもMCPで
オープンデータもMCPで
MCPサーバーのトークン消費に気をつけよう /context コマンドで確認したコンテキスト使用量 MCPサーバーを入れすぎると使用できるコンテキストが枯渇
ccmcp/cxmcpとは - karaage(私)が開発したツール - Claude Code / Codex CLIのMCPサーバーの機能を手軽に ON/OFF切り替えできる - プロジェクトごとのMCPサーバーのON/OFF切り替えは Claude Codeが公式サポートしています(/mcpコマンド) MCPサーバーのON/OFFを手軽に切り替えるためのソフト
ccmcp/cxmcp使い方 コマンドはこれだけ 必要最低限のMCPサーバーをONにしておくのがコツ
MCPサーバー設計も気をつけよう コンテキスト消費しすぎない設計も重要
まとめ - MCPについて - MCPサーバーの使い方 - MCPサーバーを使ってみる MCPで面倒なことを解決してみよう!
ご清聴ありがとう ございました