# Mercury MCP

```json
{
  "name": "Mercury MCP",
  "slug": "mercury_mcp",
  "url": "https://composio.dev/toolkits/mercury_mcp",
  "markdown_url": "https://composio.dev/toolkits/mercury_mcp.md",
  "logo_url": "https://logos.composio.dev/api/mercury_mcp",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-06-18T09:41:42.133Z"
}
```

![Mercury MCP logo](https://logos.composio.dev/api/mercury_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Mercury MCP or direct API to list accounts, check balances, review transactions, and fetch statements through natural language.

## Summary

Mercury MCP is Mercury's official MCP server for read-only business banking data.
Use it to safely inspect accounts, balances, transactions, cards, statements, and treasury data.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 30

## Images

- Logo: https://logos.composio.dev/api/mercury_mcp

## Authentication

- **Dcr Oauth**
  - Type: `custom`
  - Description: Dcr Oauth authentication for Mercury MCP.
  - Setup:
    - Configure Dcr Oauth credentials for Mercury MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List Mercury accounts and current balances
- Summarize recent Mercury card transactions
- Find last month’s Mercury bank statements

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MERCURY_MCP_GET_ACCOUNT` | Getaccount | Get account by ID |
| `MERCURY_MCP_GET_ACCOUNT_CARDS` | Getaccountcards | Retrieve all debit and credit cards associated with a specific account. |
| `MERCURY_MCP_GET_ACCOUNTS` | Getaccounts | Retrieve a paginated list of accounts. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. |
| `MERCURY_MCP_GET_ACCOUNT_STATEMENTS` | Getaccountstatements | 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. |
| `MERCURY_MCP_GET_ATTACHMENT` | Getattachment | Retrieve attachment details including download URL |
| `MERCURY_MCP_GET_CURRENT_DATE` | Getcurrentdate | Get the current date in the format. Example: Fri Oct 31 2025 |
| `MERCURY_MCP_GET_CUSTOMER` | Getcustomer | Retrieve details of a specific customer by their ID |
| `MERCURY_MCP_GET_INVOICE` | Getinvoice | Retrieve details of an invoice by its ID |
| `MERCURY_MCP_GET_ORGANIZATION` | Getorganization | Retrieve information about your organization including EIN, legal business name, and DBAs. |
| `MERCURY_MCP_GET_RECIPIENT` | Getrecipient | Retrieve details of a specific recipient by ID |
| `MERCURY_MCP_GET_RECIPIENTS` | Getrecipients | Retrieve a paginated list of all recipients. Use cursor parameters (start_after, end_before) for pagination. |
| `MERCURY_MCP_GET_SAFE_REQUEST` | Getsaferequest | Retrieve a specific SAFE request by its ID. |
| `MERCURY_MCP_GET_SAFE_REQUESTS` | Getsaferequests | Retrieve all SAFE (Simple Agreement for Future Equity) requests for your organization. |
| `MERCURY_MCP_GET_TRANSACTION` | Gettransaction | Get transaction by ID |
| `MERCURY_MCP_GET_TRANSACTION_BY_ID` | Gettransactionbyid | Retrieve a single transaction by its ID. Returns full transaction details including attachments, check images, and related metadata. |
| `MERCURY_MCP_GET_TREASURY` | Gettreasury | Retrieve a paginated list of all treasury accounts associated with the authenticated organization. Use cursor parameters (start_after, end_before) for pagination. |
| `MERCURY_MCP_GET_TREASURY_STATEMENTS` | Gettreasurystatements | Retrieve a paginated list of statements for a specific treasury account. Supports cursor-based pagination and filtering by document type. |
| `MERCURY_MCP_GET_TREASURY_TRANSACTIONS` | Gettreasurytransactions | Retrieve paginated treasury transactions for a specific treasury account. |
| `MERCURY_MCP_GET_USER` | Getuser | Get user by ID |
| `MERCURY_MCP_GET_USERS` | Getusers | Get all users |
| `MERCURY_MCP_GET_WEBHOOK` | Getwebhook | Retrieve details of a specific webhook endpoint by ID |
| `MERCURY_MCP_GET_WEBHOOKS` | Getwebhooks | Retrieve a paginated list of all webhook endpoints for your organization. Supports filtering by status. |
| `MERCURY_MCP_LIST_CATEGORIES` | Listcategories | 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". |
| `MERCURY_MCP_LIST_CREDIT` | Listcredit | Retrieve a list of all credit accounts for the organization. |
| `MERCURY_MCP_LIST_CUSTOMERS` | Listcustomers | Retrieve a paginated list of customers. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. |
| `MERCURY_MCP_LIST_INVOICE_ATTACHMENTS` | Listinvoiceattachments | Retrieve a list of all attachments for a specific invoice |
| `MERCURY_MCP_LIST_INVOICES` | Listinvoices | Retrieve a paginated list of invoices. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters. |
| `MERCURY_MCP_LIST_RECIPIENTS_ATTACHMENTS` | Listrecipientsattachments | 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. |
| `MERCURY_MCP_LIST_SEND_MONEY_APPROVAL_REQUESTS` | Listsendmoneyapprovalrequests | Retrieve a paginated list of send money approval requests for the authenticated organization. Supports filtering by account and status. |
| `MERCURY_MCP_LIST_TRANSACTIONS` | Listtransactions | 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. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Mercury MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Mercury MCP actions with your Agent
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')

tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List my Mercury accounts with current balances'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');

const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List my Mercury accounts with current balances'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Mercury MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Mercury MCP tools. Mercury access is read-only, so never attempt to initiate transactions or modify account data.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Show my recent Mercury transactions from the last 30 days')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'Show my recent Mercury transactions from the last 30 days'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Mercury MCP Integration

- Supports both Mercury MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable banking data lookups
- Rich read-only coverage for accounts, balances, transactions, cards, recipients, statements, and treasury data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Mercury MCP access
- Per user and per environment credentials instead of hard-coded banking secrets

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what Mercury data was read, when, and on whose behalf
- Read-only design helps agents answer finance questions without initiating transactions or changing account data

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Mercury MCP
- Scoped, least privilege access to Mercury banking resources
- Full audit trail of agent actions to support finance review and compliance

## Use Mercury MCP with any AI Agent Framework

Choose a framework you want to connect Mercury MCP with:

- [Claude Cowork](https://composio.dev/toolkits/mercury_mcp/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/mercury_mcp/framework/codex)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.
- [Daffy](https://composio.dev/toolkits/daffy) - Daffy is a modern charitable giving platform with a donor-advised fund. Easily set aside funds, grow them tax-free, and donate to over 1.7 million U.S. charities.
- [Eagle doc](https://composio.dev/toolkits/eagle_doc) - Eagle doc is an AI-powered OCR API for invoices and receipts. It delivers fast, reliable, and accurate document data extraction for seamless automation.
- [Elorus](https://composio.dev/toolkits/elorus) - Elorus is an online invoicing and time-tracking software for freelancers and small businesses. Easily manage finances, bill clients, and track work in one place.
- [Eodhd apis](https://composio.dev/toolkits/eodhd_apis) - Eodhd apis delivers comprehensive financial data, including live and historical stock prices, via robust APIs. Easily access reliable, up-to-date market insights to power your apps, dashboards, and analytics.
- [Fidel api](https://composio.dev/toolkits/fidel_api) - Fidel api is a secure platform for linking payment cards to web and mobile apps. It enables real-time card transaction monitoring and event-based automation for businesses.
- [Finage](https://composio.dev/toolkits/finage) - Finage is a secure API platform delivering real-time and historical financial data for stocks, forex, crypto, indices, and commodities. It empowers developers and businesses to access, analyze, and act on market data instantly.
- [Finmei](https://composio.dev/toolkits/finmei) - Finmei is an invoicing tool that simplifies billing, invoice management, and expense tracking. Ideal for automating and organizing your business finances in one place.
- [Fixer](https://composio.dev/toolkits/fixer) - Fixer is a currency data API offering real-time and historical exchange rates for 170 currencies. Instantly access accurate, up-to-date forex data for your applications and workflows.

## Frequently Asked Questions

### Do I need my own developer credentials to use Mercury MCP with Composio?

Yes, Mercury MCP requires you to configure your own DCR OAuth credentials. Once set up, Composio handles secure credential storage and management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
