Enables management of QuickBooks Online data including customers, invoices, bills, vendors, accounts, and financial reports like Profit & Loss statements through natural language queries.
QuickBooks Online MCP Server
A Model Context Protocol (MCP) server for QuickBooks Online integration, enabling AI assistants like Claude to query and manage QuickBooks data through natural language.
Features
Customers: List, search, and view customer details
Invoices: Create and list invoices with filtering
Bills: Track vendor bills and payables
Vendors: Manage supplier information
Accounts: View chart of accounts
Reports: Generate Profit & Loss reports
Prerequisites
Node.js 18+
QuickBooks Online account
Intuit Developer account with OAuth app
Quick Start
1. Clone the repository
2. Install dependencies
3. Configure environment
Edit .env with your QuickBooks credentials:
4. Build and run
Getting QuickBooks Credentials
Step 1: Create Developer Account
Go to developer.intuit.com
Sign in or create account
Create a new app (select QuickBooks Online API)
Step 2: Get Client Credentials
In your app dashboard, find Client ID and Client Secret
Add OAuth redirect URI:
http://localhost:3000/callback
Step 3: Get Refresh Token
Use the OAuth Playground in Intuit Developer portal
Or use a tool like qbo-oauth-tool
Complete OAuth flow to get refresh token
Step 4: Find Company ID (Realm ID)
Log into QuickBooks Online
Company ID is in the URL:
https://qbo.intuit.com/app/...?realmId=COMPANY_ID
Claude Desktop Configuration
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
Available Tools
Tool | Description |
| List customers with optional filtering |
| List invoices by customer, status, or date |
| Create a new invoice |
| View chart of accounts |
| Generate P&L report |
| List vendor/suppliers |
| List bills/payables |
Example Usage
Once connected to Claude:
HTTP Transport
To run as HTTP server instead of stdio:
Docker Deployment
License
MIT
Author
Hakeem Rabiu - Martinez Cleaning LLC