Claude-skill-registry-data mercury
Mercury Banking API via curl. Use this skill to manage bank accounts, transactions, transfers, and financial operations.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mercury" ~/.claude/skills/majiayu000-claude-skill-registry-data-mercury && rm -rf "$T"
manifest:
data/mercury/SKILL.mdsource content
Mercury Banking API
Manage business bank accounts, transactions, transfers, and financial operations via Mercury's REST API.
Official docs: https://docs.mercury.com/reference/getaccount
When to Use
Use this skill when you need to:
- View account balances and details
- List and search transactions
- Create internal transfers between accounts
- Manage recipients for external transfers
- Download account statements
- Access treasury account information
Prerequisites
- Sign up for a Mercury business bank account at https://mercury.com
- Go to Settings > Developers > API Tokens
- Create a new API token with appropriate permissions
Set environment variable:
export MERCURY_API_TOKEN="your-api-token"
Important: When using
in a command that pipes to another command, wrap the command containing$VARin$VAR. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c '...'bash -c 'curl -s "https://api.example.com" --header "Authorization: Bearer $API_KEY"'
Accounts
List All Accounts
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Get Account by ID
Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Get Account Cards
Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/cards" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Transactions
List Account Transactions
Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transactions" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
List Transactions with Filters
Filter by date range, status, or limit. Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transactions?limit=50&start=2024-01-01&end=2024-12-31" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Get Transaction by ID
Replace
<your-account-id> and <your-transaction-id> with the actual IDs:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transaction/<your-transaction-id>" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Transfers
Create Internal Transfer
Transfer funds between your Mercury accounts.
Write to
/tmp/mercury_request.json:
{ "toAccountId": "target-account-id", "amount": 100.00, "note": "Internal transfer" }
Then run. Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/account/<your-account-id>/internal-transfer" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d @/tmp/mercury_request.json'
Send Money Request
Initiate a money transfer request.
Write to
/tmp/mercury_request.json:
{ "recipientId": "recipient-id", "amount": 100.00, "paymentMethod": "ach", "idempotencyKey": "unique-key-123" }
Then run. Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/account/<your-account-id>/send-money" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d @/tmp/mercury_request.json'
Get Send Money Request Status
Replace
<your-request-id> with the actual request ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/request-send-money/<your-request-id>" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Recipients
List All Recipients
bash -c 'curl -s "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Get Recipient by ID
Replace
<your-recipient-id> with the actual recipient ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/recipient/<your-recipient-id>" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Create Recipient
Write to
/tmp/mercury_request.json:
{ "name": "Vendor Name", "emails": ["vendor@example.com"], "paymentMethod": "ach", "electronicRoutingInfo": { "accountNumber": "123456789", "routingNumber": "021000021", "bankName": "Example Bank", "electronicAccountType": "businessChecking" } }
Then run:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d @/tmp/mercury_request.json'
Statements
List Account Statements
Replace
<your-account-id> with the actual account ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/statements" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Download Statement PDF
Replace
<your-account-id> and <your-statement-id> with the actual IDs:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/statement/<your-statement-id>/pdf" --header "Authorization: Bearer $MERCURY_API_TOKEN"' > statement.pdf
Organization
Get Organization Info
bash -c 'curl -s "https://api.mercury.com/api/v1/organization" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Treasury
List Treasury Accounts
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Get Treasury Account by ID
Replace
<your-treasury-id> with the actual treasury ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury/<your-treasury-id>" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
List Treasury Transactions
Replace
<your-treasury-id> with the actual treasury ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury/<your-treasury-id>/transactions" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Users
List Users
bash -c 'curl -s "https://api.mercury.com/api/v1/users" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Credit
List Credit Accounts
bash -c 'curl -s "https://api.mercury.com/api/v1/credit" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Accounts Receivable
List Customers
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Create Customer
Write to
/tmp/mercury_request.json:
{ "name": "Customer Name", "email": "customer@example.com" }
Then run:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d @/tmp/mercury_request.json'
List Invoices
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $MERCURY_API_TOKEN"'
Create Invoice
Write to
/tmp/mercury_request.json:
{ "customerId": "customer-id", "lineItems": [{"description": "Service", "amount": 500.00}], "dueDate": "2024-12-31" }
Then run:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d @/tmp/mercury_request.json'
Download Invoice PDF
Replace
<your-invoice-id> with the actual invoice ID:
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoice/<your-invoice-id>/pdf" --header "Authorization: Bearer $MERCURY_API_TOKEN"' > invoice.pdf
Guidelines
- Rate Limits: Mercury may enforce rate limits; implement appropriate backoff strategies for high-volume operations
- Idempotency: Use
for transfer operations to prevent duplicate transactionsidempotencyKey - Security: Never expose API tokens in logs or client-side code
- Amounts: All monetary amounts are typically in USD and represented as decimal numbers
- Pagination: For large result sets, use
andlimit
parameters where supportedoffset
API Reference
- Documentation: https://docs.mercury.com/reference/getaccount
- Dashboard: https://dashboard.mercury.com