logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

cdata-mcp-sheets-read-only-gateway

A dedicated, restricted-access Model Context Protocol (MCP) server facilitating read-only retrieval of dynamic data originating from Google Sheets. This intermediary allows sophisticated language models to interrogate and extract up-to-date spreadsheet contents using plain conversational language, eliminating the prerequisite for manual Structured Query Language (SQL) construction.

Author

cdata-mcp-sheets-read-only-gateway logo

CDataSoftware

MIT License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

spreadsheetcloudcdatasoftwarecdatasoftware googlesheets datacloud services

cdata-mcp-sheets-read-only-gateway

Overview of CData's Restricted MCP Endpoint for Google Sheets Data

:warning: ATTENTION: This specific implementation functions exclusively in read-only mode. For comprehensive data manipulation capabilities (Read, Write, Update, Delete, and invoking Actions) coupled with an expedited setup process, please consult the complimentary, feature-rich CData MCP Server for Google Sheets (Beta release).

Core Objective

This read-only MCP service was engineered to empower Large Language Models (LLMs), such as Claude Desktop, with the capability to query live datasets residing within Google Sheets. Access is mediated through the robust CData JDBC Driver for Google Sheets.

The CData JDBC Driver translates Google Sheets structures into conventional relational SQL schemas. This server component encapsulates that driver, exposing the Sheet data via a streamlined MCP interface, thereby enabling LLMs to fetch current information via natural language inquiries—SQL proficiency is not necessary.

Implementation & Configuration Instructions

  1. Acquire the Source Code: Clone the repository: bash git clone https://github.com/cdatasoftware/google-sheets-mcp-server-by-cdata.git cd google-sheets-mcp-server-by-cdata

  2. Compile the Application: Execute the build command: bash mvn clean install

    This operation generates the executable JAR: CDataMCP-jar-with-dependencies.jar 3. Obtain and Install the CData JDBC Driver: Download the necessary driver package from: https://www.cdata.com/drivers/gsheets/download/jdbc 4. Driver Authorization: Activate the CData JDBC Driver: * Navigate to the lib subdirectory within the driver's installation path (e.g., Windows: C:\Program Files\CData\CData JDBC Driver for Google Sheets\ or Linux/Mac: /Applications/CData JDBC Driver for Google Sheets/). * Execute the licensing utility: java -jar cdata.jdbc.googlesheets.jar --license * Input your registration details and use "TRIAL" or your valid license key. 5. Define Data Source Connection: Establish parameters for the underlying data connection: * Invoke the Connection String utility: java -jar cdata.jdbc.googlesheets.jar * Configure the necessary string (e.g., authentication details for OAuth). Verify connectivity using "Test Connection". * Securely copy the resulting connection string. 6. Create the Configuration Properties File (.prp): Generate a properties file (e.g., google-sheets.prp) containing the following critical configuration parameters: * Prefix: A short identifier for the exposed tools. * ServerName: The operational name assigned to this server instance. * ServerVersion: Version marker for the service. * DriverPath: Absolute file system path to the downloaded JDBC JAR. * DriverClass: The fully qualified name of the JDBC driver implementation class (e.g., cdata.jdbc.googlesheets.GoogleSheetsDriver). * JdbcUrl: The connection string obtained in the previous step. * Tables: Specify desired tables; leave empty (Tables=) to grant access to all available resources. env Prefix=googlesheets ServerName=CDataGoogleSheets ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.googlesheets.jar DriverClass=cdata.jdbc.googlesheets.GoogleSheetsDriver JdbcUrl=jdbc:googlesheets:InitiateOAuth=GETANDREFRESH; Tables=

Integrating with the Client Application (e.g., Claude Desktop)

  1. Client Configuration Update: Generate or modify the client's configuration manifest (e.g., claude_desktop_config.json) to incorporate the new MCP endpoint definition within the mcpServers object.

    Windows Example:

    { "mcpServers": { "{classname_dash}": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO\CDataMCP-jar-with-dependencies.jar", "PATH\TO\google-sheets.prp" ] }, ... } }

    Linux/Mac Example:

    { "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/google-sheets.prp" ] }, ... } }

    If necessary, relocate the finalized configuration file to the client's designated profile directory: Windows Relocation: bash cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json

    Linux/Mac Relocation: bash cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json'

  2. Client Refresh: Restart or reload the client application entirely to ensure the newly defined MCP Server is recognized.

Note: A complete termination and restart of the client application (e.g., using Task Manager/Activity Monitor) is often required for new MCP Servers to become visible.

Standalone Server Execution

To operate the server independently (without direct integration into a client environment that uses stdio): bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp

Critical Note: This server exclusively communicates via standard input/output (stdio), necessitating that the consuming client application execute on the same host machine.

Operational Guidance

Once the MCP service is successfully configured, the integrated AI client gains access to perform data inquiries against the backend source. Explicit tool invocation is usually unnecessary; simply pose direct questions about the data you wish to analyze. Examples: * "Identify the relationship between successfully closed sales and the client's primary industry sector." * "Tally the count of pending service requests within the designated SUPPORT queue." * "List all scheduled appointments associated with today's date."

Available Tools and Functionality Descriptions

Tool identifiers below utilize {servername} as a placeholder for the name defined in your configuration (e.g., googlesheets).

  • {servername}_get_tables: Fetches a comprehensive manifest of accessible tables within the connected data repository. For schema detail, chain this with the {servername}_get_columns tool. Output is delivered in CSV format, with the initial row serving as column headers.
  • {servername}_get_columns: Retrieves the structural definition (columns) for a specified table. Always precede this with {servername}_get_tables to identify valid targets. Output format is CSV, including column names as the first line.
  • {servername}_run_query: Permits the execution of arbitrary SQL SELECT statements against the exposed data model.

JSON-RPC Interaction Examples (For Scripted Access)

If bypassing the AI client interface for direct interaction (adhering to JSON-RPC 2.0 standards), refer to these request body templates when invoking the defined tools:

Example: Requesting Table List (google_sheets_get_tables)

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "google_sheets_get_tables", "arguments": {} } }

Example: Requesting Schema Details (google_sheets_get_columns)

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "google_sheets_get_columns", "arguments": { "table": "Account" } } }

Example: Executing a Data Retrieval Query (google_sheets_run_query)

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "google_sheets_run_query", "arguments": { "sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true" } } }

Common Issue Resolution

  1. Server Visibility Failure: If the MCP Server does not appear in the client GUI, confirm that the client application has been completely shut down (Task Manager/Activity Monitor check) and relaunched.
  2. Data Retrieval Errors: Verify that the connection parameters in your .prp file accurately reflect the output from the Connection String utility.
  3. Connectivity Problems: For issues directly related to connecting to Google Sheets, please engage the CData Support Team.
  4. MCP Server Feedback: For suggestions or operational issues with the server itself, participate in the CData Community.

Licensing

This MCP server software is distributed under the permissive MIT License. Details concerning usage, modification, and distribution rights are fully specified in the accompanying LICENSE file.

Extensive Data Source Compatibility List (Via Underlying Driver)

