MCP App Store
by KeenEthics

Overview

Check your balance, download statements, search/analyze/graph transactions, and understand Cards directly from Claude. Mercury brings your finances into your AI tools

Tools

createCategory

ChatGPT
Create a new custom expense category for the organization.

editCategory

ChatGPT
Update an existing custom expense category for the organization.

getAccount

ChatGPT
Get 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve attachment details including download URL

getCard

ChatGPT
Retrieve details of a specific card by its ID.

getCashflowSummary

ChatGPT
Monthly 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

ChatGPT
Get the current date in the format. Example: Fri Oct 31 2025

getCustomer

ChatGPT
Retrieve details of a specific customer by their ID

getInvoice

ChatGPT
Retrieve 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

ChatGPT
Retrieve information about your organization including EIN, legal business name, and DBAs.

getRecipient

ChatGPT
Retrieve details of a specific recipient by ID

getRecipientInvite

ChatGPT
Retrieve details of a specific recipient invite by ID.

getRecipients

ChatGPT
Retrieve 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

ChatGPT
Retrieve a specific SAFE request by its ID.

getSafeRequests

ChatGPT
Retrieve all SAFE (Simple Agreement for Future Equity) requests for your organization.

getTransaction

ChatGPT
Get 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve a specific transfer approval request by ID.

getTreasury

ChatGPT
Retrieve a paginated list of all treasury accounts associated with the authenticated organization. Use cursor parameters (start_after, end_before) for pagination.

getTreasuryTransactions

ChatGPT
Retrieve paginated treasury transactions for a specific treasury account.

getUser

ChatGPT
Get user by ID

getUsers

ChatGPT
Get 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

ChatGPT
Retrieve details of a specific webhook endpoint by ID

getWebhooks

ChatGPT
Retrieve a paginated list of all webhook endpoints for your organization. Supports filtering by status.

listCards

ChatGPT
Retrieve 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve a list of all credit accounts for the organization.

listCustomers

ChatGPT
Retrieve a paginated list of customers. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.

listInvoiceAttachments

ChatGPT
Retrieve a list of all attachments for a specific invoice

listInvoices

ChatGPT
Retrieve 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

ChatGPT
Retrieve 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

ChatGPT
Retrieve a paginated list of all recipient invites for your organization. Supports filtering by status.

listRecipientsAttachments

ChatGPT
Retrieve 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

ChatGPT
Retrieve 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

ChatGPT
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 ================================================================================ 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

ChatGPT
Retrieve a paginated list of transfer approval requests for the authenticated organization. Supports filtering by source account, destination account, and status.

requestSendMoney

ChatGPT
Create 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

Claude

load_account_statement

Claude

load_accounts_card

Claude

load_recipient

Claude

load_transaction

Claude

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

45

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily