Skip to main content
Glama
CharlesPiccioneBTP

QuickBooks MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_receivables_agingA

Who owes the business money, and how overdue each amount is.

Use this for any question about unpaid customer invoices, accounts receivable, overdue accounts, collections, or who is behind on payment. Returns every open invoice with the customer name, due date, days overdue and outstanding balance; per-customer totals ranked worst-first; and totals per aging bucket (current, 1-30, 31-60, 61-90, 90+ days).

Args: as_of: Date to age against as YYYY-MM-DD. Defaults to today. min_days_overdue: Only include invoices at least this many days late. 0 (the default) includes invoices that are not yet due. customer: Case-insensitive substring to limit results to one customer.

get_payables_agingA

Who the business owes money to, and how overdue each bill is.

The accounts-payable mirror of get_receivables_aging: use it for unpaid bills, money owed to suppliers or vendors, and upcoming payment obligations. Same shape of answer, aged into the same buckets.

Args: as_of: Date to age against as YYYY-MM-DD. Defaults to today. min_days_overdue: Only include bills at least this many days late. vendor: Case-insensitive substring to limit results to one vendor.

get_profit_and_lossA

Income, expenses and net profit over a period.

Use for questions about revenue, sales totals, expenses, spending, margins or whether the business is profitable. Defaults to the current fiscal year to date when no dates are given.

Args: start_date: Period start, YYYY-MM-DD. end_date: Period end, YYYY-MM-DD. accounting_method: "Accrual" or "Cash". Defaults to the company setting.

get_balance_sheetA

Assets, liabilities and equity at a point in time.

Use for questions about what the business owns and owes overall, cash position, or financial standing. For "who owes us money" specifically, get_receivables_aging gives a far more useful breakdown than the single receivables line on this report.

Args: as_of: Balance sheet date, YYYY-MM-DD. Defaults to today. accounting_method: "Accrual" or "Cash". Defaults to the company setting.

find_contactsA

Look up customers or vendors, with contact details and balances.

Use to find someone by partial name, to list who the business deals with, or to get an email or phone number. The balance returned is that contact's total outstanding; for invoice-level detail and overdue days use get_receivables_aging.

Args: name_contains: Case-insensitive partial name. Omit to list everyone. kind: "customer" or "vendor". include_inactive: Include archived records. Defaults to active only. limit: Maximum records to return (capped at 500).

get_company_infoA

Name, address and fiscal year of the connected QuickBooks company.

Useful for confirming which company the answers refer to, and for finding the fiscal year start before asking for period reports.

run_queryA

Run a read-only QuickBooks query for anything the other tools miss.

Only SELECT statements are accepted, and this server can only issue read requests, so no query can modify data. The language is a restricted subset of SQL: no JOIN, GROUP BY, OR, or aggregate functions. Call describe_schema first to check entity and field names, and prefer the purpose-built tools where one fits -- they do arithmetic this cannot.

Example: SELECT * FROM Invoice WHERE TxnDate >= '2026-01-01'

Args: query: A QuickBooks SELECT statement.

describe_schemaA

Which QuickBooks entities and fields can be queried, and the dialect rules.

Call this before writing a run_query statement. With no argument it lists every queryable entity and available report; with an entity name it returns that entity's key fields. Costs no API call.

Args: entity: Entity name such as "Invoice" or "Customer". Omit for the overview.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/CharlesPiccioneBTP/Local-MCP-server-for-QuickBooks-Sandbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server