VS CodeのGitHub Copilot Agent ModeでDatabricks MCPサーバーを使ってみる（Free Edition対応）

### はじめに

[DATA+AI SUMMIT 2025](https://www.databricks.com/dataaisummit)が開催中ということもあり、今月はアップデート盛りだくさんですね！まだすべてをキャッチアップしきれていませんが、**Databricks Free Edition**の発表は嬉しいニュースでした。また、**Databricks MCP**も気になっています。

そこで今回は、Databricks MCPをVS Codeの**GitHub Copilot Agent Mode**でセットアップし、Databricksの自然言語でデータ操作、分析ができる**Genie**とのツール連携を試してみました。Databricks Free EditionでさっそくGenieスペースを作成して試しましたが、製品版と基本的には同じはずです。

Databricks MCPにはマネージドMCPとカスタムMCPがあるようですが、今回はカスタムMCPのGithubリポジトリを利用させていただきました。

https://docs.databricks.com/aws/ja/getting-started/free-edition

https://docs.databricks.com/gcp/ja/generative-ai/agent-framework/mcp

https://github.com/databrickslabs/mcp/tree/master/examples/custom-server

-----

### 前提条件

このセットアップを進める前に、以下の準備ができているか確認してください。
* **Databricks CLI (v0.205以上)**:
    Databricksのコマンドラインツールを利用します。
    ```bash
    # ご自身のワークスペースURLに置き換えて認証を実行してください
    databricks auth login --host https://<DatabricksワークスペースURL>
    ```
<BR></BR>
* **`uv`インストール**:
    
https://docs.astral.sh/uv/getting-started/installation/

* **`mcp` リポジトリのクローン**:

    ```bash
    git clone https://github.com/databrickslabs/mcp.git
    ```
<BR></BR>
 * **Databricks Genieスペースの作成**:
    Genieと連携するには、事前にGenieスペースを作成しておく必要があります。今回は`samples.bakehouse`スキーマを設定しました。作成したGenieスペースのIDは、URL (`https://<databricks-instance>/genie/rooms/<space-id>`) の`<space-id>`部分から確認できます。このIDは、後述の`settings.json`の設定で必要になります。

https://docs.databricks.com/aws/ja/genie/

* **VS Code と GitHub Copilot Agent Mode**:
    最新版のVS Codeがインストールされており、GitHub Copilot拡張機能が有効化され、**Agent Mode**が利用できる状態になっているか確認してください。

https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode

-----

### 実行フロー

Databricks MCPサーバーをVS CodeのGitHub Copilot Agent Modeで起動し、Genieツールを認識させるまでの具体的な手順を説明します。

※この手順はあくまで一例です。Windows環境でのみ確認したので、ご自身の環境に合わせて適宜調整してください。また、この機能を利用するのは初めてのため、理解に誤りがあるかもしれません。その点についてはご容赦ください。

#### ステップ1: 必要なライブラリをインストールする

クローンした`mcp`リポジトリのルートディレクトリに移動し、`uv`を使って必要なライブラリ関係をインストールします。

```bash
# mcpのディレクトリへ移動（例: C:\Users\<ユーザー名>\mcp）
cd C:\\Users\\<ユーザー名>\\mcp

# 依存関係をインストール（pyproject.toml と uv.lock に基づいて）
# エラーが出る場合は uv.lock を削除して再実行してください
uv sync
```



#### ステップ2: Databricksの認証を設定する

Databricksワークスペースへの認証を確立します。OAuth認証の使用が推奨されます。

```bash
# ご自身のワークスペースURLに置き換えて認証を実行してください
databricks auth login --host https://<DatabricksワークスペースURL>
```

このコマンドを実行するとブラウザが開き、Databricksワークスペースへのログインが求められます。ログインが成功すると、認証情報がホームディレクトリにある`.databrickscfg`ファイルに保存されます。

#### ステップ3: VS Codeの`settings.json`を設定する

VS CodeでMCPサーバーを起動し、Databricksへの認証を確立するために、`settings.json`に以下のような設定を追加します。

settings.json (ユーザー設定例):
```json
{
    "mcp": {
        "servers": {
            "databricks_genie": {
                "command": "uv",
                "args": [
                    "--directory", "C:\\Users\\<ユーザー名>\\mcp",
                    "run",
                    "unitycatalog-mcp",
                    "-s", "<catalog名.schema名>",
                    "-g", "<Genie Space ID>"
                ],
                "env": {
                    "DATABRICKS_HOST": "https://<DatabricksワークスペースURL>",
                    "DATABRICKS_PROFILE": "<Databricks CLIプロファイル名>"
                }
            }
        }
    }
}
```

#### ステップ4: MCPサーバーを起動する

settings.jsonの起動ボタン、もしくはVS Codeのコマンドパレットから起動します。

![dbrx_mcp_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635931/d49e043b-3f73-43eb-8ed3-2e4652a0ce74.png)



正常に起動すると、以下のようなメッセージが出力パネルに表示されます。

```
[INFO] databricks.labs.mcp: Registered 9 tools: genie_start_conversation, genie_create_message, genie_get_message, genie_get_query_result, genie_execute_query, genie_get_space, genie_generate_download, genie_poll_until_complete, genie_list_spaces
[INFO] Discovered 9 tools
```

これらのメッセージが表示されれば、MCPサーバーは正常に起動し、GitHub Copilot Agent ModeがDatabricks Genieのツールを認識していることを意味します。

-----

### GitHub Copilot Agent Modeでの動作確認

サーバーが正常に起動すれば、VS CodeのサイドバーにあるGitHub Copilot Agent Modeのアイコンをクリックして対話を開始できます。

Copilotへのプロンプトで、以下のようなDatabricks Genieのツールを使った指示を試してみてください。



![dbrx_mcp_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635931/9fdb4c69-e4f0-4e90-a889-b5cc02996f00.png)

-----

### まとめ

本記事では、VS CodeのGitHub Copilot Agent ModeでDatabricks MCPサーバーを利用するフローを紹介しました。Free Edition環境であっても、製品版と同等の機能を試せるのは嬉しいですね。

今回は以前から試してみたいと思っていた、VS CodeのGitHub Copilot Agent ModeでDatabricks MCPサーバーと連携することに焦点を当てました。公式ドキュメントでは、カスタムMCPサーバーをDatabricksアプリとしてホストし、組織共有やサードパーティ統合に使う例も紹介されています。

また、Databricksがホスト・保守するマネージドMCPサーバーは、ベクトル検索、Unity Catalog関数、Genieスペースの機能が、リモートMCPとして、セキュアに利用できるようです。

今後はこれらのマネージドMCPサーバーや、独自のカスタムMCPサーバー構築といった多様な活用方法も探りたいと考えています。