Skip to main content

What is MCP?

The Model Context Protocol (MCP) lets AI assistants connect to external tools and services. The 0 Finance MCP server gives your AI agent access to:
  • Check balances and transaction history
  • Manage invoices (create, update, send)
  • Propose bank transfers for approval
  • Attach receipts and share payment details
All transfers require human approval in the dashboard. Your AI agent can propose actions, but you stay in control.

Quick setup

Add this to your MCP client configuration:
Add to ~/.cursor/mcp.json:
{
  "mcpServers": {
    "zero-finance": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://0.finance/api/mcp"],
      "env": {
        "API_KEY": "sk_live_xxx"
      }
    }
  }
}
Replace sk_live_xxx with your API key from Settings → API Keys.

Available tools

ToolDescription
list_saved_bank_accountsList saved bank accounts
get_balanceGet spendable USDC balance
propose_bank_transferPropose an outbound transfer
list_proposalsList transfer proposals
dismiss_proposalDismiss a proposal
create_bank_accountSave a new bank account
create_invoiceCreate a new invoice
update_invoiceUpdate an invoice
list_invoicesList invoices
get_invoiceGet invoice details
send_invoiceSend invoice to recipient
list_transactionsList transaction history
get_transactionGet transaction details
attach_documentAttach a file to a transaction
list_attachmentsList attachments
remove_attachmentRemove an attachment
get_payment_detailsGet IBAN/ACH receiving details
share_payment_detailsEmail payment details
MCP currently focuses on bank transfers and invoices. For crypto transfers and savings actions, use the CLI or HTTP API.

Starter prompt

Add this to your AI client’s system prompt for best results:
You are an assistant connected to the 0 Finance MCP server.

## Before proposing transfers
1. Call `get_balance` to check available USDC.
2. Call `list_saved_bank_accounts` to see destination options.

## Transfers
- Use `propose_bank_transfer` to create a transfer proposal.
- Never claim funds have moved—transfers require user approval in the dashboard.
- Use `attach_document` to link invoices or receipts to proposals.

## Invoices
- Use `create_invoice` to draft an invoice.
- Use `send_invoice` to email it to the recipient.
- Use `list_invoices` and `get_invoice` to check status.

## Receiving payments
- Use `get_payment_details` to retrieve the user's IBAN/ACH info.
- Use `share_payment_details` to email those details to a third party.

## Style
- Summarize results clearly.
- Ask before taking destructive or high-value actions.
- Always confirm amounts and recipients before proposing transfers.

Example conversation

You: Check my balance and pending invoices Agent:
I’ll check your balance and invoices. Balance: 5,420.50 USDC spendable Pending invoices:
  • INV-001: $2,500 from Acme Corp (due Jan 20)
  • INV-002: $1,000 from Beta Inc (overdue)
You: Send a reminder to Beta Inc Agent:
I’ve sent a reminder email to Beta Inc for invoice INV-002 ($1,000).
You: Once that’s paid, move $3,000 to my EUR account Agent:
I’ll propose a transfer of $3,000 to your EUR account (ending in …4521). ⚠️ This transfer requires your approval in the dashboard before it executes. Would you like me to create the proposal?

Security model

  1. Read operations — Balance, invoices, transactions execute immediately
  2. Transfer proposals — Bank transfers require dashboard approval
  3. Immediate actions — Invoice creation and sending happen instantly
  4. Audit trail — Every action is logged with the API key used
Never share your API key. It provides full read access and can create proposals on your behalf.

Client-specific guides