View as Markdown

Databricks Integration

Run Databricks jobs, list clusters and SQL warehouses, and inspect workspace paths

The Databricks integration provides access to run Databricks jobs, list clusters and SQL warehouses, and inspect workspace paths through the Integrate MCP server.

Installation

The Databricks integration is included with the SDK:

import { databricksIntegration } from "integrate-sdk/server";

Setup

1. Create a Databricks OAuth App

  1. Create an OAuth application for Databricks
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Databricks integration to your server configuration. The integration automatically reads DATABRICKS_CLIENT_ID and DATABRICKS_CLIENT_SECRET from your environment variables:

import { createMCPServer, databricksIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    databricksIntegration({
      scopes: ["all-apis", "offline_access"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

databricksIntegration({
  clientId: process.env.CUSTOM_DATABRICKS_ID,
  clientSecret: process.env.CUSTOM_DATABRICKS_SECRET,
      scopes: ["all-apis", "offline_access"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("databricks");
const result = await client.databricks.currentUser({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, databricksIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [databricksIntegration()],
});

Configuration Options

export interface DatabricksIntegrationConfig {
  /** Databricks OAuth client ID (defaults to DATABRICKS_CLIENT_ID env var) */
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • all-apis
  • offline_access

Tools

databricks_current_user

Current user

export interface DatabricksCurrentUserParams { workspace_host?: string }

databricks_clusters_list

Clusters list

export interface DatabricksClustersListParams { workspace_host?: string }

databricks_clusters_get

Clusters get

export interface DatabricksClustersGetParams { cluster_id: string;

databricks_jobs_list

Jobs list

export interface DatabricksJobsListParams { limit?: number;

databricks_jobs_get

Jobs get

export interface DatabricksJobsGetParams { job_id: string;

databricks_jobs_run_now

Jobs run now

export interface DatabricksJobsRunNowParams {
    job_id: string;

databricks_sql_warehouses_list

Sql warehouses list

export interface DatabricksSqlWarehousesListParams { workspace_host?: string }

databricks_workspace_get_status

Workspace get status

export interface DatabricksWorkspaceGetStatusParams { path: string;

Notes

  • Category: Engineering
  • Authentication mode: OAuth