home / mcp / quickbooks online mcp server

QuickBooks Online MCP Server

This read-only MCP Server allows you to connect to QuickBooks Online data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cdatasoftware-quickbooks-online-mcp-server-by-cdata": {
      "command": "java",
      "args": [
        "-jar",
        "CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/quickbooks-online.prp"
      ]
    }
  }
}

You can query live QuickBooks Online data through a local MCP server that exposes the data via MCP tools. This read-only MCP server lets you ask natural language questions and have the AI retrieve up-to-date information from QuickBooks Online without writing SQL. It integrates with the CData JDBC Driver to present QuickBooks Online data as relational models for easy access by your MCP client.

How to use

After you configure the MCP server, connect your MCP client (such as Claude Desktop) to this server. You can ask natural language questions to retrieve data, get lists of tables and columns, or run read-only queries against QuickBooks Online data. Typical usage includes asking for counts, summaries, or correlations across QuickBooks data such as accounts, invoices, customers, and calendar items. The server exposes a consistent set of tools that let you discover what data is available and fetch results in a structured format.

How to install

Prerequisites
- Java Runtime Environment (JRE) or Java Development Kit (JDK)
- Apache Maven (for building the MCP server)
- Internet access to download the CData JDBC Driver for QuickBooks Online

Setup steps
1. Clone the MCP server repository
   git clone https://github.com/cdatasoftware/quickbooks-online-mcp-server-by-cdata.git
   cd quickbooks-online-mcp-server-by-cdata

2. Build the MCP server
   mvn clean install
   
   This produces the MCP JAR: CDataMCP-jar-with-dependencies.jar

3. Download and install the CData JDBC Driver for QuickBooks Online
   https://www.cdata.com/drivers/qbonline/download/jdbc

4. License the CData JDBC Driver
   - Locate the Driver installation lib directory (examples):
     Windows: C:\Program Files\CData\CData JDBC Driver for QuickBooks Online\
     Mac/Linux: /Applications/CData JDBC Driver for QuickBooks Online/
   - Run the license command:
     java -jar cdata.jdbc.quickbooksonline.jar --license
   - Enter your name, email, and a license option (TRIAL or your license key)

5. Configure the JDBC connection
   - Start the connection string utility:
     java -jar cdata.jdbc.quickbooksonline.jar
   - Configure the connection, test it, and copy the connection string

6. Create a .prp file for the JDBC connection
   - Save as quickbooks-online.prp with these properties:
     Prefix=quickbooksonline
     ServerName=CDataQuickBooksOnline
     ServerVersion=1.0
     DriverPath=PATH\\TO\\cdata.jdbc.quickbooksonline.jar
     DriverClass=cdata.jdbc.quickbooksonline.QuickBooksOnlineDriver
     JdbcUrl=jdbc:quickbooksonline:InitiateOAuth=GETANDREFRESH;
     Tables=

   - Example content:
     ```
     Prefix=quickbooksonline
     ServerName=CDataQuickBooksOnline
     ServerVersion=1.0
     DriverPath=PATH\\TO\\cdata.jdbc.quickbooksonline.jar
     DriverClass=cdata.jdbc.quickbooksonline.QuickBooksOnlineDriver
     JdbcUrl=jdbc:quickbooksonline:InitiateOAuth=GETANDREFRESH;
     Tables=
     ```

7. Run the MCP server locally with the prepared prp
   java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/quickbooks-online.prp
   
> Note: The MCP server runs in stdio mode and works with clients on the same machine.

Additional configuration and notes

The server is designed to be run locally for read-only access to QuickBooks Online data. After you start the MCP server, use your MCP client to discover available tables and columns, then issue read-only queries as needed. If you need to enable more advanced actions or write capabilities, consider using a different MCP server variant that supports full CRUD operations.

Troubleshooting

If you cannot see the MCP server in your client, ensure you have fully exited and restarted the client so it picks up the new server. If data cannot be retrieved, verify that the JDBC connection string is correct, test the connection, and copy the successful connection string into your .prp file. If issues persist, contact the CData Support Team or seek guidance from the CData Community.

Running the server

java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/quickbooks-online.prp

Available tools

quickbooks_online_get_tables

Retrieves a list of tables available in the data source. The output is provided in CSV format with a header row.

quickbooks_online_get_columns

Retrieves a list of columns for a specified table. The output is provided in CSV format with a header row.

quickbooks_online_run_query

Executes a SQL SELECT query against the data source and returns the results.