createCategory
ChatGPTCreate a new custom expense category for the organization.
editCategory
ChatGPTUpdate an existing custom expense category for the organization.
getAccount
ChatGPTGet account by ID This tool's result is shown to the user in an interactive widget: One Mercury account in full: available and current balance, status, kind and basics. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getAccountCards
ChatGPTRetrieve all debit and credit cards associated with a specific account. This tool's result is shown to the user in an interactive widget: Mercury debit and credit cards with status, type and spend limits. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getAccountStatements
ChatGPTRetrieve a paginated list of monthly statements for a specific account. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters, as well as date range filtering with start and end parameters. This tool's result is shown to the user in an interactive widget: Monthly Mercury account statements with period, ending balance and transaction count. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getAccounts
ChatGPTRetrieve a paginated list of accounts. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. This tool's result is shown to the user in an interactive widget: Mercury accounts with per-account balances and a headline available total. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getAttachment
ChatGPTRetrieve attachment details including download URL
getCard
ChatGPTRetrieve details of a specific card by its ID.
getCashflowSummary
ChatGPTMonthly cash in, cash out, and net cashflow for the organization, ready to chart. Use this instead of paginating listTransactions yourself when the user asks about cashflow, burn, runway inputs, or "money in vs money out" over time. It fetches and aggregates the transactions for you and renders as a chart widget for the user. Amounts are returned in integer CENTS. outgoingCents is NEGATIVE and cashflowCents is incomingCents + outgoingCents, so do not negate or re-sign them. Months with no activity are included as zeroes. Transfers between the organization's own Mercury accounts are excluded from org-wide totals because they net to zero; when you pass accountIds they ARE included, since a transfer is real cashflow for a specific account. If truncated is true the organization had more transactions than one call can cover: the oldest months were incomplete and have been dropped, so say the window is partial rather than reporting a drop in cashflow. Narrow monthsBack or pass accountIds to get a full window. This tool's result is shown to the user in an interactive widget: Monthly cash in vs. cash out bar chart summarizing Mercury cashflow. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getCurrentDate
ChatGPTGet the current date in the format. Example: Fri Oct 31 2025
getCustomer
ChatGPTRetrieve details of a specific customer by their ID
getInvoice
ChatGPTRetrieve details of an invoice by its ID This tool's result is shown to the user in an interactive widget: One Mercury AR invoice with its status, dates, line items and totals. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getOrganization
ChatGPTRetrieve information about your organization including EIN, legal business name, and DBAs.
getRecipient
ChatGPTRetrieve details of a specific recipient by ID
getRecipientInvite
ChatGPTRetrieve details of a specific recipient invite by ID.
getRecipients
ChatGPTRetrieve a paginated list of all recipients. Use cursor parameters (start_after, end_before) for pagination. This tool's result is shown to the user in an interactive widget: Mercury payment recipients with payment methods, status and last-paid dates. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getSafeRequest
ChatGPTRetrieve a specific SAFE request by its ID.
getSafeRequests
ChatGPTRetrieve all SAFE (Simple Agreement for Future Equity) requests for your organization.
getTransaction
ChatGPTGet transaction by ID This tool's result is shown to the user in an interactive widget: One Mercury transaction in full: amount, counterparty, status, dates and failure detail. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getTransactionById
ChatGPTRetrieve a single transaction by its ID. Returns full transaction details including attachments, check images, and related metadata. This tool's result is shown to the user in an interactive widget: One Mercury transaction in full: amount, counterparty, status, dates and failure detail. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getTransferMoneyApprovalRequest
ChatGPTRetrieve a specific transfer approval request by ID.
getTreasury
ChatGPTRetrieve a paginated list of all treasury accounts associated with the authenticated organization. Use cursor parameters (start_after, end_before) for pagination.
getTreasuryTransactions
ChatGPTRetrieve paginated treasury transactions for a specific treasury account.
getUser
ChatGPTGet user by ID
getUsers
ChatGPTGet all users This tool's result is shown to the user in an interactive widget: Mercury organization team members with names, emails and roles. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
getWebhook
ChatGPTRetrieve details of a specific webhook endpoint by ID
getWebhooks
ChatGPTRetrieve a paginated list of all webhook endpoints for your organization. Supports filtering by status.
listCards
ChatGPTRetrieve a paginated list of cards. This tool's result is shown to the user in an interactive widget: Mercury debit and credit cards with status, type and spend limits. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
listCategories
ChatGPTRetrieve a paginated list of all available custom expense categories for the organization. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. - These categories are custom and different from the values for "mercuryCategory".
listCredit
ChatGPTRetrieve a list of all credit accounts for the organization.
listCustomers
ChatGPTRetrieve a paginated list of customers. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
listInvoiceAttachments
ChatGPTRetrieve a list of all attachments for a specific invoice
listInvoices
ChatGPTRetrieve a paginated list of invoices. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. This tool's result is shown to the user in an interactive widget: Mercury AR invoices with per-invoice amount, status and due date. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
listMerchants
ChatGPTRetrieve a paginated list of priority merchants that can be used for spend controls like merchant locking. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters, plus an optional case-insensitive search by merchant name.
listRecipientInvites
ChatGPTRetrieve a paginated list of all recipient invites for your organization. Supports filtering by status.
listRecipientsAttachments
ChatGPTRetrieve a paginated list of all recipient tax form attachments across all recipients in the organization. Use cursor parameters (start_after, end_before) for pagination.
listSendMoneyApprovalRequests
ChatGPTRetrieve a paginated list of send money approval requests for the authenticated organization. Supports filtering by account and status. This tool's result is shown to the user in an interactive widget: Mercury send-money approval requests with progress and status. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
listTransactions
ChatGPTRetrieve 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 ================================================================================ DATE FILTERING: ================================================================================ ALWAYS use postedStart / postedEnd for date-range queries. Do NOT use start / end. The dates shown in results are postedAt (when the transaction settled). createdAt is not included in results. Card charges create at authorization and post one or more days later, so filtering on createdAt (which is what start / end do) frequently misses transactions the user is asking about. Examples: • "What did I spend last month?" → postedStart / postedEnd • "Show me August transactions" → postedStart / postedEnd • "Total spend this quarter" → postedStart / postedEnd ================================================================================ 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. This tool's result is shown to the user in an interactive widget: Recent Mercury transactions with amounts, counterparties, dates and status. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose …
listTransferMoneyApprovalRequests
ChatGPTRetrieve a paginated list of transfer approval requests for the authenticated organization. Supports filtering by source account, destination account, and status.
requestSendMoney
ChatGPTCreate a "request to send money" that will require approval based on your organization's approval policies. THIS TOOL MOVES MONEY. Before calling it: - Confirm the amount, the source account, and the destination with the user. Never infer any of them from context alone. - Generate a fresh idempotencyKey for each genuinely new request, and keep it. If a call fails and the user asks you to try again, reuse the SAME key — a new key creates a second, separate transaction rather than retrying the first. - If the call returns an error, do NOT retry on your own initiative. The request may have been accepted before the error surfaced. Report what happened and let the user decide. - This creates an approval request rather than sending immediately: the payment goes through the organization's approval policy. Tell the user the request still needs approving. - Use listRecipients to resolve the recipientId; never guess one. This tool's result is shown to the user in an interactive widget: Receipt for a just-created Mercury payment or transfer request: amount, approval status and progress, with a link to review it in Mercury. After a successful call, briefly confirm the result or answer the question asked. Do not repeat the widget's contents in prose or a Markdown table unless the user explicitly asks for it.
load_account
Claudeload_account_statement
Claudeload_accounts_card
Claudeload_recipient
Claudeload_transaction
Claude