List expenses
Expenses with merchant, amount, category, receipt flag and report, newest first.
MCP tool expensify_read → list_expenses
read
Lists expenses in your account, newest first. Filter by date, by whether they are on a report and by whether they have a receipt. Held expenses are marked, so you can leave them out of a report. Returns one currency per expense and never converts.
Parameters
| Name | Type | Description |
|---|---|---|
| workspace string required | string | Workspace name or ID from list_workspaces, e.g. 'Acme Studio'. |
| since date | date | Only expenses dated on or after this day. |
| until date | date | Only expenses dated on or before this day. |
| on_report boolean | boolean | true only expenses already on a report, false only loose ones. Default: both. |
| has_receipt boolean | boolean | Filter by whether a receipt is attached. Default: both. |
| limit integer | integer | 1 to 100. Default: 50. |
| cursor string | string | Next page cursor from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "expensify_read",
"arguments": {
"operation": "list_expenses",
"arguments": {
"workspace": "Acme Studio"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"expenses": [
{
"expense_id": "T7f3a9c",
"merchant": "Blue Bottle Coffee",
"date": "2026-10-12",
"amount": 42.5,
"currency": "USD",
"category": "Meals",
"has_receipt": true,
"on_hold": false,
"report_id": null
},
{
"expense_id": "T7f3a9d",
"merchant": "Uber",
"date": "2026-10-12",
"amount": 31.2,
"currency": "USD",
"category": "Travel",
"has_receipt": true,
"on_hold": true,
"report_id": null
}
],
"next_cursor": null
},
"isError": false
}