GitHub CopilotでDatabricks開発を進める方法|VS Code連携・公式スキル・MCP接続【2026年8月版】
DatabricksのコードをGitHub Copilotに書かせようとすると、二段構えの壁に当たります。ワークスペースのノートブックはブラウザ上で動くためVS Codeの拡張であるCopilotは入りません。かといってローカルのVS CodeでCopilotを使っても、Copilotは自社のUnity Catalogにどんなテーブルがあるかを知らず、Databricks CLIの現行コマンド体系も学習時点の情報に依存するため、それらしいが動かないコードになりがちです。2026年8月時点では、この壁を越える経路が3つ公式に用意されています。Databricks拡張での接続、公式スキルによる作法の読み込み、managed MCPサーバ経由でのカタログ参照です。本記事は3経路の役割分担と設定手順、ワークスペース内蔵のGenie Codeとの線引きを、公式ドキュメントの実コマンドで整理します。
まとめ:GitHub CopilotとDatabricksをつなぐ前に押さえる4点
- 経路は3つ、役割が違う:Databricks拡張=実行環境の接続、公式スキル=Databricks固有の書き方の学習、managed MCP=自社データのメタデータ参照。ローカルのコードをリモート実行したいだけなら拡張だけで足りますが、提案の中身まで変えたいなら残る2つが要ります。
- Copilotが担うのはリポジトリ管理下のコード:ワークスペース内のノートブックやSQLエディタでの探索はGenie Codeの領分です。両者を同じ用途で並べると課金だけが二重になります。
- 製品名が入れ替わっている:Delta Live Tables(DLT)は現在Lakeflow Spark Declarative Pipelines、Asset Bundlesは2026年にDeclarative Automation Bundlesへ改称されました。旧名で書かれた記事のコマンドをそのまま貼ると噛み合いません。
- カスタム指示はインライン補完には効かない:
.github/copilot-instructions.mdが反映されるのはチャットとエージェントのみです。「規約を書いたのに補完が変わらない」の代表的な原因がこれです。
GitHub CopilotとDatabricksをつなぐ3つの経路
最初に全体像を押さえます。3つは代替関係ではなく、それぞれ別の欠落を埋める補完関係です。
| 経路 | 入れるもの | 解決する欠落 | 2026年8月時点の提供状況 |
|---|---|---|---|
| Databricks拡張 | VS Code拡張 v2.12.4 | ローカルコードのリモート実行・デバッグ | プレビュー表記なし |
| 公式スキル | databricks-agent-skills | Databricks固有のAPI・作法の知識 | 配布プラグインはCopilot CLIがGA/VS Codeはプレビュー |
| managed MCP | Genie・SQL等のMCPサーバ | 自社カタログのテーブル・指標の参照 | パブリックプレビュー |
ローカルIDE経路:Databricks拡張によるワークスペース接続
Databricks公式のVisual Studio Code拡張は、ローカルのVS CodeまたはCursorからリモートのワークスペースへ接続する部品です。ローカルのPythonファイルをクラスターやサーバーレスコンピュートで実行する、ノートブックをジョブとして走らせる、Databricks Connectでセル単位にデバッグする、ワークスペースフォルダーと同期する。これらをエディタ側から行えます。Visual Studio Marketplace APIで2026年8月6日に取得した値では、最新版が2.12.4(2026年7月30日更新)、インストール数は約38万件、評価は3.64(25件)でした。
ただしこの経路が埋めるのは「実行」だけで、コードの中身には関与しません。拡張を入れただけではCopilotの提案精度は変わらず、次の2経路が要ります。
知識経路:公式スキルによるDatabricks作法の読み込み
Databricksは自社製品向けの知識をエージェントスキルとして公開しています。フロントマターつきのMarkdownファイルで、AIコーディングアシスタントがタスクに応じて自動で読み込む形式です。公式ドキュメント(2026年8月5日更新)はClaudeと並べてGitHub Copilotを対象アシスタントとして名指ししています。配布元はdatabricks/databricks-agent-skillsリポジトリで、2026年8月6日時点の最新リリースはv0.2.10(2026年7月16日公開)、Bundles・Lakeflow Jobs・Unity Catalog・Databricks SQL・Icebergなど30近い安定版スキルを含みます。
データ経路:managed MCPサーバによるカタログ参照
managed MCPサーバは、Unity Catalogのデータやfunctions、AI Searchインデックス、Genie AgentへAIエージェントからアクセスさせるための、Databricks側がホストするMCPサーバです。提供段階はパブリックプレビューで、権限はUnity Catalogがそのまま効く形です。VS CodeのCopilotはMCPクライアントとして動くので、このURLを設定に書けばチャットから自社のテーブル定義や指標を参照させられます。権限設計の前提はUnity Catalogとは?3レベル名前空間と権限継承・移行判断を実装視点で解説【2026年版】が参考になります。
VS CodeでDatabricks拡張とGitHub Copilotを動かす手順
GitHub Copilot側の前提
先にCopilotを使える状態にします。VS Codeの拡張機能ビューでGitHub Copilotをインストールし、GitHubアカウントでサインインして、Copilotのライセンス(個人プランまたは組織から割り当てられた席)が有効であることを確認します。ここが済んでいないと、以降の設定を入れてもチャットもエージェントも起動しません。
Databricks CLIのインストールとOAuthログイン
拡張の認証はDatabricks CLIの構成プロファイルを共有します。CLIは2026年8月6日にv1.11.0がリリースされており、公式スキルのインストールにもv1.0.0以上が要求されるため、古い0.2xx系を使っている場合は先に更新してください。
ワークスペースレベルのOAuth U2M認証は次のコマンドです。ブラウザが開き、完了するとホスト名とプロファイル名が保存されます。
databricks auth login --host https://dbc-a1b2345c-d6e7.cloud.databricks.com
ここで実務上効いてくる仕様が1つあります。CLI v1.0.0以降、U2Mのトークンは.databrickscfgではなくOSのセキュアストレージ(macOSはKeychain、WindowsはCredential Manager、LinuxはD-Bus Secret Service)に保存されます。設定ファイルにはホスト名とプロファイル名しか残りません。トークンをファイルから読む前提で組んだ社内スクリプトは、この時点で壊れます。ヘッドレスのCI環境などセキュアストレージが使えない環境では、ファイル保存へフォールバックする設定が別途必要です。
複数プロファイルを使い分ける場合は、各コマンドに--profile(短縮形は-p)を渡します。
databricks clusters list -p dev-workspace
拡張のプロジェクト設定とクラスター選択
公式チュートリアルの手順は次のとおりです。VS Codeで空のフォルダーを開き、サイドバーのDatabricksアイコンから拡張を開きます。Configurationビューの「Create configuration」を選ぶとコマンドパレットが開くので、Databricks HostにワークスペースのインスタンスURL(例:https://dbc-a1b2345c-d6e7.cloud.databricks.com)を入力し、先ほどの認証プロファイルを選択。続いて「Select a cluster」または歯車アイコンの「Configure cluster」でクラスターを指定し、停止していれば「Start Cluster」で起動します。
Databricks Connectでのローカル実行とデバッグ
接続が済めば、ローカルのPythonファイルをそのままリモートのコンピュートで実行できます。公式チュートリアルが使うのは、PySparkのDataFrameを作って表示するだけの最小コードです。
from pyspark.sql import SparkSession
from pyspark.sql.types import *
spark = SparkSession.builder.getOrCreate()
schema = StructType([
StructField('CustomerID', IntegerType(), False),
StructField('FirstName', StringType(), False),
StructField('LastName', StringType(), False)
])
data = [
[1000, 'Mathijs', 'Oosterhout-Rijntjes'],
[1001, 'Joost', 'van Brunswijk'],
[1002, 'Stan', 'Bokenkamp']
]
customers = spark.createDataFrame(data, schema)
customers.show()
エディタのタブ横にある「Run on Databricks」アイコンから「Upload and Run File」を選ぶと、ファイルがアップロードされて実行され、出力はDebug Consoleビューに表示されます。エクスプローラーでファイルを右クリックしても同じメニュー。この最小コードが通れば、認証・クラスター・同期の3点を同時に検証できたことになります。Copilotの設定に進む前に、必ずここまでを通してください。読み書きするテーブルの形式そのものを確認しておきたい場合は、Delta Lakeとは?データレイクに信頼性を与えるオープンテーブルフォーマットを実装視点で解説が前提知識の整理に使えます。
Copilotが書いたコードをDatabricksで実行するまでの流れ
単発実行とジョブ実行の使い分け
同じ「Run on Databricks」メニューに実行方法が2つ並びます。「Upload and Run File」はその場で実行して結果をDebug Consoleへ返す動作確認向け、「Run File as Workflow」はDatabricksジョブとして実行し結果を別タブに開きます。後者はスケジュール実行や通知の対象になる本番ジョブと同じ経路を通るので、ジョブとして成立するかの確認向き。Copilotに書かせた直後は前者、レビュー後は後者、と切り替えるのが手戻りの少ない順序です。
Declarative Automation Bundlesでのジョブ定義
単発実行のままではCI/CDに載りません。ジョブやパイプラインをコードとして宣言するのがDeclarative Automation Bundles(旧Asset Bundles)で、CLIのコマンドグループ名は改称後もbundleのままです。設定はdatabricks.ymlに書き、ターゲットを指定してデプロイします。
databricks bundle deploy -t dev
バンドルフォルダー内でコマンドを実行すると、認証にはdatabricks.ymlの設定が使われます。別の認証で動かしたいときは--profileを指定し、--targetは指定しない、という組み合わせが公式の案内です。ここはCopilotに丸投げすると旧名称のAsset Bundles前提のYAMLを出しがちな箇所なので、次章のスキル導入が効いてきます。
Databricks固有のコード精度を上げる設定
ここからが提案の中身を変える作業です。3つとも設定ファイルかコマンド1行で終わりますが、効く範囲が違います。
公式スキルの導入
Databricks CLIのaitoolsコマンドグループが、検出したコーディングエージェントのスキルディレクトリへ公式スキルを書き込みます。
databricks aitools install
databricks aitools install --agents claude-code
databricks aitools install --scope project
databricks aitools install --skills bundles,sql
GitHub Copilotはプラグインマーケットプレイス経由でも導入できます。
copilot plugin marketplace add databricks/databricks-agent-skills
copilot plugin install databricks@databricks-agent-skills
提供段階は面ごとに違います。リポジトリのREADMEによれば、プラグインはCopilot CLIではGA、VS Codeのエージェントプラグインはプレビュー(拡張機能ビューからもインストール可)です。github.com上のCopilotクラウドエージェントはプラグインを受け付けないため、その面ではスキルを対象リポジトリの.github/skills/へ直接置きます。チームで同じ挙動を期待するなら、この差を先に共有してください。なお、コミュニティ由来のAI Dev Kit skillsは非推奨となり公式スキルへ統合されたので、公式スキルを入れる前にアンインストールが要ります。
プロジェクト規約のカスタム指示化
スキルが埋めるのはDatabricks一般の作法で、自社の命名規則やカタログ構成は埋まりません。そこはVS Code側のカスタム指示に書きます。ワークスペース全体へ常時適用されるのは.github/copilot-instructions.mdで、複数エージェントを併用する場合はAGENTS.mdも常時適用されます(Claude系との互換でCLAUDE.mdも読まれます)。
# Databricks開発の規約
- 対象ワークスペースは dev-workspace プロファイル
- テーブル参照は必ず catalog.schema.table の3レベルで書く
- パイプラインは Lakeflow Spark Declarative Pipelines を使う(DLTは旧称)
- ジョブ定義は databricks.yml に集約し、ノートブック直書きは禁止
制約が1つあります。カスタム指示はエディタでのインライン補完には反映されません。効くのはチャットとエージェントに対してだけです。この非対称を見落とすと「規約を書いたのに補完がまったく従わない」という誤解が起きやすくなります。
managed MCPサーバへの接続
最後にデータ側をつなぎます。Databricksのmanaged MCPサーバは用途別にURLが決まっており、on-behalf-of userの認証を使う場合はサーバごとに対応するOAuthスコープを含めます。
| サーバ | URLパターン | OAuthスコープ |
|---|---|---|
| Genie One | /api/2.0/mcp/genie | genie |
| Genie Agent | /api/2.0/mcp/genie/{genie_space_id} | genie |
| AI Search | /api/2.0/mcp/ai-search/{catalog}/{schema}/{index_name} | ai-search |
| Databricks SQL | /api/2.0/mcp/sql | sql |
| Unity Catalog functions | /api/2.0/mcp/functions/{catalog}/{schema}/{function_name} | unity-catalog |
VS Code側はワークスペースの.vscode/mcp.jsonに書きます。URLだけでは接続できず、認証情報が要る点に注意してください。Databricksの公式手順は、クライアントがカスタムヘッダーに対応している場合はパーソナルアクセストークンをAuthorizationヘッダーのベアラートークンとして渡す、と案内しています。個人開発で手早く試すなら次の形です。
{
"servers": {
"databricks-sql": {
"type": "http",
"url": "https://example.cloud.databricks.com/api/2.0/mcp/sql",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
ただしトークンをソース管理下のファイルに直書きするのは避けてください。VS Codeの設定ファイルは入力変数や環境ファイルを参照できるので、機微な値はそちらへ寄せます。
チームや本番で使うならOAuthです。公式はスコープ制限とトークン自動更新を理由にOAuthを推奨し、パーソナルアクセストークンは個人開発やテスト向けと位置づけています。OAuthの場合はアカウント管理者にDatabricks OAuthアプリケーションを作成してもらい、クライアントのリダイレクトURLを登録したうえで、クライアントIDを設定に渡す流れ。コーディングエージェント向けには、Databricks CLIのログインを流用してOAuthアプリの作成もトークン管理も省けるucodeという接続ツールも公式に案内されています。なお、ワークスペースにIPアクセスリストを設定している場合は、クライアント側の送信元IPを許可リストへ追加しない限り接続できません。
VS CodeでAgent Hostを有効にしている場合、Agent Hostは.vscode/mcp.jsonを直接読みません。Agent Hostと他のCopilotツールの双方で使い回すなら、ワークスペース直下の.mcp.jsonかユーザーの~/.copilot/mcp-config.jsonに置きます。
GitHub CopilotとGenie Codeの使い分け基準
ここが判断の分かれ目です。結論から言えば、Gitリポジトリで管理するコードはGitHub Copilot、ワークスペース内で完結する探索とパイプライン編集はGenie Codeで、両方を同じ作業に当てる構成は勧めません。
作業場所による線引き
Genie CodeはDatabricksワークスペース内の開発者向けAIアシスタントです。ノートブック、SQLエディタ、Lakeflow Pipelines Editor、AI/BIダッシュボード、MLflowの各画面で動き、Unity Catalogのテーブル・カラム・リネージを直接扱います。チャットは画面を移動しても保持され、権限はUnity Catalogの設定に従うため、ユーザーが見られないデータには触れません。
一方GitHub Copilotが強いのは、リポジトリ全体の文脈を持ったコード生成、テストやCI設定の作成、複数ファイルにまたがるリファクタリング。バンドル定義やジョブのソースをGit管理している組織では、この領域がそのまま日常業務になります。両者は画面が分かれているので操作上は競合しません。判断が要るのは「ETLコードをどちらで書くか」の一点です。
課金構造を踏まえた線引き
Genie Codeは2026年7月8日00:00 UTCから従量課金へ移行し、ユーザーごとの月次無料枠が付く形になりました。アカウント管理者は予算とコスト管理を設定できます。Genie OneとGenie Agentsの利用は2027年1月31日まで無料ですが、サービスプリンシパルはこの無料期間の対象外で課金されます。Azure上で運用している場合は課金体系がAzure側の契約に紐づくため、Azure Databricksとは?料金・Azure連携・Databricks本体との違いと導入判断【2026年7月時点】もあわせて確認してください。
つまり、GitHub Copilotの席料を払ったうえで日常のコード生成までGenie Codeに寄せると、無料枠を超えた分がそのまま二重コストになります。逆に、カタログのメタデータやリネージを大量に参照する探索作業をCopilot側で無理に再現すると、MCP経由の呼び出しがサーバ種別ごとの課金を呼びます。Unity Catalog functionsはサーバーレス汎用コンピュート、Genie AgentsはサーバーレスSQLコンピュート、Databricks SQLサーバはDatabricks SQLの料金、AI SearchはAI Searchの料金です。コード資産の置き場所で担当を割り、両方に同じ仕事をさせないのが、コストと精度の両方で妥当な設計です。
GitHub Copilot・Microsoft 365 Copilot・Copilot Studioの役割分担
「Copilot」の名を持つ製品が複数あるため、Databricksと組み合わせる文脈でも混同が起きます。役割は明確に分かれます。
| 製品 | 役割 | Databricksとの関係 |
|---|---|---|
| GitHub Copilot | IDEでのコード生成 | 拡張・スキル・MCPで連携 |
| Microsoft 365 Copilot | 業務文書の支援 | コード生成は対象外 |
| Copilot Studio | 業務エージェント構築 | Genie Agentsを利用 |
「Databricksのデータで社内向けの問い合わせエージェントを作りたい」はCopilot Studio側の要件で、本記事のIDE連携とは経路が別です。Copilot StudioでGenie Agentsをツールとして使うには、Microsoft Power PlatformでDatabricks接続を作ったうえで、ワークスペース側でManaged MCP Serversのプレビューを有効化する必要があります。ここを切り分けずに拡張の設定を詰めても目的には届きません。GitHub Copilot自体の機能変化はMicrosoft Build 2026のGitHub・GitHub Copilot発表まとめ|企業の導入判断と新機能で追えます。
Copilotの提案がDatabricksで動かないときの確認箇所
設定は入れたのに期待どおりに動かない場合の切り分けです。上から順に潰すと原因が絞れます。
- 補完だけが規約に従わない:カスタム指示はインライン補完に適用されません。チャットまたはエージェントで試して差が出るなら仕様どおりです。
- 提案が旧名称のAPIを使う:Delta Live TablesやAsset Bundlesの名前で返るのは学習データの鮮度の問題です。
databricks aitools installで公式スキルを入れ、databricks aitools updateで更新します。 - MCPツールが一覧に出ない:VS Codeはサーバー起動時に信頼を確認します。確認プロンプトを見落としていないか、チャット入力欄の「Configure Tools」でツールが無効化されていないかを確認します。
- MCPが認証で止まる:ワークスペースにIPアクセスリストが設定されていると、クライアントの送信元IPが許可されるまで接続できません。アカウントレベルとワークスペースレベルの両方を確認します。
- 拡張がクラスターに接続できない:
databricks clusters list -pにプロファイル名を渡して単体で通るかを先に確かめます。CLI側で失敗するなら原因は認証で、拡張の設定ではありません。 - 生成コードのデータ品質が担保できない:Copilotは検証ロジックまで補完しません。Databricks DQXとは?PySparkデータ品質検証フレームワークの機能と使い方【2026年最新】のような検証フレームワークを別途組み込みます。
よくある質問
GitHub CopilotはDatabricksのノートブック上でも使えますか?
ブラウザで開くワークスペースのノートブックUIでは使えません。VS Code拡張であるCopilotの補完はブラウザ画面に届かないためで、その面のAI支援はGenie Codeが担当します。ただしノートブックファイルをローカルへ同期してVS Codeで開けばCopilotは効き、Databricks Connectを使えばセル単位のデバッグもエディタ側で行えます。
GitHub CopilotとMicrosoft 365 Copilot、Copilot Studioは何が違いますか?
GitHub CopilotはIDEでコードを生成するツール、Microsoft 365 Copilotは業務文書を支援するツール、Copilot Studioは業務エージェントをノーコードで構築するツールです。Databricksのデータでエージェントを作る要件はCopilot Studioが対象で、Microsoft Power Platform経由でGenie Agentsを利用します。
VS CodeでCopilotの補完が出ないときはどこを見ますか?
補完そのものが出ないのか、出るが内容がDatabricks向けでないのかを先に切り分けます。内容の問題なら、原因はカスタム指示がインライン補完に適用されない仕様であることが多く、チャットで試すと差が出ます。Databricks固有の書き方が反映されない場合はdatabricks aitools installで公式スキルを導入してください。
Databricks拡張はCursorでも使えますか?
使えます。公式ドキュメントにも「Visual Studio Code(またはCursor)から接続できる」と明記されています。公式スキルにもCursor向けのプラグイン配布があり、databricks aitools installはCursorのスキルディレクトリも自動検出の対象です。
設計書からDatabricks用のコードを生成させられますか?
設計内容をカスタム指示やチャットの文脈として与えれば生成できます。ただし精度は前提知識に依存するため、公式スキルでDatabricksの作法を、managed MCP経由でUnity Catalogの実テーブル定義を読める状態にしてから依頼してください。生成後は「Upload and Run File」で単発実行し、動作確認を経てからジョブ化します。