CData 为 Azure 数据湖存储打造的模型上下文协议(MCP)服务器。该项目构建了一个只读的 MCP 服务器,允许大语言模型(LLMs)通过自然语言查询 Azure 数据湖存储中的实时数据。
我们创建这个只读 MCP 服务器,是为了让大语言模型(如 Claude Desktop)能够查询由 CData JDBC 驱动程序 for Azure 数据湖存储 支持的 Azure 数据湖存储中的实时数据。
CData JDBC 驱动程序通过将 Azure 数据湖存储暴露为关系型 SQL 模型来与之建立连接。此服务器对该驱动程序进行封装,通过简单的 MCP 接口使 Azure 数据湖存储的数据变得可用,这样大语言模型就可以通过自然语言问题来检索实时信息,无需使用 SQL。
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。
3. 下载并安装 CData JDBC 驱动程序:https://www.cdata.com/drivers/azuredatalake/download/jdbc
4. 为 CData JDBC 驱动程序授权:
- 导航到安装目录下的 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”(或您的许可证密钥)。
5. 配置与数据源的连接(以 Salesforce 为例):
- 运行命令 java -jar cdata.jdbc.adls.jar
打开连接字符串实用程序。
- 配置连接字符串并点击 “测试连接”。
> ⚠️ 重要提示:
>
> 如果数据源使用 OAuth,您需要在浏览器中进行身份验证。
- 连接成功后,复制连接字符串以备后续使用。
6. 创建 JDBC 连接的 .prp
文件(例如 azure-data-lake-storage.prp
),使用以下属性和格式:
- Prefix - 用于公开工具的前缀
- ServerName - 服务器的名称
- ServerVersion - 服务器的版本
- DriverPath - JDBC 驱动程序 JAR 文件的完整路径
- DriverClass - JDBC 驱动程序类的名称(例如 cdata.jdbc.adls.ADLSDriver)
- JdbcUrl - 用于与 CData JDBC 驱动程序连接到数据的 JDBC 连接字符串(从上面复制)
- Tables - 留空以访问所有数据,否则可以明确声明要创建访问权限的表
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=
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"
]
},
...
}
}
如有需要,将配置文件复制到相应目录(以 Claude Desktop 为例)。 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 服务器才会显示。
运行以下命令以独立运行 MCP 服务器:
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
⚠️ 重要提示:
服务器使用
stdio
,因此只能与和服务器运行在同一台机器上的客户端一起使用。
MCP 服务器配置完成后,AI 客户端将能够使用内置工具来读取、写入、更新和删除底层数据。一般来说,您无需显式调用这些工具。只需让客户端回答有关底层数据系统的问题即可。例如:
可用工具及其描述如下:
在以下定义中,{servername}
指的是配置文件中 MCP 服务器的名称(例如上面的 {classname_dash}
)。
{servername}_get_tables
- 检索数据源中可用表的列表。使用 {servername}_get_columns
工具列出表上可用的列。该工具的输出将以 CSV 格式返回,第一行包含列标题。{servername}_get_columns
- 检索表的列列表。使用 {servername}_get_tables
工具获取可用表的列表。该工具的输出将以 CSV 格式返回,第一行包含列标题。{servername}_run_query
- 执行 SQL SELECT 查询如果您不使用 AI 客户端(如 Claude),而是通过脚本向 MCP 服务器发送请求,那么在调用可用工具时,可以参考以下遵循 JSON-RPC 2.0 规范的 JSON 有效负载示例。
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_get_tables",
"arguments": {}
}
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_get_columns",
"arguments": {
"table": "Account"
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "azure_data_lake_storage_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
此 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 | 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 | 更多... |