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-excel-online-mcp-gateway

Facilitates natural language interaction with live data residing in Excel Online via a specialized Model Context Protocol (MCP) endpoint. This solution allows integration of spreadsheet content into sophisticated AI-driven analytical pipelines. It grants read-only data access leveraging an underlying JDBC connectivity layer, thereby abstracting away the necessity for direct SQL command construction.

Author

cdata-excel-online-mcp-gateway logo

CDataSoftware

MIT License

Quick Info

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

Tags

cdatasoftwareexceljdbccdatasoftware excelaccess excelexcel online

CData MCP Gateway for Excel Online Data Access

Overview

This utility establishes a read-only Model Context Protocol (MCP) server, designed to expose data sources accessible via the CData JDBC Driver for Excel Online to large language models (LLMs).

:warning: Note on Functionality: This specific build offers read-only operations. For complete CRUD (Create, Read, Update, Delete) permissions along with streamlined deployment, please evaluate the comprehensive CData MCP Server for Excel Online (beta release).

Core Mechanism

The foundation of this service is the CData JDBC Driver for Excel Online, which translates Excel Online structures into a relational, SQL-accessible paradigm. Our MCP server encapsulates this driver, presenting the live Excel Online datasets through a straightforward MCP interface. This enables conversational AI agents (such as Claude Desktop) to interrogate and retrieve current data using plain English requests, completely bypassing the need to write conventional SQL queries.

Deployment Instructions

Phase 1: Acquisition and Compilation

  1. Obtain the source code repository: bash git clone https://github.com/cdatasoftware/excel-online-mcp-server-by-cdata.git cd excel-online-mcp-server-by-cdata

  2. Compile the application using Maven: bash mvn clean install

    This action generates the necessary executable artifact: CDataMCP-jar-with-dependencies.jar.

Phase 2: Driver Installation and Licensing

  1. Download and install the requisite CData JDBC Driver for Excel Online: Download Link
  2. Activate the JDBC Driver license:

    • Navigate to the driver's installation directory, typically located at:
      • (Windows) C:\Program Files\CData\CData JDBC Driver for Excel Online\
      • (macOS/Linux) /Applications/CData JDBC Driver for Excel Online/
    • Execute the licensing utility: bash java -jar cdata.jdbc.excelonline.jar --license

    • Input your personal details and either the word "TRIAL" or your purchased entitlement key.

Phase 3: Connection Configuration

  1. Define the data source connection parameters:

    • Execute the driver's connection utility: bash java -jar cdata.jdbc.excelonline.jar

    • Utilize the utility to construct the connection string (e.g., for an OAuth-secured source, complete the browser-based authentication prompt).

    • Upon successful validation, capture the resulting JDBC connection string.
    • Construct a configuration file (e.g., excel-online.prp) detailing the server bindings:
    • Prefix: Identifier used for tool namespaces.
    • ServerName: Human-readable name for the MCP instance.
    • ServerVersion: Version tag for the service.
    • DriverPath: Absolute location of the downloaded JDBC JAR file.
    • DriverClass: The fully qualified class name of the JDBC driver (e.g., cdata.jdbc.excelonline.ExcelOnlineDriver).
    • JdbcUrl: The connection string obtained in step 5.
    • Tables: Specify table names explicitly, or leave empty to permit access to all exposed entities. env Prefix=excelonline ServerName=CDataExcelOnline ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.excelonline.jar DriverClass=cdata.jdbc.excelonline.ExcelOnlineDriver JdbcUrl=jdbc:excelonline:InitiateOAuth=GETANDREFRESH; Tables=

Integration with AI Clients (e.g., Claude Desktop)

  1. Generate or update the client's configuration file (e.g., claude_desktop_config.json) to incorporate the new MCP service endpoint definition. This definition maps the client action to the server executable.

    Windows Launch Configuration Example:

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

    Linux/Mac Launch Configuration Example:

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

    • Ensure this configuration file is positioned in the client's application data directory (e.g., for Claude Desktop): Windows: bash cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json

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

  2. Restart or refresh the AI client application to register the newly provisioned server capabilities.

Direct Server Execution

To operate the MCP server independently (communicating via standard input/output): bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/excel-online.prp

Constraint: This method requires the client application to execute on the same host as the server, utilizing stdio pipes for data transfer.

Utilizing the Exposed Data Tools

Once successfully integrated, the AI client will possess a set of declarative functions corresponding to the underlying data operations. Users prompt the AI regarding the data; explicit tool invocation is generally unnecessary.

Example Interactions: * "Analyze the relationship between sales figures and the associated product category." * "How many active users are logged in based on the 'Users' spreadsheet data?" * "Summarize my scheduled appointments for the current day."

Available Tool Signatures

Tool names are prefixed by the server's designated identifier (e.g., {servername}). * {servername}_get_tables: Fetches the metadata listing all accessible data entities (tables/worksheets). Successive use of {servername}_get_columns is recommended to detail entity attributes. Output is formatted as CSV. * {servername}_get_columns: Retrieves the attribute schema for a specified table. Requires the table name as an argument. Output is formatted as CSV. * {servername}_run_query: Executes a raw SQL SELECT statement against the data source.

Scripted Tool Invocation (JSON-RPC Examples)

For programmatic access adhering to JSON-RPC 2.0 standards, use the following payload structures when calling methods via the designated tool endpoint:

Retrieving Entity List (e.g., excel_online_get_tables)

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

Fetching Attribute Details (e.g., excel_online_get_columns)

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

Executing a Data Retrieval Query (e.g., excel_online_run_query)

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

Support and Diagnostics

  1. Client Visibility Issue: If the server does not appear in the AI client, ensure the client process is completely terminated (check Task Manager/Activity Monitor).
  2. Data Retrieval Failure: Verify the JDBC connection string configuration using the dedicated connection builder utility.
  3. Driver Connectivity Problems: Seek assistance from the CData Technical Support Portal.
  4. MCP Server Feedback/Issues: Engage with the broader user community on the CData Developer Forum.

Licensing Agreement

This software component is distributed under the permissive MIT License. Full usage, modification, and redistribution rights are granted subject to the terms detailed in the accompanying LICENSE file.

Supported Data Ecosystems

This driver architecture supports connections to a vast array of data environments, including (but not limited to):

Category Examples
Databases PostgreSQL, MySQL, Oracle, SQL Server, MariaDB, Snowflake, Teradata, Cassandra, DB2, Hive, Impala, Phoenix
Cloud/Storage Amazon S3, Google Cloud Storage, Azure Data Lake Storage, HDFS, Parquet, JSON, XML
SaaS/CRM Salesforce, Microsoft Dynamics, HubSpot, ServiceNow, Sugar CRM, Zendesk, Pipedrive, Zoho CRM
Productivity/Files Excel Online, Google Sheets, SharePoint, Dropbox, OneDrive, Box, CSV
BI/Analytics BigQuery, Redshift, Tableau CRM Analytics, SAP HANA
...and dozens more data endpoints.

(A comprehensive list of supported connectors is available via the CData product documentation.)

See Also

`