🎯

VS Code 1.101 の MCP 関連のアップデートを試す

に公開

はじめに

VS Code 1.101 では MCP に関していくつかのアップデートがありました。その中から、新たにサポートされた MCP 機能(resources,prompts,sampling)、および、OAuth 2.0 を利用したリモート MCP サーバへのアクセスを試していきたいと思います。

すべての 1.101 のアップデート内容はこちらから確認できます。

アップデート内容の抜粋

The Complete MCP Experience: Full Specification Support in VS Code」から今回検証する機能のアップデート内容を抜粋します。

5 月に導入した初期ツールとワークスペース認識に加え、認証、プロンプト、リソース、サンプリング機能もご利用いただけるようになりました。これらの追加機能により、MCP は個別のツールセットから、AI エージェント統合のための包括的な標準へと進化します。

ストリーミング可能な HTTP トランスポート(以前のバージョンで導入)と組み合わせることで、エンタープライズグレードのセキュリティを維持しながら、独立してスケーリング可能なリモート MCP サーバーを実現できます。GitHub MCP サーバーはこの進化を完璧に体現しています。VS Code の既存の GitHub 認証とアカウント管理機能を活用した適切な OAuth 統合を備えたリモートサーバーとして利用できるようになり、リポジトリへの安全な接続と課題追跡が可能になります。

リモート MCP サーバーへのOAuthを利用したアクセス確認

Remote GitHub MCP Serverの概要

2025 年 6 月 12 日にGithub MCP のリモート MCP サーバーが公表されましたので、今回はこちらを利用します。なお、リモート GitHub MCP サーバーでの認証には「OAuth 2.0」と「Personal Access Token (PATs)」を利用できますが、上記のリンク内では、OAuth 2.0 が推奨されていますので、今回の構成では OAuth を利用します。リモート GitHub MCP サーバーは、近日中に Proof Key for Code Exchange(PKCE、「ピクシー」と発音)にも対応予定とのことです。

Remote GitHub MCP Server の設定手順

  1. OAuth を使用するリモート MCP サーバーの構成」の手順に従い、VS Code に Github MCP サーバーを追加します。settings.json に以下の定義が追加されます。
      "my-mcp-server-f60e358d": {
        "url": "https://api.githubcopilot.com/mcp/"
      }
  1. Github への認証を促すポップアップが表示されるので、「許可」をクリックします。

  2. ブラウザで Github の認証画面が表示されるので、アカウントを選択して続行します。

  3. パーミッションの確認画面が表示されるので、内容を確認し、「Authorize Visual-Studio-Code」をクリックします。

  4. パスワードを入力します。私の環境ではパスワードですが、Github アカウントの設定によっては SSO の認証画面が表示されることもあるかと思います。

  5. 「Visual Studio Code を開く」をクリックして、VS Code を開きます。

  6. VS Code のアカウントをクリックすると、「信頼された MCP サーバーの管理」が追加されており、「信頼された MCP サーバーの管理」をクリックすると、先ほど追加した MCP サーバーが表示されていることが確認できます。

Tools,Resources,Prompts,Samplingの機能確認

Tools

Toolsとは LLM が MCP サーバー経由で実行できるアクションのことです。Tools については以前の VS Code のバージョンから利用可能でしたが、ここでは基本的な機能から確認するために、利用できるツールの一覧を確認してみます。Github Copilot Chat の画面から、「ツールの構成」をクリックします。

MCP サーバーで利用できるツールの一覧が確認できます。

試しに、自身の Github アカウント情報を取得する「get_me」というツールを利用してみます。
Chat で#{ツール名}と入力することでツールを呼び出しすることができます。あるいは、「私のGithubユーザー情報を教えて」というプロンプトを実行することで LLM が必要なツールを呼び出し、同様の回答を得ることもできます。VS Code での MCP サーバーの使い方の詳細はこちらをご覧ください。

「get_me」のツールを実行した際のリクエストを Fiddler というツールで確認してみると、以下の HTTP ヘッダが確認できました。Authorization: Bearerでトークンを渡していることが分かります。

GET https://api.github.com/user HTTP/1.1
Host: api.github.com
Connection: keep-alive
accept: application/vnd.github+json
authorization: Bearer <token>

Resources

Resourcesとは、MCP サーバーからクライアントに公開されるデータを指します。公開されたデータは LLM との対話におけるコンテキスト(モデルが文章生成や質問応答を行う際に考慮する周辺情報)として利用できます。

Github Copilot Chat から、「コンテキストの追加」→「MCP リソース...」で利用できます。

利用可能なリソースの一覧が表示されるので、今回は「Repository Content」を使ってみます。
「Repository Content」は、特定のパスにあるリポジトリのコンテンツを取得します。

「Repository Content」をクリックすると、以下のパラメーターが要求されるので入力します。

  • owner: リポジトリオーナー
  • repo: リポジトリ名
  • path: ファイル名またはディレクトリ(ここではtest.pyを指定)

事前にtest.pyというファイルを作成しておきましたので、Chat にtest.pyがコンテキストとして追加されていることが確認できます。この状態で、「test.pyの内容を教えて」のように追加されたコンテキストの内容を LLM との対話に利用することができます。

Github MCP で利用可能な Tools および Resources については以下をご参照ください。
https://github.com/github/github-mcp-server

Prompts

Promptsとは、MCP サーバーがクライアントに対して公開できるプロンプトテンプレートのことです。テンプレートを利用することでユーザーは毎回詳細な指示を入力することなく、決まったタスクを効率的に実行できます。

Github MCP サーバーでは Prompts を提供していないので、ここでは、Everythingという MCP サーバーを利用します。Everything では、以下の Prompts を利用可能です。

  • simple_prompt:引数無しの Prompt
  • complex_prompt:引数ありの Prompt
  • resource_prompt:リソース参照を含める Prompt

Chat から、/mcp.{MCPサーバー名}{プロンプト名}で呼び出すことができます。

complex_promptを利用すると、ユーザーからの入力を Input として以下のプロンプトが生成されます。

--USER
This is a complex prompt with arguments: temperature=0.7, style=formal

--ASSISTANT
I understand. You've provided a complex prompt with temperature and style arguments. How would you like me to proceed?

Sampling

Samplingとは、MCP サーバーがクライアントに対して LLM の推論を要求する機能です。MCP サーバーがユーザーに追加情報を求める必要がある場合、あるいは、複雑な問題を解決するために LLM の推論が必要な場合などがケースとして想定されます。ただし、2025 年 6 月時点では Sampling を実装している MCP サーバーはほぼ無いので、具体的なユースケースやセキュリティ上の問題等は今後の議論を待ちたいと思います。

Everything では、sampleLLMというツールで sampling 機能が実装されています。
#sampleLLM 日本で最も高い山は」というプロンプトを実行してみます。


まとめと今後の方針

MCP の基本機能に触れながら VS Code の新バージョンのアップデート内容を確認しました。今回は MCP の機能を触ってみるにとどまりましたが、AI エージェントや MCP の登場によって明らかとなっている、セキュリティの問題や脅威などについても OWASP 等で議論が進んでいる状況です。今後は、それらの議論もキャッチアップしつつ、発信していきたいと思います。

https://arxiv.org/abs/2504.08623
https://genai.owasp.org/2025/04/22/securing-ais-new-frontier-the-power-of-open-collaboration-on-mcp-security/

株式会社プログデンス
設定によりコメント欄が無効化されています