QuickBooks Online MCP Server
Enables management of QuickBooks Online data including customers, invoices, bills, vendors, accounts, and financial reports like Profit & Loss statements through natural language queries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QuickBooks Online MCP Servershow me all unpaid invoices from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
git clone https://github.com/hakeemrabiuDFW/quickbooks-mcp-server.git
cd quickbooks-mcp-server2. Install dependencies
npm install3. Configure environment
cp .env.example .envEdit .env with your QuickBooks credentials:
QUICKBOOKS_CLIENT_ID=your_client_id
QUICKBOOKS_CLIENT_SECRET=your_client_secret
QUICKBOOKS_REFRESH_TOKEN=your_refresh_token
QUICKBOOKS_COMPANY_ID=your_company_id
QUICKBOOKS_ENVIRONMENT=production4. Build and run
npm run build
npm startGetting 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):
{
"mcpServers": {
"quickbooks": {
"command": "node",
"args": ["/path/to/quickbooks-mcp-server/dist/index.js"],
"env": {
"QUICKBOOKS_CLIENT_ID": "your_client_id",
"QUICKBOOKS_CLIENT_SECRET": "your_client_secret",
"QUICKBOOKS_REFRESH_TOKEN": "your_refresh_token",
"QUICKBOOKS_COMPANY_ID": "your_company_id",
"QUICKBOOKS_ENVIRONMENT": "production"
}
}
}
}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:
"Show me all open invoices"
"Create an invoice for customer ID 123 with a $500 cleaning service charge"
"Get the profit and loss report for Q4 2025"
"List all unpaid bills"HTTP Transport
To run as HTTP server instead of stdio:
TRANSPORT=http PORT=3000 npm startRailway Deployment
Deploy to Railway with one click or via CLI:
Option 1: Railway Dashboard
Fork this repository
Go to Railway and create a new project
Select "Deploy from GitHub repo"
Add environment variables in Railway dashboard:
QUICKBOOKS_CLIENT_IDQUICKBOOKS_CLIENT_SECRETQUICKBOOKS_REFRESH_TOKENQUICKBOOKS_COMPANY_IDQUICKBOOKS_ENVIRONMENT=production
Railway will auto-deploy using the included Dockerfile
Option 2: Railway CLI
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway upMCP Endpoint
Once deployed, your MCP endpoint will be:
https://your-app.railway.app/mcpHealth check available at:
https://your-app.railway.app/healthDocker Deployment (Local)
docker build -t quickbooks-mcp .
docker run -p 3000:3000 --env-file .env quickbooks-mcpLicense
MIT
Author
Hakeem Rabiu - Martinez Cleaning LLC
Links
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hakeemrabiuDFW/Quickbooks-MCP-Martinez'
If you have feedback or need assistance with the MCP directory API, please join our Discord server