★生成AIGemini2.5(4) GeminiCLI(3)★[2025/07/08更新]
プロローグ
MCPサーバー:Context7
MCPサーバー:GitHUB
エピローグ

プロローグ

○プロローグ:
・前回に引き続きMCPサーバーの紹介ですが、今回は便利な既存のMCPサーバーをいくつか紹介します。

MCPサーバー:Context7

○参考URL:
・参考:https://note.com/oyaryo/n/ne8800ddb560b
Gemini CLIでcontext7のMCPサーバを利用する簡単な方法

○概要:
	Context7 MCPは、最新のライブラリに基づいたドキュメントとコード例を迅速に取得できる強力なツールです。
	従来の古い情報に頼ることなく、効率的かつ正確にプログラミングを行うためのサポートを提供します。
	このツールを活用することで、開発者はより生産的な環境を実現できるでしょう。

○settings.jsonの設定:
Nod.jsがインストールされていれば、以下の設定を行うだけでOKです。
※斜線部分が今回「Context7」用に追加した箇所です。

{
  "mcpServers": {
	"context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
	}
  },

  "theme": "Default",
  "selectedAuthType": "oauth-personal"
}

○Geminとの対話経過

★ちょっと待ってください、私はSeleniumライブラリの使い方の説明を求めていただけですが、
★結局サンプルプログラムを自動で作成して、自動実行までしてくれました。
★これは生産性が上がりますね(^_^;)、流石エージェントですね(^_^*)、先回り先回りしてきます
※もちろん勝手に、作成したり、実行したりはしません、一々、ディレクトリを作成していいですか?
※実行していいですかと聞いてきます
【私のプロンプト】
 Context7を使用して、Pythonのスクレーピング用のライブラリSeleniumを教えて
【GeminiCLIの動作/回答】
✦ ライブラリIDを /seleniumhq/seleniumhq.github.io に解決しました。これはSeleniumの公式サイトとドキュメントです。

✦ 承知いたしました。Context7から取得したドキュメントを基に、Seleniumの基本
  的な使い方を説明します。¥

✦もし、特に指定がなければ、Seliniumの概要と基本的な使い方について説明します。

✦Seleniumのインストール。
✦ インストールは既に完了しているようです。

  以下は、Google Chromeを起動し、指定したURLにアクセスして、ページのタイトルを取得して表示する簡単なPythonスクリプトです。
○生成されたサンプルプロ

※Google検索(GoogleChromeブラウザ)を起動して、入力された内容を検索します。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("https://www.google.com")

# name属性が"q"の要素(検索ボックス)を見つける
search_box = driver.find_element(By.NAME, "q")
import time
time.sleep(30) # 5秒待つ

# "Selenium"と入力してEnterキーを押す
search_box.send_keys("Selenium")
search_box.send_keys(Keys.RETURN)

# 少し待ってからタイトルを表示
time.sleep(30) # 5秒待つ
print(driver.title)

driver.quit()

○さらに実行するために内部生成したフォルダー類等、一部分を引用:

MCPサーバー:GitHUB

○参考URL:
・参考:https://docs.github.com/ja/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server
GitHub MCP サーバーの使用

○概要:
	GitHub MCP サーバーとは、GitHub によって提供および管理されるモデル コンテキスト プロトコル (MCP) サーバーです。 
	MCP を使うと、AI 機能を他のツールやサービスと統合し、コンテキスト対応の AI 支援を提供することで開発エクスペリエンスを強化できます。

	MCP の詳細については、MCP 公式ドキュメントを参照してください。

	GitHub MCP サーバーを使うと次のことができます。

		コード関連のタスクを自動化および効率化します。
		サードパーティのツール (Cursor、Windsurf、将来の統合など) を接続して、GitHub のコンテキストと AI の機能を活用します。
		ローカル環境を設定しないで、任意のデバイスから動作するクラウドベースのワークフローを有効にします。
○事前準備:Dockerのインストール:
※https://docs.docker.com/desktop/setup/install/windows-install


○事前準備:GitHUB PATの取得
※PATとは
個人アクセストークンは、GitHubアカウントのユーザー名とパスワードの代わりに使用することができる認証トークンです。これにより、API呼び出しや、Gitコマンドの実行時にセキュアにアクセスすることができます。 例えば、VertexAIワークベンチのコード管理やlookerのモデル管理をしたい場合に使用します。 今回は、serverjsonに設定します。
※https://github.com/settings/developers


○Dockerの起動:


○settings.jsonの設定:
※一部分引用します:
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "GITHUB_PERSONAL_ACCESS_TOKENの値"
      }
    },
○Geminiとの対話
【私のプロンプト】
私のリポジトリ「https://github.com/shim456/dir_walk」のコードをレビューして、改善点を指摘してください。
特にパフォーマンスとセキュリティの観点から見てください。

はい、改善コードを表示してください、但し更新はしないでください
【GeminiCLIの回答】
まず、リポジトリの構造を把握します。

内容を読んで、コードの動作を理解することから始めます
改善点を提案します

これらの改善点を反映させたコードを次に示します、このコードで「dir_walk.c」を更新しますか?

承知いたしました。dir_walk.cのパフォーマンスとセキュリティを改善したコードを示します。

エピローグ

○エピローグ:
・次回もMCPサーバーの紹介ですが、MCPサーバーの自作方法を紹介します。
・またMCPサーバーのデバッグツールもいくつか紹介します。

著者:志村佳昭(株式会社トリニタス 技術顧問)