Labsco
MCP SERVER

CData Google Calendars

by CDataSoftware

Ask questions about live Google Calendars data in plain language; the server answers them with SQL through CData's JDBC driver.

SaaS-to-SQL Connectors
Summary
The licensed driver does the hard part.

Three tools is the whole surface, and that is the point — the JDBC driver turns Google Calendars into ordinary tables, so the model writes SELECT statements instead of learning an API shape. What you trade for that is a driver install and a licensing step before the first query, and a server that only reads: there is no write, update, or delete path here.

What it is

A local Java server that puts Google Calendars behind three SQL tools. CData's JDBC Driver for Google Calendars exposes the service as relational tables, and this server wraps the driver so a model can find a table, read its columns, and run a SELECT against live data without anyone writing the API calls.

What you get
  • `googlecalendar_get_tables` returns the tables the driver exposes, as CSV with a header row
  • `googlecalendar_get_columns` returns the columns on one table, in the same CSV shape
  • `googlecalendar_run_query` executes a SQL SELECT statement
  • The `googlecalendar` part is the `Prefix` you set in the property file (`Prefix=googlecalendar` in the sample), so several CData servers can sit in one client without their tool names colliding
  • Leave `Tables=` empty to reach everything, or list table names there to expose only those
Requirements

Build it yourself: clone the repository and run `mvn clean install`, which produces `CDataMCP-jar-with-dependencies.jar`. Install the CData JDBC Driver for Google Calendars separately and license it — `java -jar cdata.jdbc.googlecalendar.jar --license`, then name, email, and TRIAL or your key. Write a `google-calendars.prp` file carrying `DriverClass=cdata.jdbc.googlecalendar.GoogleCalendarDriver` and the JDBC URL from the driver's connection-string utility, and launch the server as `java -jar CDataMCP-jar-with-dependencies.jar google-calendars.prp`. Transport is stdio, so the server runs on the same machine as the client.

Setup effort

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