使用说明
Azure 数据目录 MCP 服务器(由 CData 提供)
CData 的 Azure Data Catalog 模型上下文协议 (MCP) 服务器
⚠️ 此项目构建的是一个只读的MCP服务器。如需完整的读、写、更新、删除及执行操作功能,以及简化的设置,请查看我们的 适用于Azure数据目录的CData MCP服务器。
目的
我们创建了这个只读的MCP服务器,以便允许大型语言模型(如Claude Desktop)查询由Azure数据目录支持的实时数据 CData JDBC驱动程序(用于Azure数据目录)。
CData JDBC 驱动程序通过将 Azure Data Catalog 暴露为关系型 SQL 模型来连接到它。
这个服务器封装了该驱动程序,并通过一个简单的MCP(机器可处理内容)接口提供Azure Data Catalog的数据,因此大型语言模型(LLMs)可以通过提出自然语言问题来检索实时信息,无需使用SQL。
设置指南
- 克隆仓库:
git clone https://github.com/cdatasoftware/azure-data-catalog-mcp-server-by-cdata.git cd azure-data-catalog-mcp-server-by-cdata - 构建服务器:这会生成一个JAR文件:CDataMCP-jar-with-dependencies.jar
mvn clean install - 下载并安装适用于{source}的CData JDBC驱动程序: https://www.cdata.com/drivers/azuredatacatalog/download/jdbc 的中文翻译可以是:“CData 官网 - Azure Data Catalog 驱动程序下载 - JDBC”。不过,通常网址本身不需要翻译,这里只是对网址内容或目的的描述进行了中文表达。如果直接作为网址引用,则保持原样即可
- 授权CData JDBC驱动程序:
- 导航至
lib安装目录中的文件夹,通常为:- (Windows)
C:\Program Files\CData\CData JDBC Driver for Azure Data Catalog\ - (Mac/Linux)
/Applications/CData JDBC Driver for Azure Data Catalog/
- (Windows)
- 运行该命令
java -jar cdata.jdbc.azuredatacatalog.jar --license - 请输入您的姓名、电子邮件地址以及“TRIAL”(或您的许可证密钥)。
- 导航至
- 配置您与数据源的连接(以Salesforce为例):
-
运行该命令
java -jar cdata.jdbc.azuredatacatalog.jar打开连接字符串实用程序。 -
配置连接字符串,然后点击“测试连接”
注: 如果数据源使用OAuth,您需要在浏览器中进行身份验证。
-
一旦成功,复制连接字符串以备后用。
-
- 创建一个
.prp为您的JDBC连接准备文件(例如。azure-data-catalog.prp) 使用以下属性和格式:- 前缀 - 用于公开工具的前缀
- 服务器名称 - 为您的服务器命名
- 服务器版本 - 适用于您服务器的版本
- 驱动程序路径 - 您的JDBC驱动程序JAR文件的完整路径
- 驱动程序类 - JDBC驱动程序类的名称(例如:cdata.jdbc.azuredatacatalog.AzureDataCatalogDriver)
- JdbcUrl 翻译成中文是“JDBC URL”。 - 用于与CData JDBC驱动程序连接到您的数据的JDBC连接字符串(从上方复制)
- 桌子 - 留空以访问所有数据,否则您可以明确声明您希望创建访问权限的表
Prefix=azuredatacatalog ServerName=CDataAzureDataCatalog ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.azuredatacatalog.jar DriverClass=cdata.jdbc.azuredatacatalog.AzureDataCatalogDriver JdbcUrl=jdbc:azuredatacatalog:InitiateOAuth=GETANDREFRESH; Tables=
使用Claude桌面版连接服务器
-
创建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-catalog.prp" ] }, ... } }Linux/Mac(注:此处“Linux/Mac”直接作为技术名词保留,不进行翻译,若需解释性翻译,可译为“Linux操作系统/Mac操作系统”)
{ "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/azure-data-catalog.prp" ] }, ... } }如果需要,请将配置文件复制到相应的目录(以Claude Desktop为例)。 Windows
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.jsonLinux/Mac(注:此翻译保持了原文的格式,直接对应为中文的“Linux/Mac”系统,若需更具体的描述,可根据上下文调整,但在此处直接翻译即可。)
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json' -
运行或刷新您的客户端(Claude Desktop)。
注: 您可能需要完全退出或关闭您的Claude桌面客户端,然后重新打开它,以便MCP服务器能够显示。
运行服务器
- 运行以下命令以单独启动MCP服务器
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
注: 服务器使用
stdio因此,只能与在与服务器同一台机器上运行的客户端一起使用。
使用详情
一旦配置了MCP服务器,AI客户端将能够使用内置工具来读取、写入、更新和删除底层数据。通常情况下,您无需显式调用这些工具。只需让客户端回答有关底层数据系统的问题即可。例如:
- “我的已成交机会与客户所属行业之间有何关联?”
- “我在SUPPORT项目中有多少张未解决的工单?”
- “你能告诉我我今天有哪些日历事件吗?”
以下是可用工具的列表及其描述:
工具与说明
在以下定义中, {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 请求示例
如果你正在编写发送到MCP服务器的请求脚本,而不是使用AI客户端(例如Claude),那么在调用可用工具时,可以参考以下遵循JSON-RPC 2.0规范的JSON有效载荷示例。
获取数据源表
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "source_get_tables",
"arguments": {}
}
}
获取源列(或“获取数据源列”)
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "source_get_columns",
"arguments": {
"table": "Account"
}
}
}
运行查询源
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "source_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许可证条款和条件的前提下,自由使用、修改和分发该软件。如需更多详情,请参阅 许可证 项目仓库中的文件。
所有支持的来源
| 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 | ... Dozens More |