The driver does the hard part — turning the source into tables an assistant can reason about — so the three tools reduce to discover, describe, query. Two constraints shape where it fits: stdio means the server has to run on the same machine as the client, and this build reads only. The vendor points at their managed platform and paid driver when you need remote access or writes.
A Java MCP server wrapping the CData JDBC Driver for Google Search. The driver models the source as relational tables; the server lets an assistant list them, inspect their columns, and run SELECT queries. It communicates over stdio, so client and server sit on the same machine.
- The tables the data source exposes, returned as CSV with a header row — `googlesearch_get_tables`
- The columns of a table, also as CSV — `googlesearch_get_columns`
- A SQL SELECT executed against the source — `googlesearch_run_query`
- Control over what is reachable at all: the `Tables` property in your `.prp` file, left blank for everything
Java, Maven, and the CData JDBC Driver for Google Search, which must be licensed — run `java -jar cdata.jdbc.googlesearch.jar --license` and enter `TRIAL` or your key. Build the server with `mvn clean install` to produce `CDataMCP-jar-with-dependencies.jar`, then write a `.prp` file naming `Prefix`, `ServerName`, `ServerVersion`, `DriverPath`, `DriverClass` and the `JdbcUrl` from the driver's connection-string utility. The client runs `java -jar` against that JAR with the `.prp` path as its argument. This build is read-only.