Source Source Source Source
Access Act CRM Act-On Active Directory
ActiveCampaign Acumatica Adobe Analytics Adobe Commerce
ADP Airtable AlloyDB Amazon Athena
Amazon DynamoDB Amazon Marketplace Amazon S3 Asana
Authorize.Net Avalara AvaTax Avro Azure Active Directory
Azure Analysis Services Azure Data Catalog Azure Data Lake Storage Azure DevOps
Azure Synapse Azure Table Basecamp BigCommerce
BigQuery Bing Ads Bing Search Bitbucket
Blackbaud FE NXT Box Bullhorn CRM Cassandra
Certinia Cloudant CockroachDB Confluence
Cosmos DB Couchbase CouchDB CSV
Cvent Databricks DB2 DocuSign
Dropbox Dynamics 365 Dynamics 365 Business Central Dynamics CRM
Dynamics GP Dynamics NAV eBay eBay Analytics
Elasticsearch Email EnterpriseDB Epicor Kinetic
Exact Online Excel Excel Online Facebook
Facebook Ads FHIR Freshdesk FTP
GitHub Gmail Google Ad Manager Google Ads
Google Analytics Google Calendar Google Campaign Manager 360 Google Cloud Storage
Google Contacts Google Data Catalog Google Directory Google Drive
Google Search Google Sheets Google Spanner GraphQL
Greenhouse Greenplum HarperDB HBase
HCL Domino HDFS Highrise Hive
HubDB HubSpot IBM Cloud Data Engine IBM Cloud Object Storage
IBM Informix Impala Instagram JDBC-ODBC Bridge
Jira Jira Assets Jira Service Management JSON
Kafka Kintone LDAP LinkedIn
LinkedIn Ads MailChimp MariaDB Marketo
MarkLogic Microsoft Dataverse Microsoft Entra ID Microsoft Exchange
Microsoft OneDrive Microsoft Planner Microsoft Project Microsoft Teams
Monday.com MongoDB MYOB AccountRight MySQL
nCino Neo4J NetSuite OData
Odoo Office 365 Okta OneNote
Oracle Oracle Eloqua Oracle Financials Cloud Oracle HCM Cloud
Oracle Sales Oracle SCM Oracle Service Cloud Outreach.io
Parquet Paylocity PayPal Phoenix
PingOne Pinterest Pipedrive PostgreSQL
Power BI XMLA Presto Quickbase QuickBooks
QuickBooks Online QuickBooks Time Raisers Edge NXT Reckon
Reckon Accounts Hosted Redis Redshift REST
RSS Sage 200 Sage 300 Sage 50 UK
Sage Cloud Accounting Sage Intacct Salesforce Salesforce Data Cloud
Salesforce Financial Service Cloud Salesforce Marketing Salesforce Marketing Cloud Account Engagement Salesforce Pardot
Salesloft SAP SAP Ariba Procurement SAP Ariba Source
SAP Business One SAP BusinessObjects BI SAP ByDesign SAP Concur
SAP Fieldglass SAP HANA SAP HANA XS Advanced SAP Hybris C4C
SAP Netweaver Gateway SAP SuccessFactors SAS Data Sets SAS xpt
SendGrid ServiceNow SFTP SharePoint
SharePoint Excel Services ShipStation Shopify SingleStore
Slack Smartsheet Snapchat Ads Snowflake
Spark Splunk SQL Analysis Services SQL Server
Square Stripe Sugar CRM SuiteCRM
SurveyMonkey Sybase Sybase IQ Tableau CRM Analytics
Tally TaxJar Teradata Tier1
TigerGraph Trello Trino Twilio
Twitter Twitter Ads Veeva CRM Veeva Vault
Wave Financial WooCommerce WordPress Workday
xBase Xero XML YouTube Analytics
Zendesk Zoho Books Zoho Creator Zoho CRM
Zoho Inventory Zoho Projects Zuora ... Dozens More

WIKIPEDIA Context: Cloud computing is defined by ISO as "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," commonly termed "the cloud."

== Key Attributes (NIST Defined) == NIST specified five foundational characteristics for cloud environments in 2011:

  • On-demand self-service: Users provision capabilities (e.g., compute time, storage) autonomously without needing provider personnel intervention.
  • Broad network access: Services are universally reachable via standard network protocols, supporting diverse client devices (mobiles, laptops, etc.).
  • Resource pooling: Provider resources are aggregated in a multi-tenant architecture, dynamically allocating and reallocating capacity based on current user demand.
  • Rapid elasticity: Capabilities can scale up or down extremely quickly, sometimes automatically, matching fluctuating demand. To the consumer, this capacity often appears limitless.
  • Measured service: Resource consumption (storage, processing, bandwidth) is automatically tracked, controlled, and reported, ensuring provider and consumer transparency regarding utilization.

ISO later updated and expanded this foundational list by 2023.

== Historical Context ==

The genesis of cloud computing traces back to the 1960s with the adoption of time-sharing concepts, often facilitated through Remote Job Entry (RJE). Mainframe operations, where users submitted batch jobs to human operators, dominated this era. The focus was squarely on optimizing infrastructure, platform, and applications to maximize computational efficiency for a larger user base.

The actual "cloud" graphical metaphor, representing virtualized services, was first utilized in 1994 by General Magic for mapping locations accessible by mobile agents within their Telescript environment. David Hoffman, a General Magic communications professional, is credited with adapting the term from its established use in telecommunications and networking. The phrase "cloud computing" gained significant traction in 1996 when Compaq Computer Corporation outlined a business strategy centered around the future of the Internet and computing capabilities.

See Also

`