MCP with Gemini Tutorial について
このチュートリアル用リポジトリは、Google の Gemini 2.0 モデル向けに MCP サーバーを構築する方法を示すものです。Gemini から外部ツールを呼び出したい開発者を想定しており、サンプルのサーバーは Brave Search による検索機能を提供します。
主な機能
- 01Bun と TypeScript で実装された MCP サーバー
- 02Brave Search を利用したウェブ検索ツール
- 03企業や場所を検索するローカル検索ツール
- 04Gemini のツール呼び出しを行うサンプルクライアント
活用シーン
- 01Gemini 向け MCP サーバーの構築方法の学習
- 02サンプル構成に沿ったカスタムツールの追加
- 03Gemini からのウェブ検索とローカル検索の呼び出し
MCP 対応
本プロジェクトはウェブ検索とローカル検索のツールを公開する MCP サーバーを実装し、それらを呼び出すサンプルクライアントを含みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gemini を使った MCP チュートリアル
このリポジトリには、こちらのブログ記事で説明されている、Google の Gemini 2.0 モデルを使って Model Context Protocol(MCP)サーバーを構築するチュートリアルの完全なコードが含まれています。
Model Context Protocol(MCP)とは?
MCP は Anthropic が開発したオープン標準で、AI モデルが外部のツールやリソースにシームレスにアクセスできるようにします。ツールやモデルごとにカスタム統合を用意する必要なく、AI モデルがツールを操作し、インターネットにアクセスし、コードを実行するなどの処理を行うための標準化された方法を提供します。
主なメリットは次のとおりです。
- 相互運用性:MCP に対応するあらゆるモデルが、MCP に対応するあらゆるツールを使用できます
- モジュール性:モデルとの統合を変更せずに、ツールを追加または更新できます
- 標準化:一貫したインターフェースにより、統合の複雑さが軽減されます
- 関心の分離:モデルの機能とツールの機能を明確に分離できます
プロジェクトの概要
このチュートリアルでは、次の方法を紹介します。
- Brave Search と連携する完全な MCP サーバーを構築する
- Google の Gemini 2.0 モデルに接続する
- AI を活用したアプリケーション向けの柔軟なアーキテクチャを作成する
はじめに
前提条件
- Bun(TypeScript を高速に実行するため)
- Brave Search API キー
- Gemini にアクセスするための Google API キー
インストール
# Clone the repository
git clone https://github.com/GuiBibeau/mcp-gemini-tutorial.git
cd mcp-tutorial
# Install dependencies
bun install
環境の設定
API キーを記載した .env ファイルを作成します。
BRAVE_API_KEY="your_brave_api_key"
GOOGLE_API_KEY="your_google_api_key"
使い方
基本的なクライアントの実行
bun examples/basic-client.ts
Gemini との統合の実行
bun examples/gemini-tool-function.ts
プロジェクト構成
src/- MCP サーバーとツールのコア実装examples/- MCP サーバーの使い方を示すクライアントの例tests/- プロジェクトのテストファイル
実装されているツール
この MCP サーバーは、次の 2 つの主なツールを公開します。
- ウェブ検索:Brave Search を使った一般的なインターネット検索
- ローカル検索:Brave Search を使った事業者や場所の検索
プロジェクトの拡張
次の手順で独自のツールを追加できます。
- スキーマを定義して新しいツールを作成する
- 機能を実装する
- MCP サーバーに登録する
詳細情報
ライセンス
MIT
このプロジェクトは、bun v1.1.37 で bun init を使って作成されました。Bun は、高速なオールインワン JavaScript ランタイムです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。