返回市场
cdata jdbc mcp 服务器

cdata jdbc mcp 服务器

作者:CDataSoftware2 星标更新:2025-06-12

项目介绍

cdata-jdbc-mcp-server(只读)

我们的通用模型上下文协议(MCP)服务器用于CData JDBC驱动程序(只读)

注意: 此项目构建了一个只读MCP服务器。如需完整的读取、写入、更新、删除和操作功能以及简化设置,请参阅我们的免费CData MCP服务器(测试版)

目的

我们创建了这个只读MCP服务器,以允许大型语言模型(如Claude Desktop)从CData JDBC驱动程序支持的超过300个数据源中查询实时数据(详见下文)。

CData JDBC驱动程序通过将其暴露为关系SQL模型来连接SaaS应用程序、NoSQL存储和API。

此服务器封装这些驱动程序,并通过简单的MCP接口提供其数据,因此大型语言模型可以通过询问自然语言问题来检索实时信息——无需SQL。

安装指南

在下面的指南中,{data source}指的是后端数据源(例如Salesforce)。代码片段和命令使用Salesforce作为示例,但模式适用于任何JDBC驱动程序。

  1. 克隆仓库:
    git clone https://github.com/cdatasoftware/cdata-jdbc-mcp-server.git
    cd cdata-jdbc-mcp-server
    
  2. 构建服务器:
    mvn clean install
    
    这会生成JAR文件:CDataMCP-jar-with-dependencies.jar
  3. 下载并安装CData JDBC驱动程序:https://www.cdata.com/jdbc
  4. 授权CData JDBC驱动程序(以Salesforce为例):
    • 导航到安装目录中的lib文件夹,通常位于:
      • (Windows)C:\Program Files\CData\CData JDBC Driver for {data source}\
      • (Mac/Linux)/Applications/CData JDBC Driver for {data source}/
    • 运行命令 java -jar cdata.jdbc.salesforce.jar --license
    • 输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
  5. 配置与数据源的连接(以Salesforce为例):
    • 运行命令 java -jar cdata.jdbc.salesforce.jar 打开连接字符串实用工具。

      <img src="https://github.com/user-attachments/assets/a5b5237b-79c1-472c-8c2f-3f9eb1ac9627" title="CData JDBC驱动程序连接字符串实用工具(显示Salesforce)" width=384px />
    • 配置连接字符串并点击“测试连接”

      注意: 如果数据源使用OAuth,您需要在浏览器中进行身份验证。

    • 成功后,复制连接字符串以备后续使用。

  6. 创建一个JDBC连接的.prp文件(例如Salesforce.prp),使用以下属性和格式:
    • 前缀 - 工具使用的前缀
    • 服务器名称 - 您的服务器名称
    • 服务器版本 - 您的服务器版本
    • 驱动路径 - JDBC驱动程序JAR文件的完整路径
    • 驱动类 - JDBC驱动程序类名(例如cdata.jdbc.salesforce.SalesforceDriver)
    • JDBC URL - 使用CData JDBC驱动程序连接到您的数据的JDBC连接字符串(从上面复制)
    • - 留空以访问所有数据,否则可以显式声明要创建访问权限的表
      前缀=salesforce
      服务器名称=CDataSalesforce
      服务器版本=1.0
      驱动路径=PATH\TO\cdata.jdbc.salesforce.jar
      驱动类=cdata.jdbc.salesforce.SalesforceDriver
      JDBC URL=jdbc:salesforce:InitiateOAuth=GETANDREFRESH;
      表=
      

使用Claude Desktop服务器

  1. 为Claude Desktop创建配置文件(claude_desktop_config.json),添加新的MCP服务器,使用以下格式。如果文件已存在,则将条目添加到配置文件中的mcpServers部分。

    Windows

    {
      "mcpServers": {
        "salesforce": {
          "命令": "PATH\\TO\\java.exe",
          "参数": [
            "-jar",
            "PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
            "PATH\\TO\\Salesforce.prp"
          ]
        },
        ...
      }
    }
    

    Linux/Mac

    {
      "mcpServers": {
        "salesforce": {
          "命令": "/PATH/TO/java",
          "参数": [
            "-jar",
            "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
            "/PATH/TO/Salesforce.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'
    
  2. 运行或刷新客户端(Claude Desktop)。

注意: 您可能需要完全退出或关闭Claude Desktop客户端并重新打开,以便MCP服务器出现。

运行服务器

  1. 使用以下命令独立运行MCP服务器
    java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
    

注意: 该服务器使用stdio,因此只能与在同一台机器上运行的客户端一起使用。

使用详情

一旦MCP服务器配置完成,AI客户端就可以使用内置工具来读取、写入、更新和删除底层数据。通常情况下,您不需要显式调用这些工具。只需要求客户端回答关于底层数据系统的问题即可。例如:

  • “我的已关闭获胜机会与账户行业之间的相关性是什么?”
  • “我在SUPPORT项目中有多少个开放工单?”
  • “你能告诉我今天我有哪些日历事件吗?”

可用工具及其描述如下:

工具及描述

在以下定义中,{servername}指配置文件中的MCP服务器名称(例如上面的salesforce)。

  • {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负载示例——遵循JSON-RPC 2.0规范。

{servername}_get_tables

{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "salesforce_get_tables",
        "arguments": {}
    }
}

{servername}_get_columns

{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
        "name": "salesforce_get_columns",
        "arguments": {
            "table":  "Account"
        }
    }
}

{servername}_run_query

{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
        "name": "salesforce_run_query",
        "arguments": {
            "sql":  "SELECT * FROM [Account] WHERE [IsDeleted] = true"
        }
    }
}

故障排除

  1. 如果您无法在Claude Desktop中看到CData MCP服务器,请确保您已完全退出Claude Desktop(Windows:使用任务管理器,Mac:使用活动监视器)。
  2. 如果Claude Desktop无法检索数据,请确保您已正确配置连接。使用连接字符串生成器创建连接字符串(见上文),并将连接字符串复制到属性(.prp)文件中。
  3. 如果您遇到连接数据源的问题,请联系CData支持团队
  4. 如果您在使用MCP服务器时遇到问题,或有任何其他反馈,请加入CData社区

许可证

此MCP服务器根据MIT许可证授权。这意味着您可以自由使用、修改和分发软件,但须遵守MIT许可证的条款和条件。更多详细信息,请参阅项目存储库中的LICENSE文件。

支持的数据源

<table> <tr><td>Access</td><td>Act CRM</td><td>Act-On</td><td>Active Directory</td></tr> <tr><td>ActiveCampaign</td><td>Acumatica</td><td>Adobe Analytics</td><td>Adobe Commerce</td></tr> <tr><td>ADP</td><td>Airtable</td><td>AlloyDB</td><td>Amazon Athena</td></tr> <tr><td>Amazon DynamoDB</td><td>Amazon Marketplace</td><td>Amazon S3</td><td>Asana</td></tr> <tr><td>Authorize.Net</td><td>Avalara AvaTax</td><td>Avro</td><td>Azure Active Directory</td></tr> <tr><td>Azure Analysis Services</td><td>Azure Data Catalog</td><td>Azure Data Lake Storage</td><td>Azure DevOps</td></tr> <tr><td>Azure Synapse</td><td>Azure Table</td><td>Basecamp</td><td>BigCommerce</td></tr> <tr><td>BigQuery</td><td>Bing Ads</td><td>Bing Search</td><td>Bitbucket</td></tr> <tr><td>Blackbaud FE NXT</td><td>Box</td><td>Bullhorn CRM</td><td>Cassandra</td></tr> <tr><td>Certinia</td><td>Cloudant</td><td>CockroachDB</td><td>Confluence</td></tr> <tr><td>Cosmos DB</td><td>Couchbase</td><td>CouchDB</td><td>CSV</td></tr> <tr><td>Cvent</td><td>Databricks</td><td>DB2</td><td>DocuSign</td></tr> <tr><td>Dropbox</td><td>Dynamics 365</td><td>Dynamics 365 Business Central</td><td>Dynamics CRM</td></tr> <tr><td>Dynamics GP</td><td>Dynamics NAV</td><td>eBay</td><td>eBay Analytics</td></tr> <tr><td>Elasticsearch</td><td>Email</td><td>EnterpriseDB</td><td>Epicor Kinetic</td></tr> <tr><td>Exact Online</td><td>Excel</td><td>Excel Online</td><td>Facebook</td></tr> <tr><td>Facebook Ads</td><td>FHIR</td><td>Freshdesk</td><td>FTP</td></tr> <tr><td>GitHub</td><td>Gmail</td><td>Google Ad Manager</td><td>Google Ads</td></tr> <tr><td>Google Analytics</td><td>Google Calendar</td><td>Google Campaign Manager 360</td><td>Google Cloud Storage</td></tr> <tr><td>Google Contacts</td><td>Google Data Catalog</td><td>Google Directory</td><td>Google Drive</td></tr> <tr><td>Google Search</td><td>Google Sheets</td><td>Google Spanner</td><td>GraphQL</td></tr> <tr><td>Greenhouse</td><td>Greenplum</td><td>HarperDB</td><td>HBase</td></tr> <tr><td>HCL Domino</td><td>HDFS</td><td>Highrise</td><td>Hive</td></tr> <tr><td>HubDB</td><td>HubSpot</td><td>IBM Cloud Data Engine</td><td>IBM Cloud Object Storage</td></tr> <tr><td>IBM Informix</td><td>Impala</td><td>Instagram</td><td>JDBC-ODBC Bridge</td></tr> <tr><td>Jira</td><td>Jira Assets</td><td>Jira Service Management</td><td>JSON</td></tr> <tr><td>Kafka</td><td>Kintone</td><td>LDAP</td><td>LinkedIn</td></tr> <tr><td>LinkedIn Ads</td><td>MailChimp</td><td>MariaDB</td><td>Marketo</td></tr> <tr><td>MarkLogic</td><td>Microsoft Dataverse</td><td>Microsoft Entra ID</td><td>Microsoft Exchange</td></tr> <tr><td>Microsoft OneDrive</td><td>Microsoft Planner</td><td>Microsoft Project</td><td>Microsoft Teams</td></tr> <tr><td>Monday.com</td><td>MongoDB</td><td>MYOB AccountRight</td><td>MySQL</td></tr> <tr><td>nCino</td><td>Neo4J</td><td>NetSuite</td><td>OData</td></tr> <tr><td>Odoo</td><td>Office 365</td><td>Okta</td><td>OneNote</td></tr> <tr><td>Oracle</td><td>Oracle Eloqua</td><td>Oracle Financials Cloud</td><td>Oracle HCM Cloud</td></tr> <tr><td>Oracle Sales</td><td>Oracle SCM</td><td>Oracle Service Cloud</td><td>Outreach.io</td></tr> <tr><td>Parquet</td><td>Paylocity</td><td>PayPal</td><td>Phoenix</td></tr> <tr><td>PingOne</td><td>Pinterest</td><td>Pipedrive</td><td>PostgreSQL</td></tr> <tr><td>Power BI XMLA</td><td>Presto</td><td>Quickbase</td><td>QuickBooks</td></tr> <tr><td>QuickBooks Online</td><td>QuickBooks Time</td><td>Raisers Edge NXT</td><td>Reckon</td></tr> <tr><td>Reckon Accounts Hosted</td><td>Redis</td><td>Redshift</td><td>REST</td></tr> <tr><td>RSS</td><td>Sage 200</td><td>Sage 300</td><td>Sage 50 UK</td></tr> <tr><td>Sage Cloud Accounting</td><td>Sage Intacct</td><td>Salesforce</td><td>Salesforce Data Cloud</td></tr> <tr><td>Salesforce Financial Service Cloud</td><td>Salesforce Marketing</td><td>Salesforce Marketing Cloud Account Engagement</td><td>Salesforce Pardot</td></tr> <tr><td>Salesloft</td><td>SAP</td><td>SAP Ariba Procurement</td><td>SAP Ariba Source</td></tr> <tr><[...省略剩余内容以符合字符限制...]