cdata-adp-read-only-mcp-gateway
Establishes a secure, read-only bridge to live ADP datasets via the Model Context Protocol (MCP), powered by CData's JDBC connector infrastructure. This setup facilitates real-time data interaction for Artificial Intelligence agents by translating natural language queries into accessible data structures, bypassing the need for direct SQL expertise.
Author

CDataSoftware
Quick Info
Actions
Tags
CData ADP Connector: Read-Only MCP Endpoint
This repository details the construction of a restricted (read-only) MCP server designed specifically for interfacing with ADP data sources.
:warning: Alternative for Full CRUD Operations: For scenarios requiring comprehensive data manipulation (Read, Write, Update, Delete, plus actions) with a streamlined deployment process, please explore the complimentary, production-ready CData MCP Server for ADP (currently in beta): CData ADP MCP Server (Beta Download).
Core Functionality
The primary goal of this read-only server component is to enable Large Language Models (LLMs), such as Claude Desktop, to execute live queries against ADP systems. Access is mediated through the robust CData JDBC Driver for ADP.
The CData JDBC Driver virtualizes the ADP environment, presenting its complex data schema as a conventional relational model accessible via SQL interfaces.
This wrapper service exposes the data through the standardized MCP layer. Consequently, LLMs can retrieve current information simply by posing questions in plain English, eliminating the prerequisite of writing structured query language.
Deployment & Configuration Steps
-
Acquire Source Code: bash git clone https://github.com/cdatasoftware/adp-mcp-server-by-cdata.git cd adp-mcp-server-by-cdata
-
Compile Artifacts: bash mvn clean install
This step generates the executable JAR:
CDataMCP-jar-with-dependencies.jar. 3. Install JDBC Driver: Obtain and install the necessary CData JDBC Driver for ADP from: https://www.cdata.com/drivers/adp/download/jdbc 4. License the Driver: * Navigate to the installed driver'slibdirectory (typical paths): * Windows:C:\Program Files\CData\CData JDBC Driver for ADP\* macOS/Linux:/Applications/CData JDBC Driver for ADP/* Execute the licensing utility: bash java -jar cdata.jdbc.adp.jar --license- Provide your credentials and use "TRIAL" or your valid key when prompted.
- Configure Data Source Connection:
-
Launch the utility to define connection parameters: bash java -jar cdata.jdbc.adp.jar
-
Within the utility, define your connection string (e.g., for Salesforce, if applicable) and validate it by clicking "Test Connection".
OAuth Notice: If the target data source requires OAuth, the authentication flow will launch in a web browser.
- Once verified, capture and save the resulting JDBC connection string.
- Define Server Manifest (
.prpFile): Create a configuration file (e.g.,adp.prp) specifying how the MCP server should operate using the following essential properties: - Prefix: A unique namespace identifier for the exposed methods (e.g.,
adp). - ServerName: A descriptive label for the service instance.
- ServerVersion: The current version identifier.
- DriverPath: The absolute file path to the CData ADP JDBC JAR.
- DriverClass: The fully qualified name of the JDBC driver class (e.g.,
cdata.jdbc.adp.ADPDriver). - JdbcUrl: The connection string obtained in Step 5.
- Tables: Specify a comma-separated list of desired tables for access; leave empty (
Tables=) to grant access to all available structures.
Example
.prpformat: env Prefix=adp ServerName=CDataADPGateway ServerVersion=1.0.1 DriverPath=ABSOLUTE/PATH/TO/cdata.jdbc.adp.jar DriverClass=cdata.jdbc.adp.ADPDriver JdbcUrl=jdbc:adp:InitiateOAuth=GETANDREFRESH; Tables=
Integration with AI Clients (e.g., Claude Desktop)
-
Update Client Configuration: Create or modify the client's configuration file (e.g.,
claude_desktop_config.json) to register the new MCP endpoint.Windows Configuration Snippet:
{ "mcpServers": { "adp_gateway": { "command": "C:\PATH\TO\java.exe", "args": [ "-jar", "C:\PATH\TO\CDataMCP-jar-with-dependencies.jar", "C:\PATH\TO\adp.prp" ] }, ... } }
Linux/Mac Configuration Snippet:
{ "mcpServers": { "adp_gateway": { "command": "/usr/bin/java", "args": [ "-jar", "/opt/cdata/CDataMCP-jar-with-dependencies.jar", "/etc/config/adp.prp" ] }, ... } }
Copy the generated configuration file to the client's required runtime directory (e.g., for Claude Desktop): Windows:
copy local_config.json %APPDATA%\Claude\claude_desktop_config.jsonLinux/Mac:cp local_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json2. Activate Server: Relaunch or refresh the AI client application.
Note: A complete shutdown (and restart) of the host client application is often necessary for newly configured MCP endpoints to be recognized.
Standalone Execution
The server component can also be initiated independently using the following invocation (useful for diagnostics): bash java -jar /ABSOLUTE/PATH/TO/CDataMCP-jar-with-dependencies.jar /ABSOLUTE/PATH/TO/adp.prp
Constraint: The server communicates via standard input/output (
stdio) and thus requires the calling client application to reside on the same host machine.
Query Interaction Model
Upon successful registration, the AI agent gains access to the underlying ADP entities. Instead of manual API calls, users pose queries related to the data. For instance: * "Analyze the historical trend of quarterly payroll adjustments against annual headcount changes." * "List all active employee records associated with the 'Finance' department coded as level 5 or above." * "Summarize scheduled time-off events for managers in the current fiscal period."
Available Methods (Tools)
Tool names will incorporate the prefix defined in the .prp file (e.g., adp_get_tables).
* [prefix]_get_tables - Fetches the navigable structure (tables/views) within the ADP schema. Reference the [prefix]_get_columns tool subsequently to inspect structure details. Output is delivered in CSV format, headed by column names.
* [prefix]_get_columns - Retrieves the attribute definitions (columns) for a specified table. This complements [prefix]_get_tables.
* [prefix]_run_query - Executes a direct SQL SELECT statement against the ADP backend.
JSON-RPC 2.0 Request Schemas
These examples illustrate the expected payload structure for direct scripting against the server endpoint.
Example: Listing Schemas (adp_get_tables)
{ "jsonrpc": "2.0", "id": 101, "method": "tools/call", "params": { "name": "adp_get_tables", "arguments": {} } }
Example: Inspecting Table Structure (adp_get_columns)
{ "jsonrpc": "2.0", "id": 102, "method": "tools/call", "params": { "name": "adp_get_columns", "arguments": { "table": "EmployeeRecords" } } }
Example: Executing Data Retrieval (adp_run_query)
{ "jsonrpc": "2.0", "id": 103, "method": "tools/call", "params": { "name": "adp_run_query", "arguments": { "sql": "SELECT EmployeeID, LastName, AnnualSalary FROM [PayrollData] WHERE IsActive = 1 AND PayRate > 50000.00" } } }
Common Issues & Resolution
- Client Visibility Failure: If the server endpoint is not registering in the AI client (e.g., Claude Desktop), ensure the client process is completely terminated (use Task Manager/Activity Monitor to verify).
- Data Retrieval Errors: Verify that the connection configuration within the
.prpfile accurately mirrors the string validated using the Connection String utility. - Connectivity Problems: For issues related to establishing a link to ADP itself, please engage the CData Technical Support Portal.
- MCP Server Feedback: For issues pertaining to the server operation or general feedback, join the CData User Community.
Licensing
This software package is distributed under the permissive MIT License. See the bundled LICENSE file for full usage, modification, and distribution rights.
Comprehensive Data Source Compatibility
While configured here for ADP, the underlying CData JDBC technology supports integration with an extensive range of enterprise data stores. A selection of supported sources includes: [Table listing of supported connectors from original README]
Contextual Relevance (Business Management Tools)
This component fits within the broader category of Business Management Tools, which encompass the entire stack of systems, logic, and procedures organizations employ to maintain market relevance, optimize operations, and enhance overall performance metrics. Specifically, this tool addresses the data consolidation and decision-making aspect by making real-time operational data immediately available for analytical processing by advanced AI systems.
