home / mcp / quickbooks mcp server
This read-only MCP Server allows you to connect to QuickBooks data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out our MCP Server for QuickBooks (https://www.cdata.com/drivers/quickbooks/download/mcp).
Configuration
View docs{
"mcpServers": {
"cdatasoftware-quickbooks-mcp-server-by-cdata": {
"command": "java",
"args": [
"-jar",
"CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/quickbooks.prp"
]
}
}
}You have a read‑only MCP server that exposes live QuickBooks data through a simple MCP interface. It lets you ask natural language questions and receive up‑to‑date results without writing SQL. The server wraps the CData JDBC Driver for QuickBooks so you can query QuickBooks data as relational models from your MCP client.
Connect your MCP client (such as Claude Desktop or any tool that supports JSON‑RPC style MCP calls) to the QuickBooks MCP server. You will interact with it through the built‑in tools that map to the underlying data source. You can ask questions like how many records exist for a given table, what columns are available, or run simple read queries. The server is designed to return results in a familiar tabular format, and you won’t need to write SQL to get started.
Prerequisites: make sure you have Java installed and available on your command line. You will also need Git and Maven to build the server from source.
Step 1: Clone the project and enter the directory.
git clone https://github.com/cdatasoftware/quickbooks-mcp-server-by-cdata.git
cd quickbooks-mcp-server-by-cdataStep 2: Build the server to produce the MCP JAR.
mvn clean install
```
This creates the file `CDataMCP-jar-with-dependencies.jar` in the target directory.Step 3: Install the CData JDBC Driver for QuickBooks. Download from the CData site, then install as instructed by the installer package.
Step 4: License the CData JDBC Driver. From the installation directory, run the license command and provide your name, email, and license key (or TRIAL).
java -jar cdata.jdbc.quickbooks.jar --license
```
Enter your details when prompted.Step 5: Configure the JDBC connection. Use the Connection String utility to build a connection string, then copy it for use in the server configuration.
java -jar cdata.jdbc.quickbooks.jar
```
Test the connection and copy the resulting JDBC URL for use in the `.prp` file.Step 6: Create the server properties file (quickbooks.prp) with the required properties. You will provide the exact values you obtained from the connection test.
Prefix=quickbooks
ServerName=CDataQuickBooks
ServerVersion=1.0
DriverPath=PATH\\TO\\cdata.jdbc.quickbooks.jar
DriverClass=cdata.jdbc.quickbooks.QuickBooksDriver
JdbcUrl=jdbc:quickbooks:InitiateOAuth=GETANDREFRESH;
Tables=
```
Replace the placeholder values with your actual paths and URL.The server is run using a Java command that starts the MCP runtime with your PRP file. You will use the resulting quickbooks.prp in the command line to start the MCP server.
Example PRP usage: you pass the path to the PRP file after the -jar argument.
The MCP server runs in stdio mode, which means it is intended to be used with clients running on the same machine. This setup is ideal for local development or environments where the client and server are co‑located.
If you need to run the server with a Claude Desktop style client, you will configure the client to start the Java process with the path to CDataMCP-jar-with-dependencies.jar and pass your quickbooks.prp file as an argument.
Ensure you fully quit and restart your MCP client after any server configuration changes so the new MCP server becomes visible to the client.
You will interact with these server tools from your MCP client. They let you discover data structures and run read queries without writing SQL.
If you cannot see the QuickBooks MCP Server in your client, fully quit the client and restart it. If data retrieval fails, double‑check your connection string in the .prp file and verify the driver is properly licensed.
If you need help, contact the CData Support Team for driver or MCP related issues.
Retrieves a list of tables available in the QuickBooks data source. The output is in CSV format with column headers on the first line.
Retrieves a list of columns for a specified table. The output is in CSV format with column headers on the first line.
Executes a SQL SELECT query against the QuickBooks data exposed by the MCP server.