はじめに
この記事では、VS CodeのGitHub Copilot Agent Modeを活用し、DatabricksマネージドMCP(Model Context Protocol)サーバーへ接続する方法を紹介します。DatabricksマネージドMCPサーバーへの接続方法について悩んでいる際に、以下の記事が非常に参考になりました。深く感謝いたします。
上記記事ではCursorやClaude Desktopでの接続例が紹介されていますが、VS CodeのGitHub Copilot Agent Modeからも同様に接続が可能です(補足:今回はWindows WSL + VS Code + Databricks Free Editionで検証しました)。
準備
1. 前提条件の確認
以下の環境が整っていることを確認してください。
- Visual Studio Code: 最新版がインストールされていること
- GitHub Copilot Chat拡張機能: VS Codeにインストールされていること
-
Node.js:
npx
コマンドを使用するため、Node.jsがインストールされていること - Databricksワークスペース: DatabricksマネージドMCPサーバーが利用可能なDatabricksワークスペースが用意されていること(今回はDatabricks Free Editionで試しました)
2. VS CodeのMCP設定
VS CodeのGitHub Copilot Agent ModeでMCPサーバーを認識させるためには、設定ファイルに以下のようなJSON設定を追加します (ワークスペース固有の設定として .vscode/mcp.json
に配置するか、ユーザー全体の設定として settings.json
に追加します)。
{
"servers": {
"uc-genie-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://<ワークスペースホスト名>/api/2.0/mcp/genie/<GenieスペースID>",
"--header",
"Authorization: Bearer <パーソナルアクセストークン>"
]
}
}
}
-
<ワークスペースホスト名>
:DatabricksワークスペースのURL(例:dbc-xxxx.cloud.databricks.com
) -
<GenieスペースID>
:Databricks UIからGenieスペースのIDを取得 -
<パーソナルアクセストークン>
:Databricksユーザー設定から生成したパーソナルアクセストークン(PAT)
また、npx mcp-remote
を使わずに、直接HTTP接続を行う方法もあります。その場合は、command
とargs
の代わりに"type": "streamable-http"
を指定します。
{
"servers": {
"uc-genie-mcp": {
"type": "streamable-http",
"url": "https://<ワークスペースホスト名>/api/2.0/mcp/genie/<GenieスペースID>",
"headers": {
"Authorization": "Bearer <パーソナルアクセストークン>"
}
}
}
}
Node.jsが不要なシンプルな設定で試したい場合はstreamable-http
も選択肢になります。
今回はGenieの例です。ベクトル検索やUnity Catalogの関数を利用する場合は、以下のリンク先もご参照ください。
起動
起動し、GitHub Copilot Agent ModeがMCPサーバーを認識しているか確認します。
動作確認
Github Copilot Agent Modeのチャット入力欄で質問をすると、設定したMCPサーバー経由でDatabricks Genieツールが呼び出され、Databricks上のデータや機能が活用されることを確認できます。
まとめ
この記事では、VS CodeのGitHub Copilot Agent ModeからDatabricksマネージドMCPサーバー(特にGenie)へ接続する手順を紹介しました。この連携により、開発者は使い慣れたVS Code環境からDatabricksの便利なMCPツール機能を直接活用できるようになります。
次は、Gemini CLI とDatabricks MCPサーバーの連携も試してみたいと考えています。