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-d365-mcp-gateway

Establishes a read-only Model Context Protocol (MCP) gateway atop live Microsoft Dynamics 365 data via the CData JDBC Driver. This mechanism empowers Large Language Models (LLMs) to interpret and query transactional information using natural dialogue, completely abstracting the underlying SQL complexities.

Author

cdata-d365-mcp-gateway logo

CDataSoftware

MIT License

Quick Info

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

Tags

cdatasoftwarejdbccdatacdatasoftware dynamicsservices cdatasoftwarecdata jdbc

CData Dynamics 365 MCP Server Implementation

Crucial Notice: This specific deployment furnishes read-only data access. For complete CRUD operations (Create, Read, Update, Delete) and simplified deployment options, please refer to the complimentary CData MCP Server for Dynamics 365 (beta release).

Core Objective

This solution provides a dedicated, restricted-access MCP Server component engineered to permit artificial intelligence agents (such as Claude Desktop) to interrogate live data originating from Microsoft Dynamics 365 instances. This functionality is powered by integrating the robust CData JDBC Driver for Dynamics 365.

The CData JDBC Driver transforms Dynamics 365 endpoints into a structured, relational SQL-like schema. Our server component encapsulates this driver, exposing the Dynamics 365 datasets through a straightforward MCP interface. Consequently, LLMs can extract current operational intelligence simply by posing conversational queries, eliminating the prerequisite for explicit SQL construction.

Deployment Protocol

  1. Source Code Acquisition: bash git clone https://github.com/cdatasoftware/dynamics-365-mcp-server-by-cdata.git cd dynamics-365-mcp-server-by-cdata

  2. Artifact Compilation: bash mvn clean install

    This step generates the executable JAR file: CDataMCP-jar-with-dependencies.jar 3. JDBC Driver Acquisition: Obtain and install the necessary CData JDBC Connector for Dynamics 365 from: https://www.cdata.com/drivers/dynamics365/download/jdbc 4. Driver Licensing Procedure: * Locate the driver's installation directory, typically: * (Windows) C:\Program Files\CData\CData JDBC Driver for Dynamics 365\ * (Mac/Linux) /Applications/CData JDBC Driver for Dynamics 365/ * Execute the licensing utility: bash java -jar cdata.jdbc.dyanmics365.jar --license

    • Input your identifying information (name, email) and the key "TRIAL" or your official license identifier.
    • Data Source Connection Configuration:
    • Launch the Connection String utility using the driver JAR: bash java -jar cdata.jdbc.dyanmics365.jar

    • Configure the connection parameters (using Dynamics 365 credentials or OAuth flow) and execute a connection validation test.

    • Upon successful validation, capture the resulting JDBC connection string for subsequent use.
    • Property File Generation (.prp): Create a configuration file (e.g., dynamics-365.prp) adhering to the following structure, incorporating your connection details:
    • Prefix: Identifier prefix for exposed tools.
    • ServerName: Human-readable server designation.
    • ServerVersion: Version tag for the service.
    • DriverPath: Absolute path to the installed JDBC JAR file.
    • DriverClass: Fully qualified name of the JDBC driver implementation class (e.g., cdata.jdbc.dyanmics365.Dyanmics365Driver).
    • JdbcUrl: The validated JDBC connection string obtained in the previous step.
    • Tables: Specify a delimited list of tables for exposure, or leave empty to enable access to all available entities. env Prefix=d365_data_access ServerName=Dynamics365LiveGateway ServerVersion=1.0.1 DriverPath=ABSOLUTE/PATH/TO/cdata.jdbc.dyanmics365.jar DriverClass=cdata.jdbc.dyanmics365.Dyanmics365Driver JdbcUrl=jdbc:dyanmics365:Server=crm.dynamics.com;... Tables=

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

  1. Client Configuration File Update: Create or modify the client's configuration file (e.g., claude_desktop_config.json) to register this new MCP endpoint:

    Windows Path Adjustment:

    { "mcpServers": { "d365_gateway_service": { "command": "C:\PATH\TO\java.exe", "args": [ "-jar", "C:\PATH\TO\CDataMCP-jar-with-dependencies.jar", "C:\PATH\TO\dynamics-365.prp" ] }, ... } }

    Linux/Mac Path Adjustment:

    { "mcpServers": { "d365_gateway_service": { "command": "/usr/bin/java", "args": [ "-jar", "/opt/cdata/CDataMCP-jar-with-dependencies.jar", "/home/user/configs/dynamics-365.prp" ] }, ... } }

    Ensure the resulting configuration file is placed in the correct client application directory (e.g., Windows %APPDATA%\Claude\ or Mac ~/Library/Application Support/Claude/). 2. Client Restart: Completely terminate and relaunch the connected AI client application to register the newly defined MCP service.

Executing the Server Independently

To run the gateway service outside of an integrated client environment: bash java -jar /ABSOLUTE/PATH/TO/CDataMCP-jar-with-dependencies.jar /ABSOLUTE/PATH/TO/dynamics-365.prp

Constraint: This server communicates exclusively via standard input/output (stdio) and thus requires the client application to execute on the identical host machine.

Operational Summary

Once integrated, the AI client gains access to built-in tooling that allows it to query, retrieve, or analyze the linked Dynamics 365 data. Direct tool invocation is generally unnecessary; users should phrase their data requirements conversationally. Examples: * "Analyze the relationship between successful sales opportunities and the associated customer vertical segments." * "Quantify the volume of outstanding service requests within the 'PROJECT_ALPHA' queue." * "List all scheduled meetings assigned to me for the current day."

Available Tool Bindings

Within the client's tool definitions, {servername} will correspond to the identifier used in the configuration (e.g., d365_gateway_service). * {servername}_get_tables: Fetches the enumerated list of accessible data containers. Use {servername}_get_columns subsequently for schema inspection. Output is delivered in CSV format (headers included). * {servername}_get_columns: Fetches the attributes (columns) belonging to a specified table. Requires table name argument. Output is delivered in CSV format (headers included). * {servername}_run_query: Executes arbitrary SQL SELECT statements against the underlying Dynamics 365 structure.

JSON-RPC Request Payloads (For Scripted Interaction)

If bypassing the natural language interface for direct programmatic interaction, adhere to the JSON-RPC 2.0 specification:

Fetching Schema Tables

{ "jsonrpc": "2.0", "id": 101, "method": "tools/call", "params": { "name": "d365_gateway_service_get_tables", "arguments": {} } }

Fetching Table Columns

{ "jsonrpc": "2.0", "id": 102, "method": "tools/call", "params": { "name": "d365_gateway_service_get_columns", "arguments": { "table": "Contact" } } }

Executing a Data Retrieval Operation

{ "jsonrpc": "2.0", "id": 103, "method": "tools/call", "params": { "name": "d365_gateway_service_run_query", "arguments": { "sql": "SELECT TOP 10 AccountName, CreatedOn FROM Account WHERE Status = 'Active'" } } }

Troubleshooting Common Issues

  1. Server Unseen by Client: Verify that the client application (e.g., Claude Desktop) was fully closed and restarted, not merely minimized.
  2. Data Retrieval Failures: Double-check the connection string integrity; utilize the driver's built-in utility to confirm connectivity and copy the string precisely into the .prp file.
  3. Connection Errors to D365: Seek assistance directly from the CData Support Portal.
  4. General MCP Server Feedback: Engage with the broader user base via the CData Community Forum.

Licensing Terms

This MCP server implementation is distributed under the permissive MIT License. Full rights to utilize, modify, and redistribute are granted, contingent upon adherence to the stipulations detailed in the accompanying LICENSE file.

Extensive Connector Compatibility

This CData infrastructure supports integration with an extensive array of data sources beyond Dynamics 365, including, but not limited to, the following:

Category Example Connectors
CRM/Sales Salesforce, HubSpot, Zoho CRM, Pipedrive
Databases PostgreSQL, MySQL, Oracle, Snowflake, BigQuery
ERP/Finance SAP, NetSuite, QuickBooks Online, Sage Intacct
Cloud Storage Amazon S3, Azure Data Lake, Google Cloud Storage
Collaboration SharePoint, Jira, Confluence, Slack

A comprehensive list of supported endpoints exceeds 300 sources.

== Contextual Definition: Cloud Computing == Cloud computing, as defined by ISO, represents "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." This concept is ubiquitously termed "the cloud."

== NIST Essential Characteristics == The foundational attributes identified by NIST in 2011 include:

  • On-demand self-service: Consumers procure resources (e.g., compute time) autonomously without provider intervention.
  • Broad network access: Services are accessible across the network via standardized protocols, accommodating diverse client devices.
  • Resource pooling: Provider resources are shared across multiple tenants using dynamic allocation based on demand.
  • Rapid elasticity: Capabilities scale up or down swiftly (sometimes automatically) to match fluctuating workload requirements, often presenting as limitless availability to the end-user.
  • Measured service: Resource consumption (storage, processing, bandwidth) is automatically tracked, optimized, and reported transparently to both provider and consumer.

By 2023, ISO refined and expanded upon these seminal characteristics.

== Historical Precursors == The conceptual lineage of cloud computing stretches back to the 1960s, notably through the development of time-sharing systems and remote job entry (RJE). Early computing relied on 'data centers' where users submitted tasks to specialized operators managing mainframe systems—an era focused on maximizing infrastructure utility.

The specific 'cloud' metaphor, signifying abstracted, virtualized services, was introduced in 1994 by General Magic for their Telescript environment. David Hoffman, a communications specialist at General Magic, is credited with adapting the term, which had long been used in telecommunications diagrams. The phrase 'cloud computing' gained broader recognition in 1996 through internal business planning documents at Compaq Computer Corporation, outlining future internet-centric architectures.

See Also

`