workday_get_tablesLABSCO SUMMARY
Read-only by construction — this repository builds the safe version on purpose.
The three tools are discovery, discovery and SELECT; nothing here writes back to Workday. CData points at its own paid products for full read-write and for remote hosted access, so if what you want is a question-answering connection to live Workday data running on your own machine, this is exactly that and nothing more.
What it is
A local, read-only MCP server from CData that wraps the CData JDBC Driver for Workday, which exposes Workday as relational SQL models. The assistant lists the tables, reads their columns, and runs SELECT queries against live data.
What you get
get_tables— the tables available in the data source, returned as CSV with a header rowget_columns— the columns of one table, so a query is written against real column names rather than guessesrun_query— execute a SQL SELECT against live Workday data- Questions answered without you writing SQL: the tools are called for you and the results come back in the conversation
- A
Tablessetting that only picks which tables also get a ready-made description (blank means none); it does not limit what the tools can list or query, so limit the connection or the account it signs in with
Requirements
Java, plus Maven to build the jar. Download and license the CData JDBC Driver for Workday — java -jar cdata.jdbc.workday.jar --license, with TRIAL or your key — then build a connection string with its utility; OAuth sources authenticate in the browser. Write a .prp file holding Prefix, ServerName, ServerVersion, DriverPath, DriverClass and JdbcUrl, and launch the jar with that file as its argument. Transport is stdio, so the client has to run on the same machine.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
Answering an HR data question without a report request
The assistant finds the right table, reads its columns, and runs the SELECT — you never open a query tool.
Exploring what Workday actually exposes
List the tables the driver models and inspect the columns before deciding what is worth querying.
Limiting what an assistant can see
Declare the permitted tables in the properties file, so nothing outside that list is reachable.
Cross-referencing two Workday entities
Run several queries in one conversation and let the model line up the results.
3 tools
Listed in project docs. Your client may show a different list.
workday_get_columnsworkday_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix from the .prp file, such as workday_get_tables. The tools only read — run_query executes SELECT statements. The Tables setting does not limit what the tools reach; your connection's access does. Writes need CData's separate MCP Server for Workday.
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then point your client at the binary. This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/cdatasoftware/workday-mcp-server-by-cdata.git
cd workday-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Workday from https://www.cdata.com/drivers/workday/download/jdbc
License the driver: in the driver's lib folder run java -jar cdata.jdbc.workday.jar --license and enter your name, email, and "TRIAL" (or your license key)
Run java -jar cdata.jdbc.workday.jar to open the Connection String utility, configure and test the connection, then copy the connection string
Create workday.prp with:
Prefix=workday
ServerName=CDataWorkday
ServerVersion=1.0
DriverPath=<YOUR_DRIVER_PATH>
DriverClass=cdata.jdbc.workday.WorkdayDriver
JdbcUrl=<YOUR_JDBC_URL>
Tables=Tables only picks which tables also get a ready-made description for your assistant, and empty means none; the server can still list and query every table your connection string reaches, so to keep data out of reach, limit that connection or the account it signs in with.
Add the mcpServers entry below to claude_desktop_config.json and restart the client
(optional, to run standalone) java -jar <YOUR_PATH_TO_CDATA_MCP_JAR_WITH> <YOUR_PATH_TO_WORKDAY>
MCP Clients
Claude Desktop — macOS, Linux, Windows
{
"mcpServers": {
"workday": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_WORKDAY>"
]
}
}
}