Mercury Enhanced MCP

collinsb1/Mercury-Enhanced-MCP
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A custom MCP server for the Mercury banking API that uses personal API tokens to avoid session expiry. It provides 15 tools for managing accounts, transactions, recipients, treasury, and more.

README.md

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

---

Installation

git clone https://github.com/bradcollins/Mercury-Enhanced-MCP.git
cd Mercury-Enhanced-MCP
npm install
npm run build

---

Configuration

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 | |------|-------------| | get_accounts | List all Mercury accounts (checking, savings) with balances and status | | get_account | Get details of a specific account by ID | | get_account_cards | List debit/credit cards associated with an account | | get_account_statements | Get monthly statements for a checking/savings account | | get_transaction | Get details of a single transaction by ID | | list_account_transactions | List transactions for a specific account with date/status/search filters | | list_transactions | Cross-account transaction search with advanced filters | | get_organization | Get organization info (EIN, legal name, DBAs) | | get_recipients | List all payment recipients | | get_recipient | Get full details of a specific recipient by ID | | list_categories | List all custom expense categories | | list_credit | List all credit accounts | | get_treasury_accounts | List all Mercury treasury accounts with balances and net returns | | get_treasury_transactions | List transactions for a treasury account (integer cursor pagination) | | get_treasury_statements | 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: /treasury
  • Treasury transactions: /treasury/{id}/transactions

---

License

MIT — see LICENSE

Related MCP servers

Browse all →