Provides tools for managing QuickBooks Online accounting data including customers, invoices, estimates, bills, vendors, employees, items, accounts, journal entries, and purchases with full CRUD operations (Create, Read, Update, Delete, Search).
QuickBooks Online MCP Server
This is a Model Context Protocol (MCP) server implementation for QuickBooks Online integration.
🎃 Hacktoberfest 2025
We're participating in Hacktoberfest 2025! Check out our Hacktoberfest Guide for contribution opportunities. Issues labeled with hacktoberfest and good first issue are great places to start!
Setup
Install dependencies:
Create a
.envfile in the root directory with the following variables:
Get your Client ID and Client Secret:
Go to the Intuit Developer Portal
Create a new app or select an existing one
Get the Client ID and Client Secret from the app's keys section
Add
http://localhost:8000/callbackto the app's Redirect URIs
Authentication
There are two ways to authenticate with QuickBooks Online:
Option 1: Using Environment Variables
If you already have a refresh token and realm ID, you can add them directly to your .env file:
Option 2: Using the OAuth Flow
If you don't have a refresh token, you can use the built-in OAuth flow:
This will:
Start a temporary local server
Open your default browser automatically
Redirect you to QuickBooks for authentication
Save the tokens to your
.envfile once authenticatedClose automatically when complete
Usage
After authentication is set up, you can use the MCP server to interact with QuickBooks Online. The server provides various tools for managing customers, estimates, bills, and more.
Available Tools
Added tools for Create, Delete, Get, Search, Update for the following entities:
Account
Bill Payment
Bill
Customer
Employee
Estimate
Invoice
Item
Journal Entry
Purchase
Vendor
Error Handling
If you see an error message like "QuickBooks not connected", make sure to:
Check that your
.envfile contains all required variablesVerify that your tokens are valid and not expired
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables interaction with QuickBooks Online through OAuth authentication. Supports CRUD operations for financial entities like customers, invoices, bills, estimates, and accounting records through natural language.