hubspot_get_tablesLABSCO SUMMARY
Three tools, any table in HubSpot.
The whole point is the shape of the tool surface: three generic tools instead of one tool per HubSpot object, so the context cost stays flat no matter how wide the schema is and the model discovers the schema by asking. The price is setup — a Maven build plus a licensed JDBC driver before anything runs — and read-only access. CData points anyone who wants writes, actions or a hosted endpoint at its commercial products.
What it is
A local, read-only MCP server that CData builds on top of its JDBC driver for HubSpot. The driver presents HubSpot as relational SQL models; this server wraps the driver and hands an assistant a small SQL interface over it, so questions get answered from live data instead of a stale export. It runs as a Java process over stdio on your own machine.
What you get
- Three tools, prefixed with the server name you set in the properties file:
hubspot_get_tableslists the tables the driver exposes,hubspot_get_columnslists a table's columns, andhubspot_run_queryruns a SQL SELECT. - Table and column output comes back as CSV with a header row, so the assistant can orient itself on an unfamiliar schema before it queries anything.
- Read access only — the query tool takes SELECT. Nothing in this server writes back to HubSpot.
- A
Tablessetting that only picks which tables also get a ready-made description (blank means none); it does not limit what the tools can list or query, so limit the connection or the account it signs in with.
Requirements
Java and Maven — clone the repo and run mvn clean install to produce CDataMCP-jar-with-dependencies.jar. Separately install the CData JDBC Driver for HubSpot and license it (run the driver jar with --license and enter your name, email and either TRIAL or a license key). Then build a connection string with the driver's connection-string utility and write a properties file with Prefix=hubspot, DriverClass=cdata.jdbc.hubspot.HubSpotDriver, the path to the driver jar and that JDBC URL. Point your client at java, the server jar and the properties file. The server speaks stdio, so the client has to run on the same machine. MIT licensed.
Setup effort
Build from source — git clone https://github.com/cdatasoftware/hubspot-mcp-server-by-cdata.git
USE CASES
Answering a question about HubSpot without building a report
Ask in plain language; the assistant lists tables, checks the columns it needs, then runs one SELECT and reads the CSV back.
Exploring a schema you have never seen
Start from the table list, drill into columns for the two or three that look relevant, and only then write a query — much cheaper than guessing field names.
3 tools
Listed in project docs. Your client may show a different list.
hubspot_get_columnshubspot_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix from your .prp file; the examples use hubspot_*. Read-only: run_query executes SELECT only, even though the README's usage notes say the client can read, write, update and delete; writes come with CData's separate MCP Server for HubSpot.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/cdatasoftware/hubspot-mcp-server-by-cdata.git
cd hubspot-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for HubSpot from https://www.cdata.com/drivers/hubspot/download/jdbc
License the driver: in the lib folder of the driver's installation directory, run java -jar cdata.jdbc.hubspot.jar --license (enter your name, email, and "TRIAL" or a license key)
Run java -jar cdata.jdbc.hubspot.jar with no arguments to open the Connection String utility, test the connection (HubSpot sign-in opens in your browser), then copy the connection string
Create hubspot.prp with:
Prefix=hubspot
ServerName=CDataHubSpot
ServerVersion=1.0
DriverPath=<YOUR_DRIVER_PATH>
DriverClass=cdata.jdbc.hubspot.HubSpotDriver
JdbcUrl=<YOUR_JDBC_URL>
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.
MCP Clients
Claude Desktop
{
"mcpServers": {
"hubspot-mcp-server": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_HUBSPOT>"
]
}
}
}