はじめに
最近、生成AIやAIエージェントの話題で「MCPサーバー」という言葉を目にする機会が増えてきました。これは一体どのような技術なのでしょうか。
MCP(Model Context Protocol)サーバーは、一言で言うと、GeminiのようなAIモデルと外部のツールやサービスを連携させるためのブリッジ役を担うサーバーです。
AIモデルは、それ単体では外部のAPIを叩いたり、ローカルの特定のコマンドを実行したりすることはできません。MCPサーバーは、AIモデルからのリクエストを受け取り、それを外部サービスへのAPIコールやコマンド実行に変換してくれます。これにより、AIモデルは本来アクセスできないリソースを「ツール」として利用できるようになるのです。
今回は、このMCPサーバーがどのようなものか、実際に手を動かしながら体感してみましょう。
ハンズオンの準備
MCPサーバーのクライアントとして、今回はGoogleのGemini CLIを使用します。環境は、セットアップが不要なGoogle CloudのCloud Shellを利用すると手軽です。
まず、Google Cloudにログインし、Cloud Shellを起動します。
ターミナルが利用可能になったら、以下のコマンドを実行します。
gemini
これだけでGemini CLIが起動し、対話可能な状態になります。ハンズオンの準備はこれだけです。
Github MCPサーバーの設定
それでは早速、MCPサーバーの設定に入ります。
今回は、公開されているGithub MCPサーバーに接続し、Gemini CLIからGitHubリポジトリを操作してみます。
1. GitHubのパーソナルアクセストークン(PAT)の準備
まず、Gemini CLIがGitHub APIを利用するための認証情報として、パーソナルアクセストークン(PAT)を発行します。
-
GitHubにログインし、[Settings] > [Developer settings] > [Personal access tokens] > [Fine-grained tokens] にアクセスします。
-
nameに分かりやすい名前(例: gemini-cli-mcp)をつけ、Expiration(有効期限)を設定します。 -
Repository accessで、Only select repositoriesを選択し、今回のMCPサーバーで利用するリポジトリを選択します。

-
[Permissions]で必要な権限を追加します。今回は、
Issues、Contents、Pull Requests、WorkflowsにRead-Write権限を設定します。

-
[Generate token] をクリックし、表示されたトークン(
ghp_...)をコピーしておきます。
2. Gemini CLIの設定
次に、Cloud Shell上でGemini CLIの設定ファイルを作成し、先ほどのPATを登録します。
以下のコマンドで設定ファイルを開いてください。
mkdir -p ~/.gemini
nano ~/.gemini/settings.json
エディタが開いたら、以下の内容を貼り付けます。
{
"theme": "Default",
"selectedAuthType": "oauth-personal",
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "GITHUB_PAT"
},
"timeout": 5000
}
}
}
GITHUB_PAT の部分を、先ほどコピーしたご自身のトークンに書き換えてください。
書き換えたら、Ctrl + O → Enter → Ctrl + Xでファイルを保存します。
これで、Gemini CLIがGithub MCPサーバーと通信するための設定が完了しました。
MCPサーバー経由でのGitHub操作
設定が完了したので、実際にGemini CLIからGitHubを操作してみましょう。
再度 gemini コマンドでCLIを起動します。
1. 接続確認
まず、/mcp refresh コマンドを入力し、設定を更新します。
/mcp refresh
設定した github MCPサーバーのツール群が表示されれば成功です。
早速MCPサーバーを使ってみましょう。
以下のように入力し、githubリポジトリをリストアップしてもらいましょう。
私のgithubリポジトリをリストアップして

MCPサーバーを使ってgithubリポジトリをリストアップしてくれました!
2. リポジトリのクローン
では、GitHubリポジトリをクローンします。<repo-name> はご自身のリポジトリ名に置き換えてください。
<repo-name> をクローンして。
この指示により、Geminiは git clone コマンドを直接実行する代わりに、MCPサーバーを介して操作が実行してくれます。
クローンしたgemini-cli-sampleのフォルダが作成されていることを確認できました。
3. ファイルの作成とプッシュ
次に、ファイルを生成してプッシュします。
一度 /quit でGeminiを終了し、cd コマンドでクローンしたディレクトリに移動してから、再度 gemini を起動してください。
次に、gemini cliにファイルを作成してもらいましょう。
test.txtを作成して、これはgithub mcpのテストです。と書き込んでください。
Gemini CLIはデフォルでいくつかのツールを使用できます。ファイル作成にはWriteFileというツールを使っています。
使用可能なツールは/toolsから確認できます。

最後に、この変更をGitHubにプッシュします。
私のgithubリポジトリのgemini-cli-sampleにtext.txtをプッシュして。
これにより、ブランチを取得し、プッシュまで実行してくれます。


ブラウザでご自身のGitHubリポジトリを確認すると、ファイルが指定したコミットメッセージでプッシュされていることが確認できるはずです。
まとめ
今回は、Github MCPサーバーを例に、MCPサーバーの仕組みを体感していただきました。
Gemini CLIからの自然言語による指示が、MCPサーバーを介してGitHub APIの呼び出しに変換され、一連のGit操作が実行される流れを確認できました。
このようにMCPサーバーは、AIモデルの能力を外部サービスへと拡張するための強力な仕組みです。今回は既存のサーバーを利用しましたが、カスタムツールを自作のMCPサーバーとして実装することで、AIモデルを様々なワークフローに組み込むことが可能になります。







