home / mcp / acumatica mcp server
Provides a read-only MCP server to query live Acumatica data via MCP tools for language models.
Configuration
View docs{
"mcpServers": {
"cdatasoftware-acumatica-mcp-server-by-cdata": {
"command": "java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/acumatica.prp"
]
}
}
}You can run a local MCP server that exposes live Acumatica data through a simple MCP interface. This lets AI clients ask natural language questions and retrieve up-to-date information from Acumatica without writing SQL. The server is read-only and wraps the CData JDBC Driver to present data as MCP-ready tools.
Use an MCP client (for example Claude Desktop) to connect to the local MCP server. Start the server on the same machine as your client, then open your MCP client and add the Acumatica MCP server configuration. Once available, you can ask questions like “What is the total open opportunities by account industry?” or “Show me calendar events for today.” The built-in tools will handle listing accessible tables and columns, running queries, and retrieving data as CSV when needed.
Key capabilities include reading live data from Acumatica through the MCP layer and querying with natural language prompts. You do not need to write SQL; simply ask the AI client to inspect the data model and fetch the information you need.
Prerequisites you need before installing: - Java runtime (for running the MCP server JAR). - Maven (to build the MCP server from source). - A CData JDBC Driver for Acumatica installed and licensed. - A configured JDBC connection string to your Acumatica data source. - A Claude Desktop or similar MCP client configured to load local MCP servers.
# 1) Clone the repository and build the MCP server
git clone https://github.com/cdatasoftware/acumatica-mcp-server-by-cdata.git
cd acumatica-mcp-server-by-cdata
mvn clean install
# 2) Install and license the CData JDBC Driver for Acumatica
# (follow the driver’s installation steps and license it via the driver jar, then run the connection utility to generate a connection string)
# 3) Create a .prp configuration file for the JDBC connection
# Example content (adjust paths and the JDBC URL to your environment)
Prefix=acumatica
ServerName=CDataAcumatica
ServerVersion=1.0
DriverPath=PATH\TO\cdata.jdbc.acumatica.jar
DriverClass=cdata.jdbc.acumatica.AcumaticaDriver
JdbcUrl=jdbc:acumatica:InitiateOAuth=GETANDREFRESH;
Tables=
# 4) Run the MCP server using the generated .prp file
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/acumatica.prpConfiguration tips: when you configure Claude Desktop or another MCP client, place the MCP server entry under the mcpServers array. Use a stdio configuration since the server runs on the same machine as the client. The command should point to the Java runtime, the MCP JAR, and the path to your acumatica.prp file. Example usage is shown in the configuration snippet below.
{
"mcpServers": {
"acumatica_mcp": {
"command": "java",
"args": [
"-jar",
"CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/acumatica.prp"
]
}
}
}If you cannot see the MCP server in your client, fully quit the client and restart it so the new MCP server appears. Double-check that the acumatica.prp file contains the correct DriverPath and JdbcUrl, and that the CData JDBC Driver is licensed and accessible in the environment. If you encounter connection issues, verify the driver’s connection string using the built-in utility and test the connection before starting the MCP server.
The MCP server exposes a small set of tools you can invoke from your AI client. These are used to discover data sources, inspect schemas, and run queries. The tools have the following patterns: - acumatica_get_tables: Retrieve a list of available tables. - acumatica_get_columns: Retrieve a list of columns for a specific table. - acumatica_run_query: Execute a SQL SELECT query against the data source.
Retrieves a list of available tables from the connected Acumatica data source. The output is returned as CSV with a header row specifying column names.
Retrieves a list of columns for a specified table. The output is returned as CSV with a header row specifying column names.
Executes a SQL SELECT query against the connected data source and returns the results.