mcpField
C
cdata-jdbc-mcp-server (read-only)

cdata-jdbc-mcp-server (read-only)

本地服务
github.com/CDataSoftware数据库413 周前更新

关于 cdata-jdbc-mcp-server (read-only)

面向 CData JDBC 驱动的通用只读 MCP 服务,将数百种数据源呈现为可查询的数据。适合需要用自然语言读取实时业务数据的 LLM 用户,支持通过 SQL SELECT 查询而不提供写入操作。

主要功能

  1. 01连接 CData JDBC 驱动支持的数据源
  2. 02列出数据表与列
  3. 03执行 SQL SELECT 查询
  4. 04以 CSV 格式返回查询结果
  5. 05配置可访问的数据表

适用场景

  1. 01用自然语言查询 Salesforce 数据
  2. 02查看数据源中的表和字段
  3. 03读取项目工单或日历记录
  4. 04在本地 MCP 客户端接入 JDBC 数据

MCP 相关

该 MCP 服务通过 stdio 将数据表、列和只读 SQL 查询工具提供给本地客户端。它使用配置文件中的 JDBC 驱动和连接字符串访问数据源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

cdata-jdbc-mcp-server(只读)

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

❗**注意:**此项目构建的是只读 MCP 服务。如需在数百种数据源中实现完整的读取、写入、更新、删除和操作功能,以及远程 MCP 访问、语义上下文和企业治理(SSO、RBAC、审计跟踪),请查看 CData Connect AI。

用途

我们创建此只读 MCP 服务,是为了让大模型(例如 Claude Desktop)能够查询来自数百种数据源的实时数据(列表见下文)。这些数据源均受 CData JDBC 驱动程序支持。

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

此服务封装了这些驱动程序,并通过简单的 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,打开 Connection String 实用程序。

      CData JDBC Driver Connection String utility (Salesforce is shown).
    • 配置连接字符串,然后点击“Test Connection”

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

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

  6. 使用以下属性和格式,为 JDBC 连接创建 .prp 文件(例如 Salesforce.prp):
    • Prefix - 用作已公开工具的前缀
    • DriverPath - JDBC 驱动程序 JAR 文件的完整路径
    • DriverClass - JDBC 驱动程序类的名称(例如 cdata.jdbc.salesforce.SalesforceDriver)
    • JdbcUrl - 用于通过 CData JDBC 驱动程序连接数据的 JDBC 连接字符串(从上方复制)
    • Tables - 留空以访问所有数据;否则,可以明确声明要开放访问的表
    • ServerName (可选) - 服务名称;若省略,则默认为 Prefix 的值
    • ServerVersion (可选) - 服务版本;若省略,则默认为 1.0
      Prefix=salesforce
      DriverPath=PATH\TO\cdata.jdbc.salesforce.jar
      DriverClass=cdata.jdbc.salesforce.SalesforceDriver
      JdbcUrl=jdbc:salesforce:InitiateOAuth=GETANDREFRESH;
      Tables=
      

通过 MCP 客户端使用服务

由于此服务通过 stdio 在本地运行,因此可与任何能启动本地服务的桌面 MCP 客户端配合使用,例如 Claude Desktop、Cursor、Windsurf、Cline、VS Code 等。在所有情况下,您都需要将客户端指向 java 可执行文件,并将组装好的 JAR 文件和 .prp 文件作为参数传入。

1. 将服务添加到客户端配置中

大多数客户端使用相同的 mcpServers 架构。将以下条目添加到客户端的 MCP 配置文件中(各客户端配置文件的位置请参阅配置文件位置)。如果文件已存在,请将此条目与现有服务并列添加。

Windows

{
  "mcpServers": {
    "salesforce": {
      "command": "PATH\\TO\\java.exe",
      "args": [
        "-jar",
        "PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
        "PATH\\TO\\Salesforce.prp"
      ]
    }
  }
}

Linux/Mac

{
  "mcpServers": {
    "salesforce": {
      "command": "/PATH/TO/java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/Salesforce.prp"
      ]
    }
  }
}

VS Code 使用略有不同的架构:顶层的 servers 对象,并显式设置 "type": "stdio",而不是 mcpServers:

