ListtransactionsMERCURY_MCP_LIST_TRANSACTIONS
Retrieve a paginated list of all transactions across all accounts. Supports advanced filtering by date ranges, status, categories, and cursor-based pagination.
CRITICAL TRUNCATION RULE - READ THIS FIRST:
================================================================================
IF YOU SEE "Result too long" IN THE RESPONSE:
1. IMMEDIATELY STOP - Do not analyze or use the truncated data
2. The data is INCOMPLETE and any analysis will be WRONG
3. Start over with a smaller limit (reduce by 50%)
4. Paginate through ALL pages until you have complete data
5. NEVER provide answers based on truncated results
================================================================================
MANDATORY PAGINATION FOR COMPLETE RESULTS:
When a user asks ANY question requiring complete data (totals, balances, aggregates,
"most/least", "all transactions", comparisons, or any calculation across transactions):
CRITICAL: Incomplete pagination will produce WRONG ANSWERS for questions about totals,
spending categories, balances, minimums, maximums, or "most/least". You must fetch everything
before calculating or answering.
1. Start with a limit of 300 transactions.
2. You MUST automatically paginate through ALL pages WITHOUT asking the user
3. Continue calling listTransactions using the page.nextPage value from each response
4. Keep fetching until page.nextPage is not present
5. If pagination would take more than 3 tool calls, ask the user to narrow down to a smaller time period
6. It is a CRITICAL ERROR to answer before having fetched ALL pages
FILTERING:
- IMPORTANT: WHEN FILTERING BY DATE, ALWAYS CHECK THE CURRENT DATE FIRST and ensure you're using the current year for current year queries
- Unless specified otherwise or queried for "all transactions", ONLY include transactions with "status: sent"
- To get transactions for a specific account, use the accountId parameter to filter by accountId
PAGINATION MECHANICS:
- Use the limit parameter to control page size
- If page.nextPage is returned, use it as the start_after parameter in your next call
- Keep fetching until page.nextPage is null/undefined
- The page.nextPage value is a transaction ID to start after (exclusive)
COMPUTATIONAL REQUIREMENTS:
- For any query requiring:
- Sums, totals, averages, medians, modes, ranges, most/least, or other aggregations across accounts/transactions
- Calculations involving currency amounts
- Comparisons of financial metrics
- You MUST:
- Create an artifact that processes the data programmatically
- Parse the JSON response and use JavaScript/Python to calculate
- Display intermediate steps for verification
- Never rely on mental arithmetic for financial calculations
- Example: "What's my total balance?"
- CORRECT: Create artifact that parses accounts, maps to balances, uses reduce() to sum
- INCORRECT: Manually adding up balance values
For queries about 'last two months' or 'this year', calculate dates based on the actual current date
Use the getCurrentDate tool to get the current date.
Use the getTransaction tool to get more details about a specific transaction.