Our generic Model Context Protocol (MCP) Server for CData JDBC Drivers (read-only)
❗Note: This project builds a read-only MCP server. For full read, write, update, delete, and action capabilities across hundreds of sources — plus remote MCP access, semantic context, and enterprise governance (SSO, RBAC, audit trails) — check out CData Connect AI.
We created this read-only MCP Server to allow LLMs (like Claude Desktop) to query live data from hundreds of sources (listed below) supported by CData JDBC Drivers.
CData JDBC Drivers connect to SaaS apps, NoSQL stores, and APIs by exposing them as relational SQL models.
This server wraps those drivers and makes their data available through a simple MCP interface, so LLMs can retrieve live information by asking natural language questions — no SQL required.
In the guide below, {data source} refers to the back-end data source (e.g. Salesforce). For code snippets and commands, Salesforce is used as an example, but the patterns apply to any of our JDBC Drivers.
- Clone the repository:
git clone https://github.com/cdatasoftware/cdata-jdbc-mcp-server.git cd cdata-jdbc-mcp-server - Build the server:
This creates the JAR file: CDataMCP-jar-with-dependencies.jar
mvn clean install
- Download and install a CData JDBC Driver: https://www.cdata.com/jdbc
- License the CData JDBC Driver (Salesforce as an example):
- Navigate to the
libfolder in the installation directory, typically:- (Windows)
C:\Program Files\CData\CData JDBC Driver for {data source}\ - (Mac/Linux)
/Applications/CData JDBC Driver for {data source}/
- (Windows)
- Run the command
java -jar cdata.jdbc.salesforce.jar --license - Enter your name, email, and "TRIAL" (or your license key).
- Navigate to the
- Configure your connection to the data source (Salesforce as an example):
- Create a
.prpfile for your JDBC connection (e.g.Salesforce.prp) using the following properties and format:- Prefix - a prefix to be used for the tools exposed
- DriverPath - the full path to the JAR file for your JDBC driver
- DriverClass - the name of the JDBC Driver Class (e.g. cdata.jdbc.salesforce.SalesforceDriver)
- JdbcUrl - the JDBC connection string to use with the CData JDBC Driver to connect to your data (copied from above)
- Tables - leave blank to access all data, otherwise you can explicitly declare the tables you wish to create access for
- ServerName (optional) - a name for your server; defaults to the
Prefixvalue if omitted - ServerVersion (optional) - a version for your server; defaults to
1.0if omittedPrefix=salesforce DriverPath=PATH\TO\cdata.jdbc.salesforce.jar DriverClass=cdata.jdbc.salesforce.SalesforceDriver JdbcUrl=jdbc:salesforce:InitiateOAuth=GETANDREFRESH; Tables=
Because the server runs locally over stdio, it works with any desktop MCP client that launches local servers — Claude Desktop, Cursor, Windsurf, Cline, VS Code, and others. In every case you point the client at your java executable and pass the assembled JAR and your .prp file as arguments.
Most clients use the same mcpServers schema. Add the entry below to your client's MCP config file (see config file locations for where each client keeps it). If the file already exists, add this entry alongside any existing servers.
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 uses a slightly different schema — a top-level
serversobject with an explicit"type": "stdio"— instead ofmcpServers:{ "servers": { "salesforce": { "type": "stdio", "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/Salesforce.prp" ] } } }
| Client | Config file | Schema |
|---|---|---|
| Claude Desktop | Windows: %APPDATA%\Claude\claude_desktop_config.jsonMac: ~/Library/Application Support/Claude/claude_desktop_config.json |
mcpServers |
| Cursor | Global: ~/.cursor/mcp.jsonProject: .cursor/mcp.json |
mcpServers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Cline | Open the Cline panel → MCP Servers icon → Configure → Configure MCP Servers (edits cline_mcp_settings.json) |
mcpServers |
| VS Code | Workspace: .vscode/mcp.jsonUser: run the MCP: Open User Configuration command |
servers (see note above) |
Start the client, or reload/refresh it if it was already running, so it picks up the new server.
Note: Some clients (e.g. Claude Desktop) must be fully quit and re-opened — not just closed to the tray — before the MCP server appears. On Windows use the Task Manager; on Mac use the Activity Monitor.
- Run the following command to run the MCP Server on its own:
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
Note: The server uses
stdioso can only be used with clients that run on the same machine as the server.
Once the MCP Server is configured, the AI client will be able to use the built-in tools to read the underlying data (this server is read-only). In general, you do not need to call the tools explicitly. Simply ask the client to answer questions about the underlying data system. For example:
- "What is the correlation between my closed won opportunities and the account industry?"
- "How many open tickets do I have in the SUPPORT project?"
- "Can you tell me what calendar events I have today?"
The list of tools available and their descriptions follow:
In the definitions below, {servername} refers to the name of the MCP Server in the config file (e.g. salesforce above).
{servername}_get_tables- Retrieves a list of tables available in the data source. Use the{servername}_get_columnstool to list available columns on a table. The output of the tool will be returned in CSV format, with the first line containing column headers.{servername}_get_columns- Retrieves a list of columns for a table. Use the{servername}_get_tablestool to get a list of available tables. The output of the tool will be returned in CSV format, with the first line containing column headers.{servername}_run_query- Execute a SQL SELECT query
If you are scripting out the requests sent to the MCP Server instead of using an AI Client (e.g. Claude), then you can refer to the JSON payload examples below – following the JSON-RPC 2.0 specification - when calling the available tools.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "salesforce_get_tables",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "salesforce_get_columns",
"arguments": {
"table": "Account"
}
}
}{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "salesforce_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}- If you cannot see your CData MCP Server in your client, be sure that you have fully quit and re-opened it. Some clients (e.g. Claude Desktop) keep running in the background — on Windows use the Task Manager, on Mac use the Activity Monitor to confirm the process has exited.
- If your client is unable to retrieve data, be sure that you have configured your connection properly. Use the Connection String builder to create the connection string (see above) and copy the connection string into the property (.prp) file.
- If you are having trouble connecting to your data source, contact the CData Support Team.
- If you are having trouble using the MCP server, or have any other feedback, join the CData Community.
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
| 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 |
| ... Dozens More |