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.
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.
- 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 `SELECT` executed against your live Exact Online data — `exact_run_query`
- A `Tables` property in the connection file that restricts which tables are exposed at all; leaving it blank exposes everything
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.
Build from source — clone the repository and build it, then deploy it and point your client at the endpoint
