Mercury Enhanced MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mercury Enhanced MCP Show my Mercury account balances"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mercury Enhanced MCP
A custom Model Context Protocol (MCP) server for the Mercury banking API. Uses Mercury's personal API tokens instead of OAuth, eliminating the 3-day session expiry that breaks scheduled tasks.
Why not Mercury's official MCP? Mercury's hosted MCP (
mcp.mercury.com) uses OAuth2 Authorization Code flow with sessions that expire every 3 days — requiring manual re-authorization. Personal API tokens do not expire.
Prerequisites
Node.js 18 or later
A Mercury personal API token (generate one in Mercury Settings → API)
Claude Desktop (or any MCP-compatible client)
Related MCP server: Mercury MCP
Installation
git clone https://github.com/bradcollins/Mercury-Enhanced-MCP.git
cd Mercury-Enhanced-MCP
npm install
npm run buildConfiguration
Claude Desktop
Add the following to your claude_desktop_config.json (usually at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"mercury-enhanced-mcp": {
"command": "node",
"args": ["/absolute/path/to/Mercury-Enhanced-MCP/dist/index.js"],
"env": {
"MERCURY_API_TOKEN": "your_mercury_personal_api_token_here"
}
}
}
}Replace /absolute/path/to/Mercury-Enhanced-MCP with the actual path where you cloned this repo.
Environment Variable
The server reads your token from MERCURY_API_TOKEN. Never commit this value to version control.
Tools (15 total)
Tool | Description |
| List all Mercury accounts (checking, savings) with balances and status |
| Get details of a specific account by ID |
| List debit/credit cards associated with an account |
| Get monthly statements for a checking/savings account |
| Get details of a single transaction by ID |
| List transactions for a specific account with date/status/search filters |
| Cross-account transaction search with advanced filters |
| Get organization info (EIN, legal name, DBAs) |
| List all payment recipients |
| Get full details of a specific recipient by ID |
| List all custom expense categories |
| List all credit accounts |
| List all Mercury treasury accounts with balances and net returns |
| List transactions for a treasury account (integer cursor pagination) |
| Get statements for a treasury account (MonthlyStatement, 1099, TradeConfirmation, etc.) |
Usage Examples
Once configured in Claude Desktop, you can ask:
"What are my Mercury account balances?"
"Show me my last 10 transactions"
"How much do I have in treasury?"
"List all my payment recipients"
"Show me all failed transactions this month"
"What is my organization's legal business name?"
"Download my treasury statements for last quarter"
API Reference
This server wraps the Mercury REST API v1. All requests use Authorization: Bearer <token>.
Key URL patterns:
Single account:
/account/{id}(singular)Single transaction:
/transaction/{id}(singular)Treasury root:
/treasuryTreasury transactions:
/treasury/{id}/transactions
License
MIT — see LICENSE
Available Tools
15 toolsget_accountA
Retrieve details of a specific Mercury account by its account ID. Returns accountNumber, availableBalance, currentBalance, dashboardLink, legalBusinessName, name, nickname, routingNumber, status, and type.
Inputs: accountId (required).
get_account_cardsA
Retrieve all debit and credit cards associated with a specific Mercury account. Returns card details including card type, status, and cardholder information.
Inputs: accountId (required).
get_accountsA
Retrieve a paginated list of all Mercury accounts for the organization. Returns accountNumber, availableBalance, currentBalance, name, nickname, routingNumber, status (active/deleted/pending/archived), and type (mercury/external/recipient). Supports cursor-based pagination with start_after and end_before.
Inputs: limit, order, end_before, start_after.
get_account_statementsA
Retrieve monthly statements for a specific Mercury account. Returns statement list with downloadUrl, startDate, endDate, endingBalance, accountNumber, and EIN. Note: treasury and credit accounts are NOT supported — use get_treasury_statements instead. Maximum date range via start/end parameters is 3 months.
Inputs: accountId (required), end, limit, order, +3 more.
get_organizationA
Retrieve information about the Mercury organization. Returns EIN, legal business name, list of DBAs (Doing Business As names with default flag), organization kind (personal/business), and organization UUID.
Inputs: no named parameters.
get_recipientB
Retrieve full details of a specific payment recipient by their ID. Returns name, nickname, emails, defaultPaymentMethod, status, dateLastPaid, isBusiness, and all routing details (ACH, domestic wire, international wire, RTP).
Inputs: recipientId (required).
get_recipientsB
Retrieve a paginated list of all payment recipients. Returns recipient name, emails, defaultPaymentMethod (ach/check/domesticWire/internationalWire/realTimePayment), status (active/deleted), dateLastPaid, isBusiness, and routing information.
Inputs: limit, order, end_before, start_after.
get_transactionA
Retrieve details of a single Mercury transaction by its transaction ID. Returns id, accountId, amount, counterpartyName, createdAt, postedAt, status, kind, mercuryCategory, note, externalMemo, bankDescription, dashboardLink, and trackingNumber.
Inputs: transactionId (required).
get_treasury_accountsC
Retrieve all Mercury treasury accounts for the organization. Returns availableBalance, currentBalance, status (active/deleted/pending/archived), and monthly netReturns breakdown (dividends by security, Mercury fees, net return amount).
Inputs: limit, order, end_before, start_after.
get_treasury_statementsA
Retrieve statements for a specific Mercury treasury account. Returns downloadUrl, periodStart, periodEnd, documentType, description, and creationDate. Filter by documentType: MonthlyStatement, TradeConfirmation, 1099, 1099R, 1042S, 5498, 5498ESA, 1099Q, FMV, SDIRA.
Inputs: treasuryId (required), limit, order, end_before, +2 more.
get_treasury_transactionsA
Retrieve paginated transactions for a specific Mercury treasury account. Returns amount, balance, canonicalDay, description, and transaction type (depositComplete, withdrawalPosted, interestPosted, dividendPosted, mercuryFeePosted, sweepInPosted, etc.). Note: uses integer cursor pagination, not UUID-based like other endpoints.
Inputs: treasuryId (required), limit, order, cursor.
list_account_transactionsB
Retrieve a paginated list of transactions for a specific Mercury account. Supports filtering by date range, status, search term, and merchant category. Returns trimmed transaction objects: id, amount, counterpartyName, createdAt, postedAt, status, kind, mercuryCategory, note, externalMemo, bankDescription, dashboardLink.
Inputs: accountId (required), end, limit, order, +5 more.
list_categoriesA
Retrieve all available custom expense categories for the organization. These are custom categories distinct from Mercury's built-in mercuryCategory classifications. Returns category IDs and names that can be used to filter transactions via the categoryId parameter.
Inputs: no named parameters.
list_creditA
Retrieve all credit accounts for the organization. Returns credit account details including available credit, balances, and account status.
Inputs: no named parameters.
list_transactionsB
Retrieve transactions across all accounts with advanced filtering. Supports createdAt date range (start/end), postedAt date range (postedStart/postedEnd), comma-separated status list, search term, comma-separated accountId list, mercuryCategory, and cursor-based pagination. Returns trimmed transaction objects.
Inputs: end, limit, order, start, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Most tools have distinct purposes, but list_transactions and list_account_transactions overlap significantly: both retrieve transactions, with list_transactions supporting accountId filtering that can achieve the same result as list_account_transactions. This could cause misselection when an agent wants transactions for a single account.
Names follow a consistent verb_noun pattern (e.g., get_, list_). Minor inconsistency: get_accounts exists alongside get_account, which is acceptable, but 'get_accounts' is a list operation while 'list_account_transactions' also lists, and some tools use 'get_' where 'list_' might be expected (e.g., get_recipients vs list_recipients would be more consistent).
15 tools is well-suited for a financial API covering accounts, transactions, recipients, treasury, and cards. Each tool appears to serve a distinct resource or operation without excessive redundancy.
The tool set covers key read operations across accounts, transactions, recipients, and treasury, including statements and cards. However, it lacks any write operations (e.g., create recipient, initiate payment), which may be intentional but leaves the surface incomplete for a full payment API.
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceMercury Banking MCP server with full Invoicing API support. Read accounts/transactions and create/manage recurring invoices via Model Context Protocol.3967 npm4MIT
- AlicenseNot gradedqualityDmaintenanceSimple MCP server that interfaces with the Mercury API, allowing you to talk to your Mercury banking data from any MCP client like Cursor or Claude Desktop.4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Mercury Banking API that enables listing accounts and retrieving transactions via natural language.6 npmMIT
- AlicenseAqualityDmaintenanceRead-only MCP server for Mercury business banking — accounts, transactions, and statements.67 npmMIT