sageintacct_get_tablesLABSCO SUMMARY
Read-only is the right default for the ledger.
Accounting data is exactly where you do not want an assistant holding a write handle, and this server does not have one: table discovery plus a SELECT. That makes it usable for the questions finance actually asks between close cycles — what has been posted, against which dimension, since when — while leaving the system of record untouched. Getting there takes a Maven build, a licensed driver and a property file.
What it is
A local, read-only bridge between an assistant and Intacct. CData's JDBC driver exposes Intacct as relational SQL models; this server wraps the driver so a model can discover the tables and query them, and you can ask in plain language instead of writing SQL. It runs over stdio, so the client has to be on the same machine.
What you get
get_tableslists the tables the driver exposes, returned as CSV with a header rowget_columnslists the columns on one of those tables, in the same CSV shaperun_queryexecutes a SQL SELECT against live Intacct data- Tool names carry the prefix you set in the property file — the sample config uses
Prefix=sageintacct - A
Tablessetting that only picks which tables also get a ready-made description (blank means none); it does not limit what the tools can list or query, so limit the connection or the account it signs in with
Requirements
Java and Maven: mvn clean install builds CDataMCP-jar-with-dependencies.jar. Separately install the CData JDBC Driver for Intacct and license it by running java -jar cdata.jdbc.sageintacct.jar --license, entering TRIAL or a license key. Build the connection string with the same jar, authenticating in the browser if the source uses OAuth, then write a .prp file naming the driver path, the driver class cdata.jdbc.sageintacct.SageIntacctDriver and that JDBC URL. Point your client at java -jar with the built jar and the .prp file.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
Finding out how the ledger is modelled
List the tables the driver publishes, then the columns on the one you need.
Answering a finance question without a report request
Ask in plain language; the assistant writes the SELECT and reads the CSV back.
Reconciling a figure against the source
Query the underlying records directly rather than trusting an exported spreadsheet.
3 tools
Listed in project docs. Your client may show a different list.
sageintacct_get_columnssageintacct_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names take the Prefix= value from the .prp file, such as sageintacct_get_tables; the intacct_get_tables form in the examples does not match. All tools are read-only. The Tables setting does not limit what the tools reach; your connection's access does.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then point your client at the binary. This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/cdatasoftware/intacct-mcp-server-by-cdata.git
cd intacct-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for Intacct from https://www.cdata.com/drivers/intacct/download/jdbc
License the driver: java -jar cdata.jdbc.sageintacct.jar --license (enter name, email, and "TRIAL" or a license key)
Run java -jar cdata.jdbc.sageintacct.jar with no arguments to open the Connection String utility, test the connection, copy the connection string
Write a .prp file (e.g. intacct.prp) containing Prefix=sageintacct, ServerName, ServerVersion, DriverPath, DriverClass=cdata.jdbc.sageintacct.SageIntacctDriver, JdbcUrl, Tables
Tables only picks which tables also get a ready-made description for your assistant, and empty means none; the server can still list and query every table your connection string reaches, so to keep data out of reach, limit that connection or the account it signs in with.
Add the mcpServers entry below to claude_desktop_config.json, pointing java at CDataMCP-jar-with-dependencies.jar and at the .prp file, then fully quit and reopen the client
MCP Clients
Claude Desktop — macOS / Linux
{
"mcpServers": {
"intacct": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_INTACCT>"
]
}
}
}