Slide 1

Slide 1 text

Gemini CLI 育成してみた

Slide 2

Slide 2 text

今日話すこと 今日は、僕の相棒「Gemini CLI」を育てて、 日常の面倒を代わりにやってもらったお話をします。 1. 相棒(「Gemini CLI」)と MCPの紹介 2. 相棒に「Webブラウジング」を覚えさせてみた (不動産探し) 3. 相棒に「ファイル操作」を覚えさせてみた(ファイル検索) 4. 相棒に「コード読解」を覚えさせてみた (リファクタリング)

Slide 3

Slide 3 text

今日話すこと 今日は、僕の相棒「Gemini CLI」を育てて、 日常の面倒を代わりにやってもらったお話をします。 1. 相棒(「Gemini CLI」)と MCPの紹介 2. 相棒に「Webブラウジング」を覚えさせてみた (不動産探し) 3. 相棒に「ファイル操作」を覚えさせてみた(ファイル検索) 4. 相棒に「コード読解」を覚えさせてみた (リファクタリング)

Slide 4

Slide 4 text

Gemini CLIとは? Geminiの能力をターミナルで直接利用できるオープン ソースのAIエージェントです。 ◼インストール方法 ● Node.js: npx https://github.com/google-gemini/gemini-cli ● Homebrew: brew install gemini-cli ◼料金プラン 個人開発者は無料で利用可能 寛大な無料利用枠 (1分/60リクエスト, 1日/1,000リ クエスト) 一言で言うと「ターミナル(黒い画面)から呼び出せ る、優秀なアシスタント」です。 個人的に一番は良いところは 他のツールと比較して無料で使える枠が広いです

Slide 5

Slide 5 text

MCPとは? MCP(Model Context Protocol)は、AIやツール・アプリケーション同士が 「コンテキスト (状況や中間結果)」を共通形式でやり取りするための標準プロトコル(共通のルール)です。 ユーザーの依頼:「日本のEV市場の動向について、グラフ付きのレポートを作ってください。」 ▼GeminiとGPT-5を使ったイメージ 1. Geminiは最新データ検索や数値処理が得意なので、まず は市場調査データを集め、グラフを生成します。 2. MCPで受け取ったGeminiのコンテキストをもとに、 GPT-5が自然なレポート文を書きます。 MCPがなければ GPT-5は「どのデータをGeminiが取ってきた のか」「どこまで処理が終わっているのか」がわからず、ゼロ からやり直す必要があります。

Slide 6

Slide 6 text

ポケモンで例えると... MCPをポケモンで例えるなら、技の「バトンタッチ」に該当します。 ● AIモデル・ツール = パーティにいるポケモンたち(ピカチュウ、カビゴンなど) ● AI・ツールに渡す情報(コンテキスト) = 能力アップの効果(こうげきアップ、すばやさアップなど) ● MCP = 技の「バトンタッチ」そのもの ▼具体例 バトル中、先発のピカチュウが「こうそくいどう」を使って自分の「すばやさ」をぐーんと上げ たとします。 ここでピカチュウが「バトンタッチ」(MCP)を使うと、次に交代して出てきたカビゴンに、上 がった「すばやさ」の効果をそのまま引き継ぐことができます。 おかげで、本来は素早くないカビゴンが、バトルに出た瞬間から超スピードで動けるようになり ます。

Slide 7

Slide 7 text

MCPサーバーとは? MCPサーバーをポケモンで例えるなら、「バトンタッチ」を正しく処理する「中継係」になります。 ● AIモデル・ツール = パーティにいるポケモンたち(ピカチュウ、カビゴンなど) ● AIに渡す情報(コンテキスト) = 能力アップの効果(こうげきアップ、すばやさアップなど) ● MCP = 技の「バトンタッチ」そのもの ● MCPサーバー = 効果の引き渡しを管理する「中継係」 →渡せる効果・渡せない効果を確認して、安全に次のポケモンに引き継がせる。 ▼具体例 バトル中、ピカチュウが「こうそくいどう」で「すばやさ」をぐーんと上げる。 ピカチュウが「バトンタッチ」(=MCP)を使う。 中継係(= MCPサーバー)が「引き継げる効果かどうか」をチェックし、適切に処理。 交代で出てきたカビゴンが、中継係を通じて「すばやさUP」の効果をそのまま受け取る。 中継係経由でMCPを使う

Slide 8

Slide 8 text

今日話すこと 今日は、僕の相棒「Gemini CLI」を育てて、 日常の面倒を代わりにやってもらったお話をします。 1. 相棒(「Gemini CLI」)と MCPの紹介 2. 相棒に「Webブラウジング」を覚えさせてみた (不動産探し) 3. 相棒に「ファイル操作」を覚えさせてみた(ファイル検索) 4. 相棒に「コード読解」を覚えさせてみた (リファクタリング)

Slide 9

Slide 9 text

引越ししたいけど、毎日物件サイトを見るのは面倒… みたいな課題を感じたことありませんか!? 解決策:「相棒に“Webブラウジング”スキルを覚えさせる!」 ▼スキルを覚えさせるまでの手順 Step 1: npm install -g @playwright/mcp Step 2: プロジェクトのルートディレクトリにある.gemini/settings.jsonに以下を追加する必要があります。 (このファイルがない方はプロジェクトのルートディレクトリに.gemini/settings.jsonというファイ ルを作成してください。) "mcpServers": { "playwright": { "command": "npx", "args": [ "@playwright/mcp@latest" ] } } ⬇追加イメージ ウェブページの操作、テスト、スクレイピングなどを 自動で行えるようにするMCPサーバー

Slide 10

Slide 10 text

Step 3: Gemini CLIを起動 これで相棒が“Webブラウジング”スキルを習得できました。 ⬇Gemini CLIを起動して以下プロンプトを実行した結果 Gemini CLIで入力したプロンプト:「以下サイトで沖縄県 那覇市 上之屋周辺で家賃15万未満のアパー ト・マンションを探して来てください。築年数は10年未満が良いです。 https://goohome.jp/」

Slide 11

Slide 11 text

今日話すこと 今日は、僕の相棒「Gemini CLI」を育てて、 日常の面倒を代わりにやってもらったお話をします。 1. 相棒(「Gemini CLI」)と MCPの紹介 2. 相棒に「Webブラウジング」を覚えさせてみた (不動産探し) 3. 相棒に「ファイル操作」を覚えさせてみた(ファイル検索) 4. 相棒に「コード読解」を覚えさせてみた (リファクタリング)

Slide 12

Slide 12 text

あれ、あのファイルどこに行ったっけ。探すの面倒… みたいな課題を感じたことありませんか!? 解決策:「相棒に“ファイル操作”スキルを覚えさせる!」 ▼スキルを覚えさせるまでの手順 Step 1: npm install -g @modelcontextprotocol/server-filesystem Step 2: プロジェクトのルートディレクトリにある.gemini/settings.jsonに以下を追加する必要があります。 "file-system": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/r-okada/Project/" ] } ⬇追加イメージ ローカルのファイルにアクセスして、ファイル操作(読み書 き、作成、削除など)を行えるようにするMCPサーバー

Slide 13

Slide 13 text

Step 3: Gemini CLIを起動 これで相棒が“ファイル操作”スキルを習得できました。 ⬇Gemini CLIを起動して以下プロンプトを実行した結果 Gemini CLIで入力したプロンプト:「文章を要約するプロジェクトでCloudFormationテンプレートファ イルが存在しているディレクトリ名を検索してください。」

Slide 14

Slide 14 text

今日話すこと 今日は、僕の相棒「Gemini CLI」を育てて、 日常の面倒を代わりにやってもらったお話をします。 1. 相棒(「Gemini CLI」)と MCPの紹介 2. 相棒に「Webブラウジング」を覚えさせてみた (不動産探し) 3. 相棒に「ファイル操作」を覚えさせてみた(ファイル検索) 4. 相棒に「コード読解」を覚えさせてみた (リファクタリング)

Slide 15

Slide 15 text

5年前のソース、どこから見直しするか分からない… みたいな課題を感じたことありませんか!? 解決策:「相棒に“コード読解”スキルを覚えさせる!」 ▼スキルを覚えさせるまでの手順 Step 1(Mac OSの場合): brew install uv conda環境がある場合は任意の環境でactivateして以下を実行してください pip install uv Step 2: プロジェクトのルートディレクトリにある.gemini/settings.jsonに以下を追加する必要があります。 "serena": { "command": "uvx", "args": [ "--from", "git+https://github.com/oraios/serena", "serena-mcp-server", "--context", "ide-assistant", "--enable-web-dashboard", "false", "--project", "${PWD}" ] } ⬇追加イメージ AIを高機能なコーディングエージェントに変えるMCPサーバー

Slide 16

Slide 16 text

Step 3: Gemini CLIを起動 Step 4: プロンプト:「オンボーディングしてください」を実行してください。 ⬇実行結果 ⬇作成されるファイルのディレクトリ構造 プロジェクトの概要、技術スタック、コマンド、 コードスタイル、構造など、AIアシスタントがプ ロジェクトを理解するために必要な情報が作成さ れます。

Slide 17

Slide 17 text

これで相棒が“コード読解”スキルを習得できました。 ⬇以下プロンプトを実行した結果 Gemini CLIで入力したプロンプト:「serena mcpによって作成されたものを参照してリファクタリング が必要なファイルを教えてください。」

Slide 18

Slide 18 text

まとめ ● 相棒(「Gemini CLI」)はコマンドライン上で動作するAIエージェント ● MCPはコンテキストを共通形式でやり取りするための標準プロトコル(共通のルール) ● Playwright MCP ○ ウェブページの操作、スクレイピングなどを自動で行えるようにするMCPサーバー ● Filesystem MCP ○ ローカルのファイルにアクセスして、読み書き/作成/削除などを行えるようにするMCPサーバー ● Serena MCP ○ AIを高機能なコーディングエージェントに変えるMCPサーバー ポケモンで例えると... ● 相棒(「Gemini CLI」):パーティーにいるポケモン(ピカチュウ、カビゴンなど) ● コンテキスト:次のポケモンに引き継ぐ能力の効果(こうげきアップ、すばやさアップなど) ● MCP:わざの「バトンタッチ」そのもの ● Playwright MCP(わざマシン):「ウェブページの操作」を可能にする ● Filesystem MCP(わざマシン):「ローカルファイルの操作」を可能にする ● Serena MCP(わざマシン):「ポケモンの能力をコーディングエージジェントに特化させる」

Slide 19

Slide 19 text

ご清聴ありがとうございました😀

Slide 20

Slide 20 text

参考資料 ● 有名どころMCPを試してみる - その3 Playwright ● 【MCPのトリセツ #2】Filesystem MCP Server: AIでローカルファイルを 扱う ● 【2025年版】MCPツール8選で開発ワークフローを劇的に効率化する方法 - Qiita ● 無料で試すべき20選!おすすめMCPサーバー - Qiita ● 簡単なサンプルで理解する、Model Context Protocol (MCP) #Python - Qiita