qbo-mcp
Provides tools for managing QuickBooks Online entities such as customers, vendors, invoices, bills, payments, items, and generating reports like profit and loss, balance sheet, etc.
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., "@qbo-mcpShow me the profit and loss report for 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.
qbo-mcp
A Model Context Protocol (MCP) server for the QuickBooks Online Accounting API. Manage customers, vendors, invoices, bills, payments, items, reports, and more — all from Claude.
Supports both stdio (Claude Desktop) and HTTP/SSE (Railway / remote clients).
Tools (48 total)
Category | Tool | Description |
Accounts |
| Query chart of accounts with optional WHERE filter |
| Get account by ID | |
| Create a new account | |
| Sparse-update an account | |
Customers |
| Query customers |
| Get customer by ID | |
| Create a new customer | |
| Sparse-update a customer | |
Vendors |
| Query vendors |
| Get vendor by ID | |
| Create a new vendor | |
| Sparse-update a vendor | |
Items |
| Query products/services |
| Get item by ID | |
| Create a new item | |
| Sparse-update an item | |
Invoices |
| Query invoices |
| Get invoice by ID | |
| Create a new invoice | |
| Sparse-update an invoice | |
| Delete/void an invoice | |
Bills |
| Query vendor bills |
| Get bill by ID | |
| Create a new bill | |
| Sparse-update a bill | |
| Delete a bill | |
Payments |
| Query customer payments |
| Get payment by ID | |
| Record a customer payment | |
| Delete a payment | |
Purchases |
| Query purchases/expenses |
| Get purchase by ID | |
| Create a purchase/expense | |
| Delete a purchase | |
Estimates |
| Query estimates/quotes |
| Get estimate by ID | |
| Create a new estimate | |
| Delete an estimate | |
Sales Receipts |
| Query sales receipts |
| Get sales receipt by ID | |
| Create a new sales receipt | |
| Delete a sales receipt | |
Credit Memos |
| Query credit memos |
| Get credit memo by ID | |
| Create a new credit memo | |
Transfers |
| Query account transfers |
| Get transfer by ID | |
| Create a funds transfer | |
Company |
| Get company details |
Reports |
| P&L / Income Statement |
| Balance Sheet | |
| Cash Flow Statement | |
| A/R Aging Summary | |
| A/P Aging Summary | |
| Trial Balance | |
Query |
| Run a custom SQL-style QBO query |
Related MCP server: qb-mcp
Environment Variables
Variable | Required | Description |
| Yes | Company/Realm ID from your QBO URL |
| For refresh | OAuth 2.0 Client ID from Intuit Developer Portal |
| For refresh | OAuth 2.0 Client Secret |
| Yes* | OAuth 2.0 access token (expires every 60 min) |
| Yes* | OAuth 2.0 refresh token (used for auto-renewal) |
| No |
|
| No |
|
| No | HTTP port (default |
*Either QBO_ACCESS_TOKEN or QBO_REFRESH_TOKEN is required. For production, provide the refresh token plus client credentials for automatic token renewal.
Getting credentials
Go to developer.intuit.com and create an app
Under Keys & credentials, copy your
Client IDandClient SecretUse the OAuth 2.0 Playground in the dev portal to generate an
Access TokenandRefresh TokenYour
Realm IDis in the QBO URL:qbo.intuit.com/app/homepage?...realmId=XXXXXXXXXX
Claude Desktop Configuration
Remote (Railway)
{
"mcpServers": {
"quickbooks": {
"url": "https://your-app.up.railway.app/sse"
}
}
}Local (stdio)
{
"mcpServers": {
"quickbooks": {
"command": "node",
"args": ["/absolute/path/to/qbo-mcp/dist/index.js"],
"env": {
"TRANSPORT": "stdio",
"QBO_REALM_ID": "your-realm-id",
"QBO_ACCESS_TOKEN": "your-access-token",
"QBO_REFRESH_TOKEN": "your-refresh-token",
"QBO_CLIENT_ID": "your-client-id",
"QBO_CLIENT_SECRET": "your-client-secret",
"QBO_ENVIRONMENT": "sandbox"
}
}
}
}Deploy to Railway
Option A — GitHub deployer (recommended)
Push this repo to GitHub
In Railway: New Project → Deploy from GitHub repo → select this repo
Railway auto-detects the Dockerfile and
railway.tomlGo to Variables and set:
QBO_REALM_IDQBO_ACCESS_TOKENQBO_REFRESH_TOKENQBO_CLIENT_IDQBO_CLIENT_SECRETQBO_ENVIRONMENT→production(when ready)
Go to Settings → Networking → Generate Domain
Connect Claude to
https://your-app.up.railway.app/sse
Option B — Railway CLI
railway login
railway init
railway up
railway domainLocal Development
npm install
cp .env.example .env # fill in your credentials
npm run build
node dist/index.jsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA secure, local-first MCP server that enables users to query QuickBooks data such as accounts, bills, and customers using natural language within Claude Desktop. It provides a direct interface to the QuickBooks API for streamlined financial data retrieval and management.Last updated10
- Alicense-quality-maintenanceAn MCP server that enables AI agents to interact with QuickBooks Online accounts to manage invoices, customers, payments, and financial reports. It provides 20 tools to automate accounting workflows and retrieve financial data through natural language interfaces.Last updated
- AlicenseAqualityDmaintenanceMCP server for QuickBooks Online providing read-only access to customers, vendors, invoices, bills, and chart of accounts. Enables natural language queries to your financial data through Claude or any MCP client.Last updated8MIT
- Flicense-qualityAmaintenanceAn MCP server that connects Claude to FreshBooks, enabling reading and management of invoices, clients, expenses, projects, and time entries via natural language.Last updated1
Related MCP Connectors
QuickBooks MCP Pack — query customers, invoices, and accounts via QuickBooks Online API.
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Gaaldaco/qbo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server