googlebigquery_get_tablesLABSCO 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_tablesreturns the tables available in the data source, as CSV with a header rowget_columnsreturns the columns of one table, in the same CSV shaperun_queryexecutes a SQL SELECT and returns the rows- Every tool name starts with the
Prefixin your.prpfile (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
USE CASES
Exploring an unfamiliar dataset
List the tables, then the columns, before writing a query against a warehouse you did not build.
Answering an ad-hoc question
Describe what you want counted; the client writes the SELECT and returns CSV.
Keeping a model away from writes
Point it here rather than at a full BigQuery client — the tool set has no write path.
3 tools
Listed in project docs. Your client may show a different list.
googlebigquery_get_columnsgooglebigquery_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names start with the Prefix in your .prp file. The README's sample uses Prefix=googlebigquery, giving googlebigquery_get_tables. All three only read (run_query executes SELECT), even though the README's usage section says the tools can write, update and delete.
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/google-bigquery-mcp-server-by-cdata.git
cd google-bigquery-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Google BigQuery from https://www.cdata.com/drivers/bigquery/download/jdbc
License the driver: java -jar cdata.jdbc.googlebigquery.jar --license (enter name, email, and "TRIAL" or a license key)
Run java -jar cdata.jdbc.googlebigquery.jar with no arguments to open the Connection String utility, test the connection, copy the connection string
Write a .prp file (e.g. google-bigquery.prp) containing Prefix=googlebigquery, ServerName, ServerVersion, DriverPath, DriverClass=cdata.jdbc.googlebigquery.GoogleBigQueryDriver, 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 — Windows, macOS / Linux
{
"mcpServers": {
"google-bigquery": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_GOOGLE_BIGQUERY>"
]
}
}
}