databricks-mcp-server-by-cdata について
CData JDBC Driver 経由で Databricks のライブデータを照会するローカルの読み取り専用 MCP サーバーです。SQL を書かずに自然言語でデータを取得したい LLM クライアント向けです。
主な機能
- 01Databricks データの読み取り専用アクセス
- 02JDBC Driver による接続
- 03ライブデータの自然言語検索
- 04SQL クエリとスキーマのツール
活用シーン
- 01Databricks のライブデータの照会
- 02利用可能なテーブルと列の確認
- 03条件付き SQL クエリの実行
MCP 対応
テーブル・列の取得や SQL 実行など、Databricks の照会ツールを MCP クライアントに公開します。stdio を使用するため、クライアントはサーバーと同じマシンで動作する必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
databricks-mcp-server-by-cdata
Databricks 用 CData の Model Context Protocol(MCP)サーバー
:heavy_exclamation_mark: このプロジェクトでは、ローカルで動作する読み取り専用の MCP サーバーを構築します。完全なリモート MCP アクセスについては、初のマネージド MCP プラットフォームである CData Connect AI をご覧ください。ローカルホスト型で、読み取り、書き込み、更新、削除、アクションのすべてに対応し、セットアップも簡単な環境については、Databricks 用 CData MCP サーバーをご覧ください。
目的
Databricks 用 CData JDBC Driver でサポートされる Databricks のライブデータを LLM(Claude Desktop など)がクエリできるように、この読み取り専用の MCP サーバーを作成しました。
CData JDBC Driver は、Databricks をリレーショナル SQL モデルとして公開することで接続します。
このサーバーはそのドライバーをラップし、シンプルな MCP インターフェースを通じて Databricks データを利用可能にします。そのため、LLM は SQL を使わず、自然言語で質問するだけでライブ情報を取得できます。
セットアップガイド
- リポジトリをクローンします。
git clone https://github.com/cdatasoftware/databricks-mcp-server-by-cdata.git cd databricks-mcp-server-by-cdata - サーバーをビルドします。
これにより、JAR ファイルmvn clean installCDataMCP-jar-with-dependencies.jarが作成されます。 - Databricks 用 CData JDBC Driver をダウンロードしてインストールします。{source}: https://www.cdata.com/drivers/databricks/download/jdbc
- CData JDBC Driver のライセンスを設定します。
- インストールディレクトリの
libフォルダーに移動します。通常、場所は次のとおりです。- (Windows)
C:\Program Files\CData\CData JDBC Driver for Databricks\ - (Mac/Linux)
/Applications/CData JDBC Driver for Databricks/
- (Windows)
- コマンド
java -jar cdata.jdbc.databricks.jar --licenseを実行します。 - 名前、メールアドレス、「TRIAL」(またはライセンスキー)を入力します。
- インストールディレクトリの
- データソースへの接続を設定します(例として Salesforce を使用)。
-
コマンド
java -jar cdata.jdbc.databricks.jarを実行して、Connection String ユーティリティを開きます。 -
接続文字列を設定し、「Test Connection」をクリックします。
注: データソースで OAuth を使用する場合は、ブラウザーで認証する必要があります。
-
接続に成功したら、後で使用するために接続文字列をコピーします。
-
- 次のプロパティと形式を使用して、JDBC 接続用の
.prpファイル(例:databricks.prp)を作成します。- Prefix - 公開するツールに使用するプレフィックス
- ServerName - サーバー名
- ServerVersion - サーバーのバージョン
- DriverPath - JDBC ドライバーの JAR ファイルへのフルパス
- DriverClass - JDBC Driver Class の名前(例:cdata.jdbc.databricks.DatabricksDriver)
- JdbcUrl - CData JDBC Driver でデータに接続するための JDBC 接続文字列(上記からコピー)
- Tables - すべてのデータにアクセスする場合は空欄のままにします。それ以外の場合は、アクセス対象とするテーブルを明示的に指定できます。
Prefix=databricks ServerName=CDataDatabricks ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.databricks.jar DriverClass=cdata.jdbc.databricks.DatabricksDriver JdbcUrl=jdbc:databricks:InitiateOAuth=GETANDREFRESH; Tables=
Claude Desktop でサーバーを使用する
-
以下の形式を使用して、新しい MCP サーバーを追加するための Claude Desktop の設定ファイル(claude_desktop_config.json)を作成します。ファイルがすでに存在する場合は、設定ファイルの
mcpServersにエントリを追加します。Windows
{ "mcpServers": { "{classname_dash}": { "command": "PATH\\TO\\java.exe", "args": [ "-jar", "PATH\\TO\\CDataMCP-jar-with-dependencies.jar", "PATH\\TO\\databricks.prp" ] }, ... } }Linux/Mac
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/databricks.prp" ] }, ... } }必要に応じて、設定ファイルを適切なディレクトリにコピーします(例として Claude Desktop を使用しています)。 Windows
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.jsonLinux/Mac
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json' -
クライアント(Claude Desktop)を起動または更新します。
Note: MCP サーバーを表示するには、Claude Desktop クライアントを完全に終了してから再起動する必要がある場合があります。
サーバーの実行
- 次のコマンドを実行して、MCP サーバーを単独で起動します。
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
Note: サーバーは
stdioを使用するため、サーバーと同じマシン上で実行されているクライアントでのみ使用できます。
使用方法の詳細
MCP サーバーを設定すると、AI クライアントは組み込みツールを使用して、基盤となるデータの読み取り、書き込み、更新、削除を行えるようになります。通常、ツールを明示的に呼び出す必要はありません。基盤となるデータシステムについての質問をクライアントにするだけでかまいません。例:
- 「受注成立した商談と取引先の業種には、どのような相関関係がありますか?」
- 「SUPPORT プロジェクトに未解決のチケットはいくつありますか?」
- 「今日のカレンダーの予定を教えてもらえますか?」
利用可能なツールの一覧と説明は次のとおりです。
ツールと説明
以下の定義では、{servername} は設定ファイル内の MCP サーバー名(例:上記の {classname_dash})を指します。
{servername}_get_tables- データソースで利用可能なテーブルの一覧を取得します。テーブルで利用可能な列を一覧表示するには、{servername}_get_columnsツールを使用します。ツールの出力は CSV 形式で返され、1 行目に列ヘッダーが含まれます。{servername}_get_columns- テーブルの列の一覧を取得します。利用可能なテーブルの一覧を取得するには、{servername}_get_tablesツールを使用します。ツールの出力は CSV 形式で返され、1 行目に列ヘッダーが含まれます。{servername}_run_query- SQL の SELECT クエリを実行します
JSON-RPC リクエストの例
AI クライアント(例:Claude)を使用せずに、MCP サーバーに送信するリクエストをスクリプトで作成する場合は、利用可能なツールの呼び出しに関する以下の JSON ペイロード例を、JSON-RPC 2.0 仕様に従って参照してください。
databricks_get_tables
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "databricks_get_tables",
"arguments": {}
}
}
databricks_get_columns
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "databricks_get_columns",
"arguments": {
"table": "Account"
}
}
}
databricks_run_query
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "databricks_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
トラブルシューティング
- Claude Desktop に CData MCP Server が表示されない場合は、Claude Desktop を完全に終了してください(Windows:タスクマネージャーを使用、Mac:アクティビティモニタを使用)。
- Claude Desktop がデータを取得できない場合は、接続が正しく設定されていることを確認してください。Connection String ビルダーを使用して接続文字列を作成し(上記を参照)、接続文字列をプロパティ(.prp)ファイルにコピーしてください。
- データソースへの接続に問題がある場合は、CData サポートチームにお問い合わせください。
- MCP サーバーの使用に問題がある場合や、その他のフィードバックがある場合は、CData Communityにご参加ください。
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
すべての対応ソース
| Access | Act CRM | Act-On | Active Directory |
| ActiveCampaign | Acumatica | Adobe Analytics | Adobe Commerce |
| ADP | Airtable | AlloyDB | Amazon Athena |
| Amazon DynamoDB | Amazon Marketplace | Amazon S3 | Asana |
| Authorize.Net | Avalara AvaTax | Avro | Azure Active Directory |
| Azure Analysis Services | Azure Data Catalog | Azure Data Lake Storage | Azure DevOps |
| Azure Synapse | Azure Table | Basecamp | BigCommerce |
| BigQuery | Bing Ads | Bing Search | Bitbucket |
| Blackbaud FE NXT | Box | Bullhorn CRM | Cassandra |
| Certinia | Cloudant | CockroachDB | Confluence |
| Cosmos DB | Couchbase | CouchDB | CSV |
| Cvent | Databricks | DB2 | DocuSign |
| Dropbox | Dynamics 365 | Dynamics 365 Business Central | Dynamics CRM |
| Dynamics GP | Dynamics NAV | eBay | eBay Analytics |
| Elasticsearch | メール | EnterpriseDB | Epicor Kinetic |
| Exact Online | Excel | Excel Online | |
| Facebook Ads | FHIR | Freshdesk | FTP |
| GitHub | Gmail | Google Ad Manager | Google Ads |
| Google Analytics | Google Calendar | Google Campaign Manager 360 | Google Cloud Storage |
| Google Contacts | Google Data Catalog | Google Directory | Google Drive |
| Google Search | Google Sheets | Google Spanner | GraphQL |
| Greenhouse | Greenplum | HarperDB | HBase |
| HCL Domino | HDFS | Highrise | Hive |
| HubDB | HubSpot | IBM Cloud Data Engine | IBM Cloud Object Storage |
| IBM Informix | Impala | JDBC-ODBC Bridge | |
| Jira | Jira Assets | Jira Service Management | JSON |
| Kafka | Kintone | LDAP | |
| LinkedIn Ads | MailChimp | MariaDB | Marketo |
| MarkLogic | Microsoft Dataverse | Microsoft Entra ID | Microsoft Exchange |
| Microsoft OneDrive | Microsoft Planner | Microsoft Project | Microsoft Teams |
| Monday.com | MongoDB | MYOB AccountRight | MySQL |
| nCino | Neo4J | NetSuite | OData |
| Odoo | Office 365 | Okta | OneNote |
| Oracle | Oracle Eloqua | Oracle Financials Cloud | Oracle HCM Cloud |
| Oracle Sales | Oracle SCM | Oracle Service Cloud | Outreach.io |
| Parquet | Paylocity | PayPal | Phoenix |
| PingOne | Pipedrive | PostgreSQL | |
| Power BI XMLA | Presto | Quickbase | QuickBooks |
| QuickBooks Online | QuickBooks Time | Raisers Edge NXT | Reckon |
| Reckon Accounts Hosted | Redis | Redshift | REST |
| RSS | Sage 200 | Sage 300 | Sage 50 UK |
| Sage Cloud Accounting | Sage Intacct | Salesforce | Salesforce Data Cloud |
| Salesforce Financial Service Cloud | Salesforce Marketing | Salesforce Marketing Cloud Account Engagement | Salesforce Pardot |
| Salesloft | SAP | SAP Ariba Procurement | SAP Ariba Source |
| SAP Business One | SAP BusinessObjects BI | SAP ByDesign | SAP Concur |
| SAP Fieldglass | SAP HANA | SAP HANA XS Advanced | SAP Hybris C4C |
| SAP Netweaver Gateway | SAP SuccessFactors | SAS Data Sets | SAS xpt |
| SendGrid | ServiceNow | SFTP | SharePoint |
| SharePoint Excel Services | ShipStation | Shopify | SingleStore |
| Slack | Smartsheet | Snapchat Ads | Snowflake |
| Spark | Splunk | SQL Analysis Services | SQL Server |
| Square | Stripe | Sugar CRM | SuiteCRM |
| SurveyMonkey | Sybase | Sybase IQ | Tableau CRM Analytics |
| Tally | TaxJar | Teradata | Tier1 |
| TigerGraph | Trello | Trino | Twilio |
| Twitter Ads | Veeva CRM | Veeva Vault | |
| Wave Financial | WooCommerce | WordPress | Workday |
| xBase | Xero | XML | YouTube Analytics |
| Zendesk | Zoho Books | Zoho Creator | Zoho CRM |
| Zoho Inventory | Zoho Projects | Zuora | ... ほか数十種類 |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。