Get report
One report with its expenses, receipts, holds and comments.
MCP tool expensify_read → get_report
read
Returns the report header and every expense on it with merchant, date, amount, category, whether a receipt is attached and whether it is on hold. Comments on the report come last, oldest first. Use it before approving or rejecting so the decision rests on the lines.
Parameters
| Name | Type | Description |
|---|---|---|
| report_id string required | string | Report ID from list_reports. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "expensify_read",
"arguments": {
"operation": "get_report",
"arguments": {
"report_id": "report_8c41d2"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"report_id": "R10077",
"title": "Week of 5 Oct",
"submitter": "Marcus Lee",
"status": "Submitted",
"total": 148.2,
"currency": "USD",
"expenses": [
{
"expense_id": "T7f3a01",
"merchant": "Shell",
"date": "2026-10-06",
"amount": 62.2,
"category": "Travel",
"has_receipt": true,
"on_hold": false
},
{
"expense_id": "T7f3a02",
"merchant": "Chipotle",
"date": "2026-10-07",
"amount": 38,
"category": "Meals",
"has_receipt": true,
"on_hold": false
},
{
"expense_id": "T7f3a03",
"merchant": "Staples",
"date": "2026-10-08",
"amount": 48,
"category": "Office supplies",
"has_receipt": true,
"on_hold": false
}
],
"comments": []
},
"isError": false
}