关于 cdata-jdbc-mcp-server (read-only)
面向 CData JDBC 驱动的通用只读 MCP 服务,将数百种数据源呈现为可查询的数据。适合需要用自然语言读取实时业务数据的 LLM 用户,支持通过 SQL SELECT 查询而不提供写入操作。
主要功能
- 01连接 CData JDBC 驱动支持的数据源
- 02列出数据表与列
- 03执行 SQL SELECT 查询
- 04以 CSV 格式返回查询结果
- 05配置可访问的数据表
适用场景
- 01用自然语言查询 Salesforce 数据
- 02查看数据源中的表和字段
- 03读取项目工单或日历记录
- 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 驱动程序。
- 克隆代码库:
git clone https://github.com/cdatasoftware/cdata-jdbc-mcp-server.git cd cdata-jdbc-mcp-server - 构建服务:
这将创建 JAR 文件:CDataMCP-jar-with-dependencies.jarmvn clean install - 下载并安装 CData JDBC 驱动程序:https://www.cdata.com/jdbc
- 为 CData JDBC 驱动程序授权(以 Salesforce 为例):
- 前往安装目录中的
lib文件夹,通常为:- (Windows)
C:\Program Files\CData\CData JDBC Driver for {data source}\ - (Mac/Linux)
/Applications/CData JDBC Driver for {data source}/
- (Windows)
- 运行命令
java -jar cdata.jdbc.salesforce.jar --license - 输入您的姓名、电子邮件和“TRIAL”(或您的许可证密钥)。
- 前往安装目录中的
- 配置与数据源的连接(以 Salesforce 为例):
-
运行命令
java -jar cdata.jdbc.salesforce.jar,打开 Connection String 实用程序。 -
配置连接字符串,然后点击“Test Connection”
**注意:**如果数据源使用 OAuth,您需要在浏览器中进行身份验证。
-
连接成功后,复制连接字符串以供后续使用。
-
- 使用以下属性和格式,为 JDBC 连接创建
.prp文件(例如Salesforce.prp):- Prefix - 用作已公开工具的前缀
- DriverPath - JDBC 驱动程序 JAR 文件的完整路径
- DriverClass - JDBC 驱动程序类的名称(例如 cdata.jdbc.salesforce.SalesforceDriver)
- JdbcUrl - 用于通过 CData JDBC 驱动程序连接数据的 JDBC 连接字符串(从上方复制)
- Tables - 留空以访问所有数据;否则,可以明确声明要开放访问的表
- ServerName (可选) - 服务名称;若省略,则默认为
Prefix的值 - ServerVersion (可选) - 服务版本;若省略,则默认为
1.0Prefix=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 Desktop | Windows:%APPDATA%\Claude\claude_desktop_config.jsonMac: ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers |
| Cursor | 全局:~/.cursor/mcp.json项目: .cursor/mcp.json | mcpServers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers |
| 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 上使用活动监视器。
运行服务
- 运行以下命令,单独运行 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"
}
}
}
故障排除
- 如果在客户端中看不到 CData MCP Server,请确保已完全退出并重新打开客户端。一些客户端(例如 Claude Desktop)会在后台继续运行 — 在 Windows 上使用任务管理器,在 Mac 上使用活动监视器,确认进程已退出。
- 如果客户端无法检索数据,请确保已正确配置连接。使用连接字符串生成器创建连接字符串(见上文),并将连接字符串复制到属性 (.prp) 文件中。
- 如果连接数据源时遇到问题,请联系 CData 支持团队。
- 如果使用 MCP 服务时遇到问题,或有其他反馈,请加入 CData 社区。
许可证
此 MCP 服务采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关详情,请参阅项目存储库中的 LICENSE 文件。
支持的数据源
| Accelo | Access | Act CRM | Act-On |
| Active Directory | ActiveCampaign | Acumatica | Adobe Analytics |
| Adobe Commerce | Adobe Experience Manager | Adobe Target | ADP |
| AdRoll | AfterShip | AgileCRM | Aha! |
| Aircall | Airtable | AlloyDB | Amazon Athena |
| Amazon DynamoDB | Amazon Marketplace | Amazon S3 | Amplitude |
| Anaplan | Apache Doris | Apify | Apollo |
| Asana | Attio | Auth0 | Authorize.Net |
| Autopilot | Avalara AvaTax | Avaza | Avro |
| Aweber | Azure Analysis Services | Azure Data Catalog | Azure Data Lake Storage |
| Azure DevOps | Azure Synapse | Azure Table | BambooHR |
| Bannerbear | Basecamp | Beeminder | BenchmarkEmail |
| BigCommerce | BigQuery | Billsby | Bitbucket |
| Bitly | Blackbaud FE NXT | Box | Brex |
| Bright Data | Browserless | Bugsnag | Bullhorn CRM |
| Calendly | Campaigner | CampaignMonitor | CapsuleCRM |
| Cassandra | Certinia | Chargebee | ChargeOver |
| ChartMogul | CircleCI | Clari | ClickTime |
| ClickUp | Clio | Clockify | Close |
| Cloudant | CloudConvert | Cloudflare | CockroachDB |
| Coda | Codat | Cohere | Coinbase |
| Confluence | ConstantContact | Contentful | ConvertAPI |
| ConvertKit | Copper | Cosmos DB | Couchbase |
| CouchDB | CSV | Customer.io | Cvent |
| Databricks | Datadog | DB2 | Deel |
| Delighted | Demio | Discord | Discourse |
| DocuSign | Dotmailer | Drift | Drip |
| Dropbox | Dynamics 365 | Dynamics 365 Business Central | Dynamics CRM |
| Dynamics NAV | eBay | eBay Analytics | Egnyte |
| Elasticsearch | ElevenLabs | Elorus | |
| EmailOctopus | EnterpriseDB | Epicor Kinetic | Eventbrite |
| Everhour | Exa | Exact Online | Excel |
| Excel Online | Facebook Ads | Factorial | |
| FHIR | Figshare | Float | Flowlu |
| FormSite | Foursquare | FreeAgent | FreshBooks |
| Freshdesk | Freshsales | Freshservice | Freshteam |
| Front | FTP | GetResponse | GitHub |
| GitLab | Gmail | Gong | Google Ad Manager |
| Google Ads | Google Analytics | Google Calendar | Google Campaign Manager 360 |
| Google Cloud Storage | Google Contacts | Google Directory | Google Drive |
| Google Forms | Google Search | Google Sheets | Google Spanner |
| Google Tasks | Google Translate | Gorgias | Grafana |
| GraphQL | Greenhouse | Greenplum | Gumroad |
| Guru | Hacker News | Harvest | HBase |
| HCL Domino | HDFS | HelloSign | Helpscout |
| Highrise | Hive | HubDB | HubSpot |
| Hubstaff | Hugging Face | Humanity | IBM Cloud Object Storage |
| IBM Informix | iContact | Impala | Insightly |
| Instantly | Intercom | Invoiced | |
| JDBC-ODBC Bridge | Jira | Jira Assets | JobNimbus |
| Jodoo | JotForm | JSON | Jumpseller |
| Kafka | Keap | Kintone | Klaviyo |
| Klipfolio | Lakebase | Landbot | LaunchDarkly |
| LDAP | LeadDesk | LightSpeedRetail | |
| LinkedIn Ads | LionDesk | MailChimp | MailerLite |
| MailerSend | Mailgun | Mailjet | MariaDB |
| Marketo | MarkLogic | MessageBird | Microsoft Ads |
| Microsoft Dataverse | Microsoft Entra ID | Microsoft Exchange | Microsoft OneDrive |
| Microsoft Planner | Microsoft Teams | Miro | Missive |
| Mistral AI | Mixpanel | Mocean | Mode |
| Monday.com | MongoDB | Moosend | Mouseflow |
| MYOB AccountRight | MySQL | NASA | nCino |
| Neo4J | Nethunt | NetSuite | Notion |
| Nuclia | OData | Odoo | Office 365 |
| Okta | Omnisend | OneNote | OnePageCrm |
| Onfleet | Ontraport | OpenWeatherMap | Opsgenie |
| Optimizely | Oracle | Oracle Eloqua | Oracle Eloqua Reporting |
| Oracle Financials Cloud | Oracle HCM Cloud | Oracle Sales | Oracle SCM |
| Oracle Service Cloud | Outlook | Outreach.io | PabblySubscriptions |
| Paddle | PagerDuty | Parallel | Parquet |
| Paylocity | Paymo | PayPal | PDFMonkey |
| Perigon | Perplexity | PhantomBuster | Phoenix |
| Pinecone | Pingdom | PingOne | |
| Pipedrive | Pipeline CRM | Pipeliner CRM | PivotalTracker |
| Placid | Planio | PolarTeamPro | PostgreSQL |
| Postmark | Power BI XMLA | Presto | Printful |
| Printify | Procore | Productboard | Pushbullet |
| Quaderno | Qualaroo | Quickbase | QuickBooks |
| QuickBooks Online | QuickBooks Time | RabbitMQ | Raisers Edge NXT |
| Rebilly | Reckon | Reckon Accounts Hosted | Recurly |
| Redis | Redshift | Reply.io | REST |
| Retently | Rootly | RSS | Sage 200 |
| Sage 300 | Sage Cloud Accounting | Sage Intacct | SageHR |
| Salesforce | Salesforce CRM Analytics | Salesforce Data 360 | Salesforce Financial Service Cloud |
| Salesforce Marketing | Salesforce Marketing Cloud Account Engagement | Salesforce Pardot | Salesloft |
| Samanage | SAP | SAP Ariba Procurement | SAP Ariba Source |
| SAP Business One | SAP Business Warehouse | SAP BusinessObjects BI | SAP ByDesign |
| SAP Concur | SAP Fieldglass | SAP HANA | SAP HANA XS Advanced |
| SAP Hybris C4C | SAP Netweaver Gateway | SAP SuccessFactors | SAP SuccessFactors LMS |
| SAS Data Sets | SAS xpt | Scrapfly | ScrapingBee |
| SendGrid | SendInBlue | SendPulse | Sendwithus |
| Sentry | ServiceDesk Plus | ServiceNow | SFTP |
| SharePoint | SharePoint Excel Services | ShipEngine | Shippo |
| ShipStation | Shopify | Short.io | Shortcut |
| Simplesat | SingleStore | Slack | Smartsheet |
| Snapchat Ads | Snowflake | SpaceX | Spark |
| SparkPost | Splunk | Spotify | SQL Analysis Services |
| SQL Server | Square | Stack Exchange | Strava |
| Stripe | Suadeo | Sugar CRM | SuiteCRM |
| Supabase | Superchat | SurveyMonkey | Sybase |
| Sybase IQ | Tally | Tanda | Tavily |
| TaxJar | Teamgate | Teamwork | Telegram |
| Templated | Teradata | Testmonitor | Tickspot |
| Tier1 | TigerGraph | Timely | Todoist |
| Toggl | Trello | Trino | Twilio |
| Twitter Ads | Typeform | Unbounce | Vault CRM |
| Veeva CRM | Vercel | Vimeo | VWO |
| Wave Financial | Webex | Webflow | Wistia |
| WooCommerce | WordPress | Workable | Workday |
| Wrike | xBase | Xero | XML |
| Yelp | YouTube Analytics | ZarMoney | Zendesk |
| ZendeskSell | ZeroBounce | Zoho Books | Zoho Creator |
| Zoho CRM | Zoho Inventory | Zoho Projects | Zoho Recruit |
| ZohoDesk | ZohoExpense | ZohoInvoice | ZohoMarketingHub |
| ZohoPeople | ZohoSubscriptions | Zoom | Zuora |
| ……还有数十种 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。