Connect AI agents to Mercury business banking — query accounts, balances, transactions, cards, treasury, invoices, and recipients in natural language.
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Try asking
Get account by ID
Retrieve all debit and credit cards associated with a specific account.
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.
Get transaction by ID
Retrieve a paginated list of accounts. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
Retrieve attachment details including download URL
Retrieve a paginated list of customers. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
Retrieve details of a specific customer by their ID
Retrieve a paginated list of invoices. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.
Retrieve details of an invoice by its ID
Retrieve a list of all attachments for a specific invoice
Retrieve a paginated list of cards.
Retrieve details of a specific card by its ID.
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".
Retrieve a list of all credit accounts for the organization.
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.
Retrieve information about your organization including EIN, legal business name, and DBAs.
Retrieve details of a specific recipient by ID
Retrieve a paginated list of all recipients. Use cursor parameters (start_after, end_before) for pagination.
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.
Retrieve a paginated list of all recipient invites for your organization. Supports filtering by status.
Retrieve details of a specific recipient invite by ID.
Retrieve a paginated list of send money approval requests for the authenticated organization. Supports filtering by account and status.
Retrieve a paginated list of transfer approval requests for the authenticated organization. Supports filtering by source account, destination account, and status.
Retrieve a specific transfer approval request by ID.
Retrieve all SAFE (Simple Agreement for Future Equity) requests for your organization.
Retrieve a specific SAFE request by its ID.
Retrieve a single transaction by its ID. Returns full transaction details including attachments, check images, and related metadata.
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.
Retrieve a paginated list of all treasury accounts associated with the authenticated organization. Use cursor parameters (start_after, end_before) for pagination.
Retrieve paginated treasury transactions for a specific treasury account.
Get all users
Get user by ID
Retrieve a paginated list of all webhook endpoints for your organization. Supports filtering by status.
Retrieve details of a specific webhook endpoint by ID
Get the current date in the format. Example: Fri Oct 31 2025
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Mercury MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Gmail tool your agent needs.
Free to start.