LabscoMCP early access ↗
CDataSoftwareMCP SERVER

Snowflake MCP Server by CData

Ask questions of live Snowflake data in plain language — a read-only MCP server that models Snowflake as SQL tables through CData's JDBC driver.

by CDataSoftware ↗SaaS-to-SQL ConnectorsCommunity

LABSCO SUMMARY

Read-only by construction.

Three tools and no write path is the whole design: the model discovers tables, reads columns and runs SELECTs, so a badly framed question produces a wrong answer rather than a changed record. Two things decide whether it fits. The CData JDBC driver is a separate licensed product, with a trial key to start on. And the Tables field in the connection profile is where you choose how much of Snowflake is reachable — left blank, everything the connection can see is in scope.

What it is

A read-only MCP server built on CData's JDBC Driver for Snowflake. The driver exposes Snowflake as relational tables; the server puts three tools over it, so a client can discover what tables exist, read a table's columns, and run a SELECT — without anyone writing SQL by hand.

What you get

  • The tables the driver exposes for Snowflake, returned as CSV with a header row — snowflake_get_tables
  • The columns of one of those tables, also as CSV, so a query can be composed against real field names — snowflake_get_columns
  • A SQL SELECT executed against live Snowflake data — snowflake_run_query
  • Tool names that carry the prefix you set in the connection profile — the sample uses Prefix=snowflake — so several CData servers can run side by side without colliding
  • A Tables field in the profile that decides how much of Snowflake is visible at all: leave it blank for everything the connection can reach, or list the tables you want exposed

Requirements

Java and Maven to build — mvn clean install produces CDataMCP-jar-with-dependencies.jar. The CData JDBC Driver for Snowflake is a separate download and needs licensing: run java -jar cdata.jdbc.snowflake.jar --license and enter a name, an email and either TRIAL or a licence key. Connection settings go in a .prp file carrying Prefix, ServerName (the sample uses CDataSnowflake), ServerVersion, DriverPath, DriverClass (cdata.jdbc.snowflake.SnowflakeDriver), the JdbcUrl produced by the driver's connection-string utility, and the optional Tables list. The client then launches java -jar CDataMCP-jar-with-dependencies.jar snowflake.prp. Transport is stdio, so the server has to run on the same machine as the client. If the data source authenticates over OAuth, you approve it in a browser while building the connection string.

Setup effort

Build from source — git clone https://github.com/cdatasoftware/snowflake-mcp-server-by-cdata.git