SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【MCPサーバー開発入門】

Anthropic発「MCP」とは何か? 基本概念から実践まで一気通貫で解説

【MCPサーバー開発入門】第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

MCPを使ってみよう

 このセクションでは、MCPの基本的な使い方を学んでいきます。ここでは、VSCodeとGitHub Copilotを利用してMCPサーバーとクライアントを構築し、LLMが外部ツールと連携する様子を体験します。

GitHub CodespacesでTime MCPサーバーを試す(ステップバイステップ)

 ここではローカル環境を一切汚さずに動作確認できるよう、GitHub Codespacesと事前構成済みリポジトリを使います。ブラウザさえあれば動くので、最小限の設定で再現できます。

 今回使用するリポジトリは以下です。これをフォークしてCodespacesを起動し、MCPサーバーを体験します。

1.リポジトリをフォークする

1.ブラウザでtime-mcp-server-codespacesを開きます。

2.右上のForkボタンを押し、自分のアカウントにフォークを作成します。

2.ForkしたリポジトリでCodespacesを起動

1.フォーク側のリポジトリページでCode→Codespaces→Create codespace on mainをクリック。

Codespacesを開く
Codespacesを開く

2.数十秒〜数分ほどでブラウザ版VSCodeが自動起動し、Dev Containerのビルドが完了するとエディタ画面が表示されます。

  • 初回は画面左下に「リモートを開いています...」と出るので待機します。
  • ビルド完了後、左下の緑色ステータスバーに「Codespaces: ○○」と表示されれば準備完了。

Dev Container内には実行ランタイムuvとMCP CLIなどの必要ツールがプリインストール済みです。

3..vscode/mcp.jsonにTimeサーバー設定を追加

1.エクスプローラーで.vscode/mcp.jsonを開く

  デフォルトは次の空テンプレになっています。

   {
     "servers": {}
   }

2.内容を下記に置き換えて保存する

   {
     "servers": {
       "time": {
         "command": "uvx",
         "args": ["mcp-server-time"]
       }
     }
   }
  • uvxはフォークしたリポジトリのDev Containerに入っているランタイムマネージャーuvのエイリアスです。
  • mcp-server-timeはTime MCPサーバー実装を起動するエントリーポイントとなっています。

3.timeの上に「起動」が表示されるのでクリックしてサーバーを起動

Time MCPサーバーを起動する
Time MCPサーバーを起動する

4.GitHub CopilotエージェントモードでMCPサーバーを利用

1.右上ツールバーのGitHub Copilotアイコンをクリックしてチャットペインを開く。

2.チャット右上のドロップダウンからAgentモードを選択。

3.メッセージ欄に日本語で構わないので例を入力:

    東京の現在時刻を教えて
GitHub Copilotエージェントモードを開く
GitHub Copilotエージェントモードを開く

4.Copilotがget_current_timeを実行してよいか?という旨の確認ダイアログを出すので「続行」を選択します。

MCPツール実行を許可する
MCPツール実行を許可する

5.チャットに現在時刻(例:2025年6月13日01:08)が返ってくれば成功です。

GitHub Copilotの応答
GitHub Copilotの応答

ツールが認識されない場合のヒント

  • .vscode/mcp.jsonを保存し忘れていないか確認
  • .vscode/mcp.jsontimeが稼働中になっているか確認
  • Codespacesを再読み込みすると環境変数やPATHが再適用される場合があります

 これでGitHub Codespaces+VSCode+GitHub Copilotという完全クラウド環境でTime MCPサーバーが動作する一連の流れを体験できました。ローカルPCにPythonやuvを入れる必要もなく、ブラウザだけで試せるのでチーム内ハンズオンにも最適です。

まとめ

 今回は、MCP(Model Context Protocol)の基本概念とその導入方法について解説しました。MCPはLLMと外部ツールを統合するための共通プロトコルであり、開発者にとっては組み合わせ爆発の解消やプラグアンドプレイ型の拡張性を提供します。

1. 組み合わせ爆発の解消

  各LLMと外部ツールを個別に統合する従来方式を、共通プロトコルによるM+N体制へ転換します。これにより実装規模を最小化でき、開発計画の見通しが大幅に改善されます。

2.プラグアンドプレイ型の拡張性

  MCPサーバーを追加するだけで、複数のLLMクライアントが同一インターフェースで新しい機能を利用できます。既存資産を横展開しやすく、サービス提供速度の向上に直結します。

3. 運用・保守の効率化

  標準化された呼び出し、スキーマと自己記述的メタデータにより、バージョン差異の吸収や変更影響の局所化が容易になります。結果として、長期的な運用コストと保守負荷を抑制できます。

 次回以降は、外部サービスと連携する自作MCPサーバーの開発に進み、どのようにMCPを活用してLLMアプリケーションを拡張できるかを具体的に学んでいきます。MCPの可能性を最大限に引き出すため、ぜひ一緒に学んでいきましょう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

百田 涼佑(ヒャクタ リョウスケ)

 日本マイクロソフト株式会社 クラウドソリューションアーキテクト。生成AIやアプリケーション開発、開発プロセス自動化から監視・認証まで、幅広い技術支援に携わる。個人としては技術記事の執筆が好きで、関心のある技術をプロトタイピングしながら日々ナレッジを発信している。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21808 2025/08/01 18:17

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング