NyxToolsDev/quickbooks-mcp-server
MCP server connecting Claude to QuickBooks Online for natural-language accounting
Platform-specific configuration:
{
"mcpServers": {
"quickbooks-mcp-server": {
"command": "npx",
"args": [
"-y",
"quickbooks-mcp-server"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
Connect Claude Desktop and Claude Code to QuickBooks Online for natural-language accounting. Ask questions about invoices, expenses, reports, and more using plain English.
[](LICENSE) [](https://www.python.org/downloads/)
---
An MCP (Model Context Protocol) server that gives Claude direct access to your QuickBooks Online data. Instead of logging into QuickBooks and clicking through reports, just ask Claude:
> "Show me all overdue invoices sorted by amount" > "What's our P&L this quarter?" > "Create an invoice for Acme Corp for $2,500"
The server handles OAuth authentication, API calls, rate limiting, and data formatting.
---
pip install quickbooks-mcpOr install from source:
git clone https://github.com/nyxtools/quickbooks-mcp-server.git
cd quickbooks-mcp-server
pip install -e .http://localhost:8080/callback as a Redirect URIexport QBO_CLIENT_ID='your_client_id'
export QBO_CLIENT_SECRET='your_client_secret'python scripts/setup_oauth.pyThis opens your browser, authorizes with QuickBooks, and stores tokens locally (encrypted). Note the Realm ID it prints at the end.
export QBO_REALM_ID='your_realm_id'Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"quickbooks": {
"command": "quickbooks-mcp",
"env": {
"QBO_CLIENT_ID": "your_client_id",
Loading reviews...