sage-300 -by-cdata
This read-only MCP Server allows you to connect to Sage 300 data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out our MCP Server for Sage 300 (https://www.cdata.com/drivers/sage300/download/mcp).
claude mcp add --transport stdio cdatasoftware-sage-300-mcp-server-by-cdata java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/sage-300.prp
How to use
This MCP server provides a read-only integration to Sage 300 data via the CData JDBC Driver. It wraps the JDBC driver and exposes Sage 300 data through a simple MCP interface so large language models can query live data without writing SQL. After configuring the server, you will be able to use the built-in tools to discover data sources and execute read queries. The available tools follow a consistent naming pattern based on your server entry (for example, sage300_get_tables, sage300_get_columns, and sage300_run_query). The get_tables tool returns a CSV list of tables; get_columns returns a CSV list of columns for a selected table; and run_query executes a SQL SELECT against the Sage 300 data source. You typically interact with Claude Desktop or another MCP client by referencing these tool names in JSON-RPC payloads, as shown in the examples, without needing to write SQL directly in most cases.
To begin, ensure your Claude/MPP client is configured with the Sage 300 MCP server entry, providing the path to the CDataMCP-jar-with-dependencies.jar and the sage-300.prp configuration file. Once the server is running, you can ask questions like which tables exist, what columns are available in a given table, or run a SELECT against a table to retrieve live data. The system is read-only by default, so create queries that fetch information rather than modify it.
How to install
Prerequisites
- Java Runtime Environment (JRE) or JDK (Java 8+ recommended, preferably a recent LTS version).
- Maven (for building the MCP server JAR).
- Network access to the Sage 300 data through the CData JDBC Driver (install the driver and license as described).
Installation steps
-
Clone the repository and navigate into it: git clone https://github.com/cdatasoftware/sage-300-mcp-server-by-cdata.git cd sage-300-mcp-server-by-cdata
-
Build the MCP server JAR (this produces CDataMCP-jar-with-dependencies.jar): mvn clean install
-
Install the CData JDBC Driver for Sage 300 (follow the vendor instructions):
- Download from: https://www.cdata.com/drivers/sage300/download/jdbc
- Install the driver on your system
- License the driver as described in the README (navigate to the lib folder and run the license command)
-
Create the Sage 300 .prp file (example sage-300.prp) with your JDBC connection details, including Prefix, ServerName, ServerVersion, DriverPath, DriverClass, and JdbcUrl as shown in the README.
-
Run the MCP server locally (example): java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/sage-300.prp
-
Configure Claude Desktop or your MCP client to connect to the server by adding an entry under mcpServers with the command to run Java and the paths to the .jar and .prp file, as shown in the example configuration.
Prerequisites recap
- Java (JRE/JDK) installed and accessible in PATH
- Maven installed for building the server
- CData JDBC Driver for Sage 300 installed and licensed
- Sage 300 connection string configured in a .prp file
- Claude Desktop or compatible MCP client configured to load the server entry
Additional notes
Tips and common considerations:
- The server operates over stdio, so the MCP client and server should run on the same machine or be configured to communicate via the standard input/output channel.
- If you don’t see the server in Claude Desktop, fully quit and re-open Claude Desktop to refresh MCP server listings.
- Ensure the JDBC connection string (in the Sage-300.prp file) is valid and tested using the JDBC utility before starting the MCP server.
- If you need to update connection details, edit the sage-300.prp file accordingly and restart the MCP server.
- For troubleshooting data access: verify the DriverPath and DriverClass in the .prp, and test the connection string from the JDBC utility as shown in the README.
- If OAuth or additional authentication is used by the data source, complete the browser-based authentication as prompted by the JDBC tool during connection setup.
- The JSON-RPC payloads provided in the README demonstrate how to invoke the tools from a script or client; adapt the tool names to your configured server name (e.g., sage300_get_tables, sage300_run_query).