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

CDataSoftware
Quick Info
Actions
Tags
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
-
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
-
Compile the Application: Execute the build command: bash mvn clean install
This operation generates the executable JAR:
CDataMCP-jar-with-dependencies.jar3. 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 thelibsubdirectory 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)
-
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 themcpServersobject.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'
-
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_columnstool. 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_tablesto 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
- 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.
- Data Retrieval Errors: Verify that the connection parameters in your
.prpfile accurately reflect the output from the Connection String utility. - Connectivity Problems: For issues directly related to connecting to Google Sheets, please engage the CData Support Team.
- 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 | EnterpriseDB | Epicor Kinetic | |
| Exact Online | Excel | Excel Online | |
| 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 | JDBC-ODBC Bridge | |
| Jira | Jira Assets | Jira Service Management | JSON |
| Kafka | Kintone | LDAP | |
| 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 | 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 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.