{
  "servers": {
    "salesforce": {
      "type": "stdio",
      "command": "/PATH/TO/java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/Salesforce.prp"
      ]
    }
  }
}
2. 配置文件位置
客户端配置文件架构
Claude DesktopWindows:%APPDATA%\Claude\claude_desktop_config.json
Mac:~/Library/Application Support/Claude/claude_desktop_config.json
mcpServers
Cursor全局:~/.cursor/mcp.json
项目:.cursor/mcp.json
mcpServers
Windsurf~/.codeium/windsurf/mcp_config.jsonmcpServers
Cline打开 Cline 面板 → MCP Servers 图标 → Configure → Configure MCP Servers(编辑 cline_mcp_settings.json)mcpServers
VS Code工作区:.vscode/mcp.json
用户:运行 MCP: Open User Configuration 命令
servers(见上方说明)
3. 运行或刷新客户端

启动客户端;如果客户端已在运行,请重新加载或刷新,使其读取新服务。

**注意:**某些客户端(例如 Claude Desktop)必须完全退出后再重新打开,不能只关闭到系统托盘,这样 MCP 服务才会显示。在 Windows 上使用任务管理器;在 Mac 上使用活动监视器。

运行服务

  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. 如果在客户端中看不到 CData MCP Server,请确保已完全退出并重新打开客户端。一些客户端(例如 Claude Desktop)会在后台继续运行 — 在 Windows 上使用任务管理器,在 Mac 上使用活动监视器,确认进程已退出。
  2. 如果客户端无法检索数据,请确保已正确配置连接。使用连接字符串生成器创建连接字符串(见上文),并将连接字符串复制到属性 (.prp) 文件中。
  3. 如果连接数据源时遇到问题,请联系 CData 支持团队。
  4. 如果使用 MCP 服务时遇到问题,或有其他反馈,请加入 CData 社区。

许可证

此 MCP 服务采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关详情,请参阅项目存储库中的 LICENSE 文件。

支持的数据源

AcceloAccessAct CRMAct-On
Active DirectoryActiveCampaignAcumaticaAdobe Analytics
Adobe CommerceAdobe Experience ManagerAdobe TargetADP
AdRollAfterShipAgileCRMAha!
AircallAirtableAlloyDBAmazon Athena
Amazon DynamoDBAmazon MarketplaceAmazon S3Amplitude
AnaplanApache DorisApifyApollo
AsanaAttioAuth0Authorize.Net
AutopilotAvalara AvaTaxAvazaAvro
AweberAzure Analysis ServicesAzure Data CatalogAzure Data Lake Storage
Azure DevOpsAzure SynapseAzure TableBambooHR
BannerbearBasecampBeeminderBenchmarkEmail
BigCommerceBigQueryBillsbyBitbucket
BitlyBlackbaud FE NXTBoxBrex
Bright DataBrowserlessBugsnagBullhorn CRM
CalendlyCampaignerCampaignMonitorCapsuleCRM
CassandraCertiniaChargebeeChargeOver
ChartMogulCircleCIClariClickTime
ClickUpClioClockifyClose
CloudantCloudConvertCloudflareCockroachDB
CodaCodatCohereCoinbase
ConfluenceConstantContactContentfulConvertAPI
ConvertKitCopperCosmos DBCouchbase
CouchDBCSVCustomer.ioCvent
DatabricksDatadogDB2Deel
DelightedDemioDiscordDiscourse
DocuSignDotmailerDriftDrip
DropboxDynamics 365Dynamics 365 Business CentralDynamics CRM
Dynamics NAVeBayeBay AnalyticsEgnyte
ElasticsearchElevenLabsElorusEmail
EmailOctopusEnterpriseDBEpicor KineticEventbrite
EverhourExaExact OnlineExcel
Excel OnlineFacebookFacebook AdsFactorial
FHIRFigshareFloatFlowlu
FormSiteFoursquareFreeAgentFreshBooks
FreshdeskFreshsalesFreshserviceFreshteam
FrontFTPGetResponseGitHub
GitLabGmailGongGoogle Ad Manager
Google AdsGoogle AnalyticsGoogle CalendarGoogle Campaign Manager 360
Google Cloud StorageGoogle ContactsGoogle DirectoryGoogle Drive
Google FormsGoogle SearchGoogle SheetsGoogle Spanner
Google TasksGoogle TranslateGorgiasGrafana
GraphQLGreenhouseGreenplumGumroad
GuruHacker NewsHarvestHBase
HCL DominoHDFSHelloSignHelpscout
HighriseHiveHubDBHubSpot
HubstaffHugging FaceHumanityIBM Cloud Object Storage
IBM InformixiContactImpalaInsightly
InstagramInstantlyIntercomInvoiced
JDBC-ODBC BridgeJiraJira AssetsJobNimbus
JodooJotFormJSONJumpseller
KafkaKeapKintoneKlaviyo
KlipfolioLakebaseLandbotLaunchDarkly
LDAPLeadDeskLightSpeedRetailLinkedIn
LinkedIn AdsLionDeskMailChimpMailerLite
MailerSendMailgunMailjetMariaDB
MarketoMarkLogicMessageBirdMicrosoft Ads
Microsoft DataverseMicrosoft Entra IDMicrosoft ExchangeMicrosoft OneDrive
Microsoft PlannerMicrosoft TeamsMiroMissive
Mistral AIMixpanelMoceanMode
Monday.comMongoDBMoosendMouseflow
MYOB AccountRightMySQLNASAnCino
Neo4JNethuntNetSuiteNotion
NucliaODataOdooOffice 365
OktaOmnisendOneNoteOnePageCrm
OnfleetOntraportOpenWeatherMapOpsgenie
OptimizelyOracleOracle EloquaOracle Eloqua Reporting
Oracle Financials CloudOracle HCM CloudOracle SalesOracle SCM
Oracle Service CloudOutlookOutreach.ioPabblySubscriptions
PaddlePagerDutyParallelParquet
PaylocityPaymoPayPalPDFMonkey
PerigonPerplexityPhantomBusterPhoenix
PineconePingdomPingOnePinterest
PipedrivePipeline CRMPipeliner CRMPivotalTracker
PlacidPlanioPolarTeamProPostgreSQL
PostmarkPower BI XMLAPrestoPrintful
PrintifyProcoreProductboardPushbullet
QuadernoQualarooQuickbaseQuickBooks
QuickBooks OnlineQuickBooks TimeRabbitMQRaisers Edge NXT
RebillyReckonReckon Accounts HostedRecurly
RedisRedshiftReply.ioREST
RetentlyRootlyRSSSage 200
Sage 300Sage Cloud AccountingSage IntacctSageHR
SalesforceSalesforce CRM AnalyticsSalesforce Data 360Salesforce Financial Service Cloud
Salesforce MarketingSalesforce Marketing Cloud Account EngagementSalesforce PardotSalesloft
SamanageSAPSAP Ariba ProcurementSAP Ariba Source
SAP Business OneSAP Business WarehouseSAP BusinessObjects BISAP ByDesign
SAP ConcurSAP FieldglassSAP HANASAP HANA XS Advanced
SAP Hybris C4CSAP Netweaver GatewaySAP SuccessFactorsSAP SuccessFactors LMS
SAS Data SetsSAS xptScrapflyScrapingBee
SendGridSendInBlueSendPulseSendwithus
SentryServiceDesk PlusServiceNowSFTP
SharePointSharePoint Excel ServicesShipEngineShippo
ShipStationShopifyShort.ioShortcut
SimplesatSingleStoreSlackSmartsheet
Snapchat AdsSnowflakeSpaceXSpark
SparkPostSplunkSpotifySQL Analysis Services
SQL ServerSquareStack ExchangeStrava
StripeSuadeoSugar CRMSuiteCRM
SupabaseSuperchatSurveyMonkeySybase
Sybase IQTallyTandaTavily
TaxJarTeamgateTeamworkTelegram
TemplatedTeradataTestmonitorTickspot
Tier1TigerGraphTimelyTodoist
TogglTrelloTrinoTwilio
Twitter AdsTypeformUnbounceVault CRM
Veeva CRMVercelVimeoVWO
Wave FinancialWebexWebflowWistia
WooCommerceWordPressWorkableWorkday
WrikexBaseXeroXML
YelpYouTube AnalyticsZarMoneyZendesk
ZendeskSellZeroBounceZoho BooksZoho Creator
Zoho CRMZoho InventoryZoho ProjectsZoho Recruit
ZohoDeskZohoExpenseZohoInvoiceZohoMarketingHub
ZohoPeopleZohoSubscriptionsZoomZuora
……还有数十种

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。