LabscoMCP early access ↗
CDataSoftwareMCP SERVER

Google BigQuery by CData

Run read-only SELECT queries against BigQuery from an MCP client, through CData's JDBC driver.

by CDataSoftware ↗SaaS-to-SQL ConnectorsCommunity

LABSCO SUMMARY

A deliberately small BigQuery surface: list, describe, select.

BigQuery already speaks SQL, so what this adds is a bounded tool surface — three tools, none of which can write — plus schema discovery the model can call before it queries. The connection details, including which project and dataset are in scope, live in the JDBC connection string you build during driver setup, not in anything the model controls.

What it is

A Java MCP server that puts CData's JDBC Driver for Google BigQuery behind three read-only tools: list the tables, list a table's columns, and run a SQL SELECT. The driver is what does the work — it exposes Google BigQuery as relational SQL models — and the server hands those models to your client so you can ask questions in plain language instead of writing SQL yourself.

What you get

  • get_tables returns the tables available in the data source, as CSV with a header row
  • get_columns returns the columns of one table, in the same CSV shape
  • run_query executes a SQL SELECT and returns the rows
  • Every tool name starts with the Prefix in your .prp file (googlebigquery_ in the sample), so several CData servers can run side by side without colliding
  • Ask in plain language and the client picks the tools and writes the SQL itself

Requirements

Build the server with mvn clean install, which produces CDataMCP-jar-with-dependencies.jar. Separately download the CData JDBC Driver for Google BigQuery and license it: run java -jar cdata.jdbc.googlebigquery.jar --license and enter your name, email and either TRIAL or a licence key. Then write a .prp file naming DriverClass=cdata.jdbc.googlebigquery.GoogleBigQueryDriver plus the JdbcUrl you build in the driver's connection-string utility, and point your client at java -jar with the jar and that file. Transport is stdio, so the server has to run on the same machine as the client.

Setup effort

Build from source — clone the repository, then point your client at the binary