DEVELOPER’s BLOG

技術ブログ

MCP実践:公式・SaaS・OSS、3つの導入方法を試す。第1部 公式Github MCPサーバー

2025.11.27 Takahisa Ogawa
生成AI
MCP実践:公式・SaaS・OSS、3つの導入方法を試す。第1部 公式Github MCPサーバー

  1. 1. はじめに
  2. 2. 公式GitHub MCPサーバーを使ってみよう
  3.  2-1. 準備フェーズ
  4.   ①GitHubでPersonal Access Tokenを作成
  5.   ②VS CodeにMCPサーバ情報を設定
  6.   ③作業対象のサンプルプロジェクトを作成
  7.  2-2. 実行フェーズ
  8. 3. まとめ

1. はじめに

ブログをご覧の皆さまこんにちは。エンジニアの小川です。

前回の記事ではMCPサーバーの概要と導入時の注意点について書きましたが、 今回はVS CodeやClaudeCodeから実際にMCPサーバーを使用して外部サービスと連携する方法を実践形式で解説します。

MCPサーバーには現在、大きく分けて3つの提供形態があります。

公式MCPサーバー:Anthropic社など、サービス提供会社が提供,公開しているMCPサーバー
SaaS型MCPサーバー:Zapier社等が提供するクラウドサービス
OSS MCPサーバー:GitHub等で公開されているオープンソースのコードを自分で構築・ホスティングする

これら3つの方法を実際に試してみて、それぞれの特徴と使い方を比較していきます。

本記事は第1部としてGitHub公式のMCPサーバーを使用した例を紹介します。
また本記事は主にVS CodeやClaude Codeの使用経験があるエンジニアの方を対象としています。

2. 公式GitHub MCPサーバーを使ってみよう

この項では以下の流れを行っていきます。

[準備フェーズ]
①GitHubでPersonal Access Tokenを作成
②VS CodeにMCPサーバ情報を設定
③作業対象のサンプルプロジェクトを作成

[実行フェーズ]
・GitHub Copilot Agentを使用してIssue情報を取得し、対応作業を実行して完了後にPRを出す。

2-1. 準備フェーズ

①Personal Access Tokenの作成
まずはGitHubでPersonal Access Token(PAT)を作成します。
今回は「Fine-grained personal access tokens」を使用しています。

github pat 作成

GitHub MCPサーバーを使用するにあたり、PATに以下の権限を付与します。

・Repository permissions
  └ Contents: Read and write
  └ Issues: Read and write
  └ Pull requests: Read and write
  └ Metadata: Read-only

②MCPサーバーの接続情報ファイルをVS Codeに設定
VS Codeのワークスペースに.vscode/mcp.jsonファイルを作成し、以下の内容を記述します。

VSCode MCP設定

{ "servers": { "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp/", "headers": { "Authorization": "Bearer <Enter your GitHub personal access token here>" } } } }

これでGitHub CopilotからGitHub MCPサーバを使用する準備は完了です。とても簡単ですね!

③作業対象のサンプルプロジェクトを作成
実際に操作する対象のサンプルプロジェクトを作成します。
今回は以下のような簡単なWEBページを(GitHub Copilotが)作成しました。

・GitHubリポジトリ: index.htmlのみ作成
GitHub Project

・作成したWEBページ: ユニバース不動産 トップページ
sample webページ

2-2. 実行フェーズ

実行フェーズでは以下の操作を行っていきます。

 ① GitHubにIssueを登録
 ② VS CodeのGitHub Copilot AgentでIssue情報を取得
 ③ Issueの対応作業を実行し、PRを作成する
 ④ PRの確認

①GitHubにIssueを登録

GitHubに行わせたい作業のIssueを登録します。
ここではデザインを青から赤に変更し、TOP画面のメッセージを変更する内容のIssueを登録しました。

GitHub Issue

② VS CodeのGitHub Copilot AgentでIssue情報を取得

それではGitHub Copilot Agentを起動し、MCPサーバー経由でIssue情報を取得させてみます。

VS Code GitHub Copilot Agent

正しくIssue情報が取得できました。出力からMCPサーバーを経由していることがわかります。

③ Issueの対応作業を実行し、PRを作成する

それでは実際にIssueの対応作業を実行させ、完了後にPRを作成させてみます。

copilot chat

出力されたメッセージは以下の通りです。

Issue #4の対応を開始します。まず現在のファイルを確認して、変更を適用します。 ToDo 項目が 5 件作成されました index.html の読み取り 開始 (デザインを青から赤に変更/2) 5 index.html+7-7 開始 (スナップショットを撮影/4) 5 ページをブラウザで開いてスナップショットを撮影してください。変更が完了しましたので、次にブランチを作成してPRを作成します。 git checkout -b feature/change-design-to-red cd /Users/takahisaogawa/Downloads/ブログ記事用/McpBlogSample && git add index.html && git commit -m "デザインを青基調から赤基調に変更し、メインキャッチコピーを変更 - ヘッダーの背景色を青系から赤系に変更 - ヒーローセクションの背景色を青系から赤系に変更 - セクションタイトルの色を青から赤に変更 - 特徴カードの見出し色を青から赤に変更 - コンタクトセクションの背景色を青から赤に変更 - メインキャッチコピーを「あなたの理想の住まいを見つけよう」から「あなただけのユニバースを見つけよう」に変更 Fixes #4" git push -u origin feature/change-design-to-red 変更をプッシュしました。次に、スナップショットを準備してからPRを作成します。 ブラウザで index.html を開いて、変更後のページのスクリーンショットを撮影し、画像ファイルとして保存してください。保存が完了したら、ファイル名を教えてください。PRにその画像を添付します。
>> [入力]画像はなしで 了解しました。画像なしでPRを作成します。 開始 (PRを作成/5) 5 完了 (PRを作成/5) 5 完了しました! PR #5 を作成しました: https://github.com/t-ogawa-dev/McpBlogSample/pull/5 実施した変更内容: デザインを青基調から赤基調に変更(ヘッダー、ヒーローセクション、タイトル、コンタクトセクションなど) メインキャッチコピーを「あなたの理想の住まいを見つけよう」から「あなただけのユニバースを見つけよう」に変更 PRには Fixes #4 を含めているため、マージすると自動的にIssue #4がクローズされます。

以上の出力からGitHub Copilot AgentがIssueの内容を理解し、対応作業を実行してPRを作成したことがわかります。

またGitHub Copilot Agentの処理途中に何度か操作確認のメッセージが表示されました。
データの読み取りには確認がありませんが、追加/変更系の処理、またターミナルの実行時には確認が入る仕様となっている様です。

④ PRの確認

最後にGitHub上でPRが作成されていることを確認します。

GitHub PR

fix after

PRと修正後の画面を確認すると、Issueで指定した内容が正しく反映されているようです。

ただし画面のスクリーンショットは正しく作成・アップロードできませんでした。
今回はチャットの途中で画像URLの入力を求められましたが、別のケースではPR内に存在しないURLを指定することもあり、このあたりはまだ正確さに欠けるようです。
これはGitHub Copilot Agentの現時点での制限事項と思われます。

3. まとめ

以上、GitHub CopilotのMCPサーバーを経由してIssue情報を取得し、作業を実行してPRを作成する例を紹介しました。

実は今回の内容に関しては、MCPサーバーを使用しなくてもGitHub CLIやgitコマンドで実現可能です。
実際MCPサーバーが利用できない場合、GitHub Copilot Agentは自動で処理方法を切り替えて動作します。

しかし、それでもMCPサーバーを使用することで以下のようなメリットがあります。

・統一されたインターフェースで複数のサービスと連携できる
・手元にGitHub CLIなどのツールをインストールする必要がない
・認証情報を一元管理できる
・今後のアップデートにより、MCPサーバーでしか実現できない機能が追加される可能性がある

特に複数の外部サービスを統合して利用する場合、MCPサーバーの真価が発揮されると考えられます。

今回はGitHub MCPサーバーを使って、MCPサーバーの基本的な使い方とGitHub Copilot Agentでどのように活用されるかを紹介しました。
次回はSaaS型MCPサーバーのZapier MCPを使用した例を紹介します。

関連記事

AWS Japan様と共催ワークショップ AIエージェントText2SQLでデータ分析

アマゾンジャパン品川オフィス3階 森のようなアトリウム はじめに Text2SQLとは ワークショップの内容 参加者の声 PoCから本格導入まで 1.はじめに 営業担当から突然、「この商品の半年分の売上推移のデータください」と言われ、思いがけないタイミングでデータ集計に時間を取られてしまう--。そんな依頼を様々な部署から受け、毎日追われている、というご経験がある方もいらっしゃるのではないでしょうか? こうした課題を解決する手段として注目

記事詳細
AWS Japan様と共催ワークショップ AIエージェントText2SQLでデータ分析
AWS 生成AI
PoCでは動いた生成AIが本番直前で崩れる理由 ― few-shotの限界 ―

はじめに 生成AIプロジェクトで起きがちなこと リリース前に起きる問題とよくある対応 本質的に必要なアプローチ おわりに 1.はじめに 「PoCではうまくいっていたのに、本番が近づくと急に問題が噴出する」 いくつかの生成AI案件を進める中で、この現象には共通する構造があることに気づきました。PoCでは「使えそう」だったものが、本番直前で「このままでは出せない」と判断されるのです。 原因はモデルの性能不足だけではありません。 多くの場合

記事詳細
PoCでは動いた生成AIが本番直前で崩れる理由 ― few-shotの限界 ―
コラム 生成AI
AWS Kiro Spec駆動開発とは - AIとの対話を構造化する新しいアプローチ

目次 はじめに Kiroについて 実際に触ってみた 感想 おまけ 1. はじめに AIを使用してコーディングする場面を思い浮かべてください。 コード生成した結果、周辺とは違った書き方をされたり、余計な箇所を直されたり、意図しない修正をされて困った経験はありませんか? 他機能への影響が限定的な箇所や、とても簡単な機能の修正は、思い通りにいくことが多いですが、 他機能への影響が大きい改修など、機能の複雑度が高くなればなるほど

記事詳細
AWS Kiro Spec駆動開発とは - AIとの対話を構造化する新しいアプローチ
体験記 生成AI
コード生成を安定させる3つのポイント:設計書・指示の出し方・セッション管理

はじめに ポイント1:設計書を書いてもらいましょう ポイント2:Geminiを使うときの指示の出し方 ポイント3:自分で修正したら「読み直して」と必ず伝える まとめ はじめに 生成AIを使ってコード生成や修正を行うことは、もはや特別なことではなくなってきました。 Gemini や CodeX、Copilot、Cursor など、選択肢も増え、「うまく使えばかなり楽になる」という実感を持っている方も多いと思います。 一方で、実際に使い込

記事詳細
コード生成を安定させる3つのポイント:設計書・指示の出し方・セッション管理
コラム 生成AI

お問い合わせはこちらから