Mercury MCP

Mercury's official MCP server (Beta) for read-only access to your Mercury business banking data — accounts, balances, transactions, cards, recipients, statements, and treasury. Cannot initiate transactions or modify account data; all mutations are blocked server-side.

30 actions Integration catalog
Request access
Connect Mercury MCP once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

GetaccountMERCURY_MCP_GET_ACCOUNT
Get account by ID
GetaccountcardsMERCURY_MCP_GET_ACCOUNT_CARDS
Retrieve all debit and credit cards associated with a specific account.
GetaccountsMERCURY_MCP_GET_ACCOUNTS
Retrieve a paginated list of accounts. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
GetaccountstatementsMERCURY_MCP_GET_ACCOUNT_STATEMENTS
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.
GetattachmentMERCURY_MCP_GET_ATTACHMENT
Retrieve attachment details including download URL
GetcurrentdateMERCURY_MCP_GET_CURRENT_DATE
Get the current date in the format. Example: Fri Oct 31 2025
GetcustomerMERCURY_MCP_GET_CUSTOMER
Retrieve details of a specific customer by their ID
GetinvoiceMERCURY_MCP_GET_INVOICE
Retrieve details of an invoice by its ID
GetorganizationMERCURY_MCP_GET_ORGANIZATION
Retrieve information about your organization including EIN, legal business name, and DBAs.
GetrecipientMERCURY_MCP_GET_RECIPIENT
Retrieve details of a specific recipient by ID
GetrecipientsMERCURY_MCP_GET_RECIPIENTS
Retrieve a paginated list of all recipients. Use cursor parameters (start_after, end_before) for pagination.
GetsaferequestMERCURY_MCP_GET_SAFE_REQUEST
Retrieve a specific SAFE request by its ID.
GetsaferequestsMERCURY_MCP_GET_SAFE_REQUESTS
Retrieve all SAFE (Simple Agreement for Future Equity) requests for your organization.
GettransactionMERCURY_MCP_GET_TRANSACTION
Get transaction by ID
GettransactionbyidMERCURY_MCP_GET_TRANSACTION_BY_ID
Retrieve a single transaction by its ID. Returns full transaction details including attachments, check images, and related metadata.
GettreasuryMERCURY_MCP_GET_TREASURY
Retrieve a paginated list of all treasury accounts associated with the authenticated organization. Use cursor parameters (start_after, end_before) for pagination.
GettreasurystatementsMERCURY_MCP_GET_TREASURY_STATEMENTS
Retrieve a paginated list of statements for a specific treasury account. Supports cursor-based pagination and filtering by document type.
GettreasurytransactionsMERCURY_MCP_GET_TREASURY_TRANSACTIONS
Retrieve paginated treasury transactions for a specific treasury account.
GetuserMERCURY_MCP_GET_USER
Get user by ID
GetusersMERCURY_MCP_GET_USERS
Get all users
GetwebhookMERCURY_MCP_GET_WEBHOOK
Retrieve details of a specific webhook endpoint by ID
GetwebhooksMERCURY_MCP_GET_WEBHOOKS
Retrieve a paginated list of all webhook endpoints for your organization. Supports filtering by status.
ListcategoriesMERCURY_MCP_LIST_CATEGORIES
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".
ListcreditMERCURY_MCP_LIST_CREDIT
Retrieve a list of all credit accounts for the organization.
ListcustomersMERCURY_MCP_LIST_CUSTOMERS
Retrieve a paginated list of customers. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
ListinvoiceattachmentsMERCURY_MCP_LIST_INVOICE_ATTACHMENTS
Retrieve a list of all attachments for a specific invoice
ListinvoicesMERCURY_MCP_LIST_INVOICES
Retrieve a paginated list of invoices. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
ListrecipientsattachmentsMERCURY_MCP_LIST_RECIPIENTS_ATTACHMENTS
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.
ListsendmoneyapprovalrequestsMERCURY_MCP_LIST_SEND_MONEY_APPROVAL_REQUESTS
Retrieve a paginated list of send money approval requests for the authenticated organization. Supports filtering by account and status.
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.