# Mercury MCP

> Mercury connects your startup's bank accounts directly to any AI client. Use this MCP Server to manage cash flow by accessing live balances, listing recent transactions, retrieving full statements, and managing payment recipients—all through natural conversation.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** business-banking, financial-automation, transaction-reconciliation, cash-flow-tracking, startup-finance, api-banking

## Description

**Mercury MCP Server - Managing Startup Cash Flow**

Forget logging into the bank portal just to run a quick query. This server plugs your startup's live Mercury banking data right into your AI client. Your agent handles all the financial heavy lifting through natural conversation, giving you instant access to real-world account details and transaction records.

### Account Overview and Status

You can get a full picture of your company’s cash position right away. To see every active bank account you've linked—checking, savings, or treasury accounts—you just call `list_accounts`. If you need the immediate money count across those accounts, your agent uses `get_balance`, giving you the current available funds for whatever specific accounts you name. Furthermore, if you gotta know what debit cards are tied to a particular account, it'll pull that list using `list_cards`.

### Tracking Money Movement and Statements

Analyzing cash flow is where this thing shines. To review your spending habits or track incoming funds, your agent runs `list_transactions`. This tool gives you a detailed, filterable history of every transaction linked to an account over time. You can narrow down the results by date range or type of expense. When you need official paperwork for accounting, it'll fetch complete monthly statements directly from the bank's data layer—you just ask your agent to get those records.

### Managing Customers and Payments

Running a startup means dealing with payments constantly. To keep track of who owes you dough, your agent uses `list_invoices` to pull all accounts receivable invoices that the company has issued. You can also check out the list of clients set up for billing purposes by calling `list_customers`, which gives you the names and details needed for invoicing reconciliation. When it comes time to send money out—whether it's a wire transfer or an ACH payment—you don't have to re-enter anything. Your agent accesses saved payee information using `list_recipients`, giving you the full list of recipients already stored in Mercury.

### Specific Data Retrieval

Need something super specific? If you only want details for one particular bank account, your agent uses `get_account` to retrieve those exact record details. This gives you granular information without having to pull a massive statement or run a complex query. You can manage cash flow by viewing all linked accounts and balances, reviewing filtered transaction history, retrieving official financial statements, accessing saved payment recipients, and listing active customer records—all through your AI client's conversational interface.

## Tools

### get_account
Retrieves specific detail records for a single Mercury bank account.

### get_balance
Returns the current available balance for specified accounts.

### list_accounts
Provides a list of all linked and active Mercury bank accounts.

### list_cards
Lists all associated debit cards tied to the account.

### list_customers
Provides a list of clients set up for invoicing purposes.

### list_invoices
Retrieves records of accounts receivable invoices issued by the company.

### list_recipients
Lists saved payment recipients for ACH and wire transfers.

### list_transactions
Gets a detailed, filterable list of transactions associated with an account over time.

## Prompt Examples

**Prompt:** 
```
Show my current balances for all accounts.
```

**Response:** 
```
Balances retrieved: Total available: $142,500.00. Checking Account (...1234): $45,200.00. Savings Account (...5678): $90,000.00. Treasury Account: $7,300.00.
```

**Prompt:** 
```
List all outgoing transactions over $1,000 from last week.
```

**Response:** 
```
Found 3 outgoing transactions over $1,000 (Apr 15 - Apr 22): 1) AWS (Amazon Web Services): -$2,450.00 (Apr 20). 2) Stripe Payout Reversal: -$1,200.00 (Apr 18). 3) Office Rent (WeWork): -$4,500.00 (Apr 15).
```

**Prompt:** 
```
Get total revenue received this month.
```

**Response:** 
```
Total incoming transactions (April): 42. Total Volume: $45,890.00. Top sources: Stripe Payouts ($38,400.00), Wire from Acme Corp ($5,000.00), ACH from John Doe ($2,490.00).
```

## Capabilities

### View all accounts and balances
Get a consolidated view of your current cash position across all bank types.

### Review transaction history
Pull filtered lists of past transactions, allowing you to analyze spending patterns or incoming funds.

### Manage payment details
Access and list saved wire transfer recipients and billing customer records.

### Retrieve financial statements
Fetch official monthly account statements directly from the bank's data layer.

## Use Cases

### Checking Q3 Cash Flow
A founder needs to know if they can afford a big hire. They prompt their agent: 'What's the cash flow?' The agent uses `list_accounts` first, then calls `get_balance` for each account type, and finally runs `list_transactions` filtered by expense type, giving an immediate total runway figure.

### Reconciling a Client Payment
The finance team notices a payment discrepancy. They ask the agent to check transactions for a specific date range and client ID. The agent uses `list_transactions` combined with `get_account` data, pulling up all related payments so they can resolve the mismatch immediately.

### Preparing Quarterly Tax Docs
The accounting team needs a comprehensive list of who was paid wires last quarter. They ask the agent to run `list_recipients` and then use that data structure to pull relevant transaction records from `list_transactions`, building an auditable export.

### Verifying Invoicing Status
A sales rep needs to confirm if a client has outstanding payments. They prompt the agent, which uses `list_customers` to verify the customer ID and then calls `list_invoices` against that ID to see all pending receivables.

## Benefits

- See real-time balances instantly. Use `get_balance` to pull the total available cash across all checking, savings, and treasury accounts without navigating multiple dashboards.
- Simplify expense tracking. Instead of manually downloading PDFs, use `list_transactions` to filter and review outgoing payments over a specified date range in seconds.
- Automate vendor setup. Use `list_recipients` to quickly validate saved wire transfer details or check if you need to add a new payeeship before running payroll.
- Improve reporting speed. The `list_invoices` tool lets your agent pull the current status of all accounts receivable, giving instant visibility into cash coming in.
- Streamline onboarding. Use `list_customers` to get an accurate list of who you've invoiced recently, helping finance teams reconcile sales data faster.

## How It Works

The bottom line is: you talk to your agent, it talks to Mercury's APIs, and you get a clean JSON output.

1. Subscribe to the Mercury MCP Server and provide your unique API Token.
2. Your AI client sends a request (e.g., 'What were my expenses last week?').
3. The server executes the necessary tool (`list_transactions`) and returns structured, actionable data back to your agent.

## Frequently Asked Questions

**How do I get all my account balances using the Mercury MCP Server?**
You use `list_accounts` first to identify all accounts, then call `get_balance` for each one. Your agent handles this multi-step process automatically, giving you a consolidated report.

**Can I find out who I sent money to with list_transactions?**
Yes. The output from `list_transactions` includes merchant details and recipient information for most transfers, letting you track where your funds went last week or month.

**What's the difference between `get_balance` and `list_accounts`?**
`list_accounts` gives a list of all available accounts (e.g., Checking, Savings). `get_balance` takes one or more account IDs from that list and returns the specific monetary balance for each.

**Does Mercury MCP Server help with tax prep?**
It helps by providing structured data via tools like `list_transactions`, which are much easier to feed into accounting software than manually collected PDFs. You can pull specific transaction types needed for quarterly reports.

**What information does the Mercury MCP Server need to access my accounts, and how do I authenticate?**
You must provide a valid Mercury API Token for connection. Your AI client uses this token to securely authorize all calls; never embed it directly in prompts.

**Can I filter transactions using the `list_transactions` tool for a specific date range or amount?**
Yes, you can pass parameters like start_date, end_date, and minimum_amount. This lets your agent isolate exactly which outgoing payments occurred between two dates.

**Does the `list_invoices` tool help me track outstanding payments owed to my company?**
The `list_invoices` tool pulls your accounts receivable records. You'll get a list of invoices and their current status, helping you see which clients haven't paid yet.

**If I need to send money, how does the `list_recipients` tool help me manage existing payee information?**
This tool retrieves all saved wire and ACH recipients. You don't have to manually enter details; your agent uses this list to select known payees for transfers.

**Can I view balances and recent transactions?**
Yes. You can query balances for all accounts and list recent incoming/outgoing transactions.

**How does Mercury authentication work?**
Mercury uses a Bearer token (API Token) against `api.mercury.com/api/v1`. Tokens must be generated with read-only scopes.

**Can I initiate money transfers via the API?**
The standard API token allows read-only access to balances and transactions for security reasons.