list_expenses
List expenses with totals. Filter by status, category, vendor, date range, customer, or billable flag.
What list_expenses does
Returns a paginated list of expenses from the organization, with optional filters (status, date range, customer, search term).
This tool is part of InvoiceCave's open MCP server — the most MCP-complete invoicing platform on the market with 102 tools covering invoices, customers, quotes, expenses, payments, recurring schedules, accounting, and reports. Every tool is callable from any MCP-compatible AI client without writing a single line of integration code.
How an AI uses list_expenses
Use this when the AI needs to scan, count, or summarize expenses — for example, "show me everything overdue this week" or "how many expenses are open right now?". The AI can chain a list call with a follow-up get_* call to drill into a specific record.
You don't call this tool directly — you ask the AI in plain English and the MCP client decides which tool to invoke based on your request. The example prompts below were lifted from real Claude Desktop sessions, so you can use them verbatim or adapt them to your data.
Parameters
list_expenses accepts 8 parameters. The AI fills these in from your natural-language prompt; you never write them by hand.
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | enum | optional | —PendingApprovedPaidVoid |
| categoryId | string | optional | — |
| vendor | string | optional | Vendor name (partial match) |
| dateFrom | string | optional | Start date YYYY-MM-DD |
| dateTo | string | optional | End date YYYY-MM-DD |
| customerId | string | optional | Filter to billable expenses for a customer |
| isBillable | boolean | optional | Filter only billable / non-billable |
| limit | number | optional | Max results (default 50, max 200) |
Request example
Under the hood, your AI client sends a JSON-RPC 2.0 tools/call request to InvoiceCave's MCP endpoint at https://www.invoicecave.com/api/mcp/mcp. Here's what a list_expenses call looks like:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_expenses",
"arguments": {
"status": "Pending",
"categoryId": "cat_a1b2c3d4",
"vendor": "2026-06-01",
"dateFrom": "2026-06-01",
"dateTo": "2026-06-01"
}
}
}You won't write this yourself — it's shown so developers can see exactly what the MCP client generates. The arguments object maps 1:1 to the parameters above. Authentication is handled by the Authorization: Bearer header with your API key.
Example AI prompts
Type any of these into Claude Desktop, Claude Code, or Cursor — InvoiceCave's MCP server will route them to list_expenses automatically.
“Show me all my expenses.”
“How many expenses do I have right now? Summarize them.”
Use it in 30 seconds
Related tools
More from the Expenses category.
get_expenseGet full details of a specific expense.
create_expenseRecord a new expense. Auto-generates an EXP-XXXXXX number. If bankAccountId is provided, deducts the amount from the bank balance.
update_expenseUpdate an existing expense. If amount changes and the expense has a bankAccountId, the bank balance is auto-adjusted.
delete_expenseDelete an expense. If it had a bankAccountId, the deducted amount is added back to the balance.
list_expense_categoriesList all active expense categories for the organization.
create_expense_categoryCreate a new expense category.
update_expense_categoryUpdate an expense category. Use isActive=false to soft-deactivate without deleting.
delete_expense_categoryDelete an expense category. Fails if any expenses still use it — reassign or delete those first, or use update_expense_category with isActive=false.
FAQ — list_expenses
What is list_expenses?▾
list_expenses is one of 102 tools in InvoiceCave's MCP server. Returns a paginated list of expenses from the organization, with optional filters (status, date range, customer, search term). It's invoked automatically when an AI client like Claude or Cursor decides the user's request maps to this action.
Which AI clients can call list_expenses?▾
Any MCP-compatible client. We've tested it with Claude Desktop, Claude Code, Cursor, Windsurf, and Codex. The MCP protocol is open, so any AI tool that speaks MCP can call this endpoint with a valid InvoiceCave API key.
Is calling list_expenses secure?▾
Yes. Every call is authenticated by the API key you mint in the dashboard, scoped to a single organization, rate-limited per key, and recorded in the audit log with source='mcp'. Sensitive fields (SMTP passwords, encryption keys) are never returned to the AI client.
What parameters does list_expenses take?▾
list_expenses accepts 8 parameters, all optional. The AI populates these from your plain-English prompt — see the parameter table and request example above.
Does list_expenses count against any quota?▾
MCP tool calls are unmetered on the free plan up to a generous monthly limit. Once you connect Stripe and start charging your customers, every call still counts against the same per-key rate limit but doesn't add to your bill.
Ready to wire this up?
Free plan — no credit card. 102 tools at your AI's disposal.