cdata-intacct-mcp-gateway-adapter
Facilitates read-only data introspection for Intacct via the Model Context Protocol (MCP), empowering Large Language Models (LLMs) to conduct queries against live financial records using natural language interactions.
Author

CDataSoftware
Quick Info
Actions
Tags
CData Intacct MCP Endpoint Adapter
:warning: This deployment is strictly read-only. For comprehensive CRUD operations (Create, Read, Update, Delete) and streamlined setup, please explore the officially released CData MCP Server for Intacct (Beta).
Objective
This project's primary goal is to establish a read-only MCP interface, enabling advanced language models (such as Claude Desktop) to query real-time data residing within Intacct systems. This capability is powered by the CData JDBC Driver for Intacct.
The CData JDBC Driver transforms Intacct's structure into standard relational SQL views. This adapter encapsulates that driver, exposing Intacct datasets through the standard MCP mechanism, allowing LLMs to retrieve current operational and fiscal information purely through conversational queries, bypassing the need for explicit SQL composition.
Implementation Instructions
- Obtain the source code via Git clone:
bash git clone https://github.com/cdatasoftware/intacct-mcp-server-by-cdata.git cd intacct-mcp-server-by-cdata - Compile the service artifact:
bash mvn clean installThis process yields the bundled JAR:CDataMCP-jar-with-dependencies.jar - Install the prerequisite CData JDBC Driver for Intacct: https://www.cdata.com/drivers/intacct/download/jdbc
- Activate the JDBC Driver License:
- Navigate to the driver's installation directory, typically:
- (Windows)
C:\Program Files\CData\CData JDBC Driver for Intacct\ - (Mac/Linux)
/Applications/CData JDBC Driver for Intacct/
- (Windows)
- Execute the licensing utility:
- Provide your credentials and input "TRIAL" or your official license key when prompted.
- Navigate to the driver's installation directory, typically:
-
Define the Data Source Connection Parameters:
-
Execute the JAR to launch the Connection String configuration utility:
-
Configure the necessary connection parameters (e.g., authentication credentials). Verify connectivity using the "Test Connection" feature. Save the resulting JDBC URL.
- Create a configuration file (e.g.,
intacct.prp) containing the following properties, using the generated JDBC URL:env Prefix=sageintacct ServerName=CDataSageIntacct ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.sageintacct.jar DriverClass=cdata.jdbc.sageintacct.SageIntacctDriver JdbcUrl=jdbc:sageintacct:InitiateOAuth=GETANDREFRESH; Tables=
-
Integrating with AI Clients (e.g., Claude Desktop)
-
Construct or append to the client's configuration file (e.g.,
claude_desktop_config.json) to register the new MCP service endpoint:Windows Path Configuration
json { "mcpServers": { "{classname_dash}": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO/CDataMCP-jar-with-dependencies.jar", "PATH\TO/intacct.prp" ] }, ... } }Linux/Mac Path Configuration
json { "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/intacct.prp" ] }, ... } }If necessary, migrate the modified configuration file to the client's specific application data directory (e.g.,%APPDATA%\Claude\on Windows). 2. Restart or refresh the connected AI client instance to load the new server definitions.
Standalone Server Operation
Execute the adapter directly for testing purposes: ```bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
Constraint: The server communicates via standard input/output (
stdio), restricting its use to clients running on the same local machine.
Operational Guidance
Upon successful configuration, the consuming AI client gains access to built-in tools for structured data retrieval. Explicit tool invocation is generally unnecessary; users should phrase requests directly concerning the underlying Intacct data.
Exposed Interface Methods
Definitions reference {servername} as the unique identifier defined in the configuration.
* {servername}_get_tables: Fetches a comprehensive inventory of accessible data structures. Output format is CSV.
* {servername}_get_columns: Details the attributes (columns) belonging to a specified table. Output format is CSV.
* {servername}_run_query: Executes arbitrary SQL SELECT statements against the data source.
JSON-RPC Interaction Examples
For programmatic interaction bypassing the primary AI client interface, utilize JSON-RPC 2.0 payloads for the following methods:
Example: Retrieving Available Datasets (intacct_get_tables)
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "intacct_get_tables",
"arguments": {}
}
}
Example: Inspecting Schema (intacct_get_columns for table "Account")
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "intacct_get_columns",
"arguments": {
"table": "Account"
}
}
}
Example: Executing a Data Retrieval Command (intacct_run_query)
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "intacct_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
Common Issue Resolution
- Server Not Visible in Client: Confirm the client application (e.g., Claude Desktop) has been completely shut down (check Task Manager/Activity Monitor).
- Data Retrieval Failures: Validate the connection string details within the
.prpfile against the string confirmed via the Connection String utility. - Source Connectivity Issues: For connection establishment problems, engage the CData Support Team.
- MCP Server Feedback: General inquiries or feedback regarding the adapter operation should be directed to the CData Community.
Licensing
This component is distributed under the permissive MIT License. Refer to the ./LICENSE file for comprehensive usage, modification, and distribution rights.
Connectivity Catalog
*A sample of supported data sources accessible via the underlying CData framework (Intacct is one of these): ... [Listing of Data Sources] ...
Supplementary Context: Cloud Computing
(Wikipedia excerpt retained for context continuity) ...
