exact_get_tablesLABSCO SUMMARY
Three tools, read-only, grounded in the real schema.
Rather than modelling Exact Online's API surface, this leans entirely on the JDBC driver's relational view and gives the model just enough to explore it: tables, columns, and a SELECT. That ordering is what keeps answers honest — the query is written after the schema has been read, not before. Installing and licensing the driver is the work you have to do first.
What it is
A local MCP server wrapping the CData JDBC Driver for Exact Online, which exposes Exact Online as relational SQL models. A model gets the table list, the column list, and a read-only query tool, so it answers from live records instead of from memory. Communication is over stdio, so the client has to run on the same machine as the server.
What you get
- The Exact Online tables the driver exposes, returned as CSV with a header row —
exact_get_tables - The columns on any one table, so queries are built against real field names —
exact_get_columns - A SQL
SELECTexecuted against your live Exact Online data —exact_run_query - 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
An Exact Online account and a licensed CData JDBC Driver for Exact Online — a trial licence is accepted, applied with java -jar cdata.jdbc.exact.jar --license. Java to run the server, Maven to build it (mvn clean install produces CDataMCP-jar-with-dependencies.jar). A .prp connection file supplies DriverClass as cdata.jdbc.exact.ExactDriver, the driver jar path, a tool Prefix such as exact, and the JDBC connection string, which the driver's Connection String utility generates — OAuth sources send you through a browser sign-in at that point. MIT licensed.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
Asking a finance question against live records
Pose the question in plain language; the model reads the relevant table's columns, then runs a single SELECT for the answer.
Mapping what Exact Online exposes
Walk the table and column lists to see what the driver surfaces before committing to a reporting design.
3 tools
Listed in project docs. Your client may show a different list.
exact_get_columnsexact_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix in the .prp file, so the example config's names become exact_get_tables, exact_get_columns and exact_run_query. All three are read-only (run_query accepts only SELECT), despite a line promising writes.
Where it runs
The documented client runs 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/exact-online-mcp-server-by-cdata.git
cd exact-online-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Exact Online from https://www.cdata.com/drivers/exact/download/jdbc
License the driver: java -jar cdata.jdbc.exact.jar --license (enter name, email, and "TRIAL" or a license key)
Run java -jar cdata.jdbc.exact.jar with no arguments to open the Connection String utility, test the connection, copy the connection string
Write a .prp file (e.g. exact-online.prp) containing Prefix=exact, ServerName, ServerVersion, DriverPath, DriverClass=cdata.jdbc.exact.ExactDriver, JdbcUrl, 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, pointing java at CDataMCP-jar-with-dependencies.jar and at the .prp file, then fully quit and reopen the client
MCP Clients
Claude Desktop — macOS/Linux
{
"mcpServers": {
"exact-online": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_EXACT_ONLINE>"
]
}
}
}