🚀 azure-data-lake-storage-mcp-server-by-cdata
CData社のAzure Data Lake Storage用Model Context Protocol (MCP) サーバーです。このプロジェクトでは読み取り専用のMCPサーバーを構築します。完全な読み取り、書き込み、更新、削除、およびアクション機能と簡素化されたセットアップを利用するには、無料のCData MCP Server for Azure Data Lake Storage (beta)をご確認ください。
🚀 クイックスタート
このセクションでは、Azure Data Lake Storage用のCData MCPサーバーをセットアップし、Claude Desktopとともに使用する手順を説明します。
✨ 主な機能
- LLMs(Claude Desktopなど)がAzure Data Lake Storageの生データをクエリできるようにする読み取り専用のMCPサーバーを構築します。
- CData JDBC Driverを使用してAzure Data Lake Storageに接続し、データを関係モデルとして公開します。
- シンプルなMCPインターフェースを介してAzure Data Lake Storageのデータにアクセスでき、自然言語の質問で生データを取得できます。
📦 インストール
リポジトリのクローン
git clone https://github.com/cdatasoftware/azure-data-lake-storage-mcp-server-by-cdata.git
cd azure-data-lake-storage-mcp-server-by-cdata
サーバーのビルド
mvn clean install
これにより、JARファイル CDataMCP-jar-with-dependencies.jar
が作成されます。
CData JDBC Driverのダウンロードとインストール
CData JDBC Driver for Azure Data Lake Storageをダウンロードしてインストールします。
CData JDBC Driverのライセンス設定
- インストールディレクトリの
lib
フォルダに移動します。
- Windows:
C:\Program Files\CData\CData JDBC Driver for Azure Data Lake Storage\
- Mac/Linux:
/Applications/CData JDBC Driver for Azure Data Lake Storage/
- 以下のコマンドを実行します。
java -jar cdata.jdbc.adls.jar --license
- 名前、メールアドレス、および「TRIAL」(またはライセンスキー)を入力します。
データソースへの接続設定
- 以下のコマンドを実行して、接続文字列ユーティリティを開きます。
java -jar cdata.jdbc.adls.jar
- 接続文字列を設定し、「Test Connection」をクリックします。
⚠️ 重要提示
データソースがOAuthを使用する場合、ブラウザで認証する必要があります。
- 接続が成功したら、接続文字列をコピーして後で使用します。
JDBC接続用の .prp
ファイルの作成
以下のプロパティと形式を使用して、.prp
ファイル(例: azure-data-lake-storage.prp
)を作成します。
Prefix=adls
ServerName=CDataADLS
ServerVersion=1.0
DriverPath=PATH\TO\cdata.jdbc.adls.jar
DriverClass=cdata.jdbc.adls.ADLSDriver
JdbcUrl=jdbc:adls:InitiateOAuth=GETANDREFRESH;
Tables=
💻 使用例
Claude Desktopでのサーバーの使用
設定ファイルの作成
Claude Desktop用の設定ファイル claude_desktop_config.json
を作成し、新しいMCPサーバーを追加します。既にファイルが存在する場合は、設定ファイルの mcpServers
にエントリを追加します。
Windows
{
"mcpServers": {
"{classname_dash}": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\azure-data-lake-storage.prp"
]
}
}
}
Linux/Mac
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/azure-data-lake-storage.prp"
]
}
}
}
必要に応じて、設定ファイルを適切なディレクトリにコピーします。
Windows
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
Linux/Mac
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json
クライアントの実行または更新
Claude Desktopを実行または更新します。
⚠️ 重要提示
MCPサーバーを表示するには、Claude Desktopクライアントを完全に終了してから再開する必要がある場合があります。
サーバーの実行
以下のコマンドを実行して、MCPサーバーを単独で実行します。
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
⚠️ 重要提示
サーバーは stdio
を使用するため、サーバーと同じマシンで実行されるクライアントでのみ使用できます。
使用方法の詳細
MCPサーバーが設定されると、AIクライアントは組み込みツールを使用して、基になるデータを読み取り、書き込み、更新、および削除できます。通常、ツールを明示的に呼び出す必要はありません。単にクライアントに基になるデータシステムに関する質問をさせるだけです。例えば:
- "What is the correlation between my closed won opportunities and the account industry?"
- "How many open tickets do I have in the SUPPORT project?"
- "Can you tell me what calendar events I have today?"
利用可能なツールと説明
以下の定義では、{servername}
は設定ファイル内のMCPサーバーの名前を指します(例: {classname_dash}
)。
{servername}_get_tables
- データソースで利用可能なテーブルのリストを取得します。{servername}_get_columns
ツールを使用して、テーブルの利用可能な列をリストします。ツールの出力はCSV形式で返され、最初の行に列ヘッダーが含まれます。
{servername}_get_columns
- テーブルの列のリストを取得します。{servername}_get_tables
ツールを使用して、利用可能なテーブルのリストを取得します。ツールの出力はCSV形式で返され、最初の行に列ヘッダーが含まれます。
{servername}_run_query
- SQL SELECTクエリを実行します。
JSON-RPCリクエストの例
AIクライアント(Claudeなど)を使用せずにMCPサーバーに送信するリクエストをスクリプト化する場合は、以下のJSONペイロードの例を参照できます。JSON-RPC 2.0仕様に準拠しています。
azure_data_lake_storage_get_tables
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_get_tables",
"arguments": {}
}
}
azure_data_lake_storage_get_columns
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_get_columns",
"arguments": {
"table": "Account"
}
}
}
azure_data_lake_storage_run_query
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
📚 ドキュメント
トラブルシューティング
- Claude DesktopでCData MCPサーバーが表示されない場合は、Claude Desktopを完全に終了してから再開してください(Windows: タスクマネージャーを使用、Mac: アクティビティモニターを使用)。
- Claude Desktopがデータを取得できない場合は、接続が正しく構成されていることを確認してください。接続文字列ビルダーを使用して接続文字列を作成し、接続文字列をプロパティ(.prp)ファイルにコピーします。
- データソースへの接続に問題がある場合は、CDataサポートチームにお問い合わせください。
- MCPサーバーの使用に問題がある場合や、その他のフィードバックがある場合は、CDataコミュニティに参加してください。
📄 ライセンス
このMCPサーバーはMITライセンスの下でライセンスされています。これは、MITライセンスの条件に従って、ソフトウェアを自由に使用、変更、および配布できることを意味します。詳細については、プロジェクトリポジトリの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 |
Email |
EnterpriseDB |
Epicor Kinetic |
Exact Online |
Excel |
Excel Online |
Facebook |
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 |
Instagram |
JDBC-ODBC Bridge |
Jira |
Jira Assets |
Jira Service Management |
JSON |
Kafka |
Kintone |
LDAP |
LinkedIn |
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 |
Pinterest |
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 |
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 |
... Dozens More |