こんにちは。
アプリケーションサービス部、DevOps担当の兼安です。
AWSから発表されたMCP ServerをVisual Studio Code(以下、VS Code)で試したところ、設定の仕方で微妙な違いが現れることに気づいたので書かせていただきます。
- 本記事のターゲット
- 本記事の注意事項
- VS CodeのMCP Server(プレビュー版)とは
- MCP Serverの設定をフォルダの.vscode/mcp.jsonに記述した場合
- VS Codeで複数フォルダを開いた場合
- MCP Serverの設定をフォルダの.vscode/settings.jsonに記述した場合
- MCPの設定を.vscode/settings.jsonに記述して複数フォルダを開いた場合
- まとめ
- あとがき
本記事のターゲット
- MCP ServerをVS Codeで試してみたい方
- VS Codeの設定方法にある程度の理解がある方
本記事の注意事項
本記事で述べている内容は、2025年5月下旬時点の情報に基づいています。
2025年5月下旬時点では、VS CodeのMCPの機能はPreview版であり、将来的に変更される可能性があります。
本記事では、macOSのVS Code April 2025 (version 1.100)で動作確認しています。
MCP Serverの設定が効いているかどうかは、AWS MCP ServersとVS Codeで動かしたGitHub Copilot Agent Modeを利用して、AIアシスタントに質問してみることで確認しています。
VS CodeのMCP Server(プレビュー版)とは
VS CodeはMCP Serverを利用するための拡張機能をプレビュー版で提供しています。
VS CodeでMCP Serverを利用するためには、設定ファイルにMCP Serverの情報を追加する必要があります。
公式ドキュメントでは、.vscode/mcp.json
に設定を書くように記載されています。
Workspace settings: add a .vscode/mcp.json file in your workspace to configure MCP servers for a workspace and share configurations with team members.
私が試したところ、この設定はフォルダ単位で.vscode/mcp.json
や.vscode/settings.json
に書いても反応することを確認できています。
本記事では、フォルダ単位で.vscode/mcp.json
と.vscode/settings.json
、それぞれにMCP Serverの設定を記述した場合の差異について、実際に試してみた結果をまとめます。
MCP Serverの設定をフォルダの.vscode/mcp.jsonに記述した場合
まずは、MCP Serverの設定をフォルダの.vscode/mcp.json
に記述してみます。
VS Codeのドキュメントを参考に、フォルダのルートディレクトリに.vscode
ディレクトリを作成し、その中にmcp.json
ファイルを作成します。
folder_1/ └── .vscode/ ├── mcp.json └── settings.json
.vscode/mcp.json
ファイルの内容は以下のようになります。
{ "servers": { "awslabs.core-mcp-server": { "command": "uvx", "args": [ "awslabs.core-mcp-server@latest" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" } }, "awslabs.aws-documentation-mcp-server": { "command": "uvx", "args": [ "awslabs.aws-documentation-mcp-server@latest" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" } }, } }
設定内容はAWS MCP Serversの公式ドキュメントを参考にしていきます。
公式ドキュメントの書式と、VS Codeの設定方法に微妙な違いがあるので、修正していきます。
mcpServers
の部分は、servers
に変更します。
autoApprove
などは、VS Codeの設定だと「Property autoApprove is not allowed.」エラーが出るので削除します。
この状態で、VS Codeのコマンドパレットから「MCP: List Servers」を実行すると、設定したMCP Serverがリスト表示されます。


リストからMCP Serverを選択して、起動することができます。
これで、AIアシスタントを通じて、MCP Serverを利用することができます。

VS Codeで複数フォルダを開いた場合
今度は、複数のフォルダでそれぞれMCP Serverを設定し、VS Codeで同時に開いてみます。
先ほどの状態から、2つ目のフォルダをAdd Folder to Workspace…で開きます。
folder_1/ └── .vscode/ ├── mcp.json └── settings.json folder_2/ └── .vscode/ ├── mcp.json └── settings.json
コマンドパレットから「MCP: List Servers」を実行すると、両方のフォルダで設定したMCP Serverが表示されます。

この状態で、GitHub Copilot Agent ModeにMCP Serverを利用するよう指示すると、私が試した限りはコンテキストに与えたファイルが属するフォルダのMCP Serverの設定を見に行く挙動を確認しました。
この動きは使用するAIアシスタントやバージョンによって異なる可能性がありますので、断定は難しいですね。
MCP Serverの設定をフォルダの.vscode/settings.jsonに記述した場合
今度は、MCP Serverの設定をフォルダの.vscode/settings.json
に記述してみます。
この場合、フォルダの開き方によって差異が出ることを確認しているので、そのことを述べていきます。
folder_a/
└── .vscode/
└── settings.json # ここにMCP Serverの設定を記述
.vscode/settings.json
にMCP Serverの設定を記述する場合、mcp.json
に書く内容をmcp
の下に書きます。
{ "mcp": { "servers": { "awslabs.core-mcp-server": { "command": "uvx", "args": [ "awslabs.core-mcp-server@latest" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" } }, "awslabs.aws-documentation-mcp-server": { "command": "uvx", "args": [ "awslabs.aws-documentation-mcp-server@latest" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" } }, } } }
MCPの設定を.vscode/settings.jsonに記述してフォルダをOpen Folder…で開いた場合
この設定内容で、まずは1つだけフォルダを開きます。
新しいウィンドウを開き、フォルダをOpen Folder…で開きます。

適切にMCP Serverの設定が認識されています。

起動して、利用もできることが確認できました。
MCPの設定を.vscode/settings.jsonに記述してAdd Folder to Workspace…で開いた場合
また新しいウィンドウを開き、フォルダを今度はAdd Folder to Workspace…で開きます。

VS Code上で開いたフォルダの.vscode/settings.json
を確認すると、記述したMCP Serverの設定が薄く表示されました。
これは今までの設定とは異なる挙動ですね。

カーソルを合わせると以下のメッセージが表示されました。
This setting cannot be applied in this workspace. It will be applied when you open the containing workspace folder directly.
MCP Serverの認識はされているようで、利用もできるようです。
ただ、mcp.jsonと表示されるのは気になりますね。
実際設定を書いているのは、.vscode/settings.json
です。

.vscode/settings.json
開いた時に表示されていたメッセージの通り、この書き方のMCP Serverの設定は、本来ワークスペース単位で、フォルダを直に開く時に適用されるもののようです。
VS Codeの設定画面でMCPの項目を見ると、Folder単位の設定がありません。


複数のフォルダを開く場合(ワークスペースを作って複数フォルダを管理する場合)は、ワークスペースの設定ファイル(.code-workspace
)か、さらに上位のユーザー単位の設定に記述するのが正しいのでしょう。
この挙動自体は、VS Codeの他のワークスペース単位の設定と同じのようです。
上記メッセージが表示されている状態だと、動作はするようですが、少々気になりますね。
MCPの設定を.vscode/settings.jsonに記述して複数フォルダを開いた場合
一応、このまま複数のフォルダを開いてみます。
2つのフォルダはどちらも.vscode/settings.json
にMCP Serverの設定を記述しています。
folder_a/ └── .vscode/ └── settings.json folder_b/ └── .vscode/ └── settings.json
先ほどの状態から、2つ目のフォルダをAdd Folder to Workspace…で開きます。
割愛しますが、同じようにvscode/settings.json
のMCP Serverの設定が薄く表示されました。
メッセージも同様に表示されます。
設定の認識自体はしているようで、それぞれのフォルダのMCP Serverを起動することができました。

まとめ
フォルダ単位でMCP Serverの設定をする場合、設定の書き方によって、以下のような違いがありました。
MCP設定の記述先 | VS Codeの開き方 | MCP Serverの動作 | 設定ファイル上の表示 |
---|---|---|---|
.vscode/mcp.json |
Open Folder | ○ | 通常表示 |
.vscode/mcp.json |
Add Folder to Workspace | ○ | 通常表示 |
.vscode/settings.json |
Open Folder | ○ | 通常表示 |
.vscode/settings.json |
Add Folder to Workspace | ○ | 薄く表示されて警告表示 |
わかりやすさの観点からすると、現時点では公式ドキュメントの記載の通り、.vscode/mcp.json
に設定を記述するのが良いでしょう。
あとがき
今回の記事を書く前に、気づいたことがあります。
私は昔からの癖で、VS Codeは必ずワークスペースを作って作業しています。
これは、案件ごとにVS CodeのColor Themeを分けて、今何をしているかを視覚的にわかりやすくするためです。
自分の中ではこのスタイルが普通だったのですが、今回周りの話を聞いてみるとワークスペースを使わない人も多いことに気づきました。
自分の中の普通は他の人にとっては普通ではないこともあることを再認識しました。
一方で、ワークスペースを使っていなかったら、設定の記述先により差異が出ることに気づかなかったかもしれませんね。