Skip to main content
The Vero MCP Server exposes tools organized into 5 categories:
  • User context — Identity and integration status
  • Bank accounts — Connect, list, and disconnect bank accounts
  • Transactions — Search and filter transactions with itemized receipt data
  • Receipts — Upload, match, and manage receipts
  • Email — Connect Gmail and scan for receipts
All tools require authentication — the user must complete the OAuth flow before any tool can be called.

User context

get_user_context

Returns a consolidated snapshot of the user’s identity and current integration state, including bank connection status, email connection status, and profile info. Parameters: None Use this tool to understand what the user has set up before suggesting actions. This is typically the first tool called in a conversation.

Bank accounts

connect_bank_account

Creates a Plaid Link session and returns a URL for the user to connect their bank account in a browser. After the user completes the flow, the account is automatically linked. Parameters: None
This tool returns a browser URL. The user must open the link and complete the Plaid Link flow. The AI assistant cannot complete this step on the user’s behalf.

get_accounts

Returns the user’s connected bank accounts with balances and account details. Parameters: None

disconnect_bank_account

Disconnects a bank account. This removes the entire institution connection, so all accounts under the same institution will be disconnected. Parameters:
string
required
The account ID to disconnect. Use get_accounts to find it.
This disconnects all accounts under the same institution, not just the specified account. Only call this once per institution.

Transactions

get_transactions

Syncs the latest transactions from Plaid and returns them. Supports extensive filtering and sorting. Parameters:
Search transactions by name or merchant name.
string
Start date filter. Format: YYYY-MM-DD.
string
End date filter. Format: YYYY-MM-DD.
string
Minimum transaction amount (absolute value).
string
Maximum transaction amount (absolute value).
string
Filter by transaction category. One of:BANK_FEES ENTERTAINMENT FOOD_AND_DRINK GENERAL_MERCHANDISE GENERAL_SERVICES GOVERNMENT_AND_NON_PROFIT HOME_IMPROVEMENT INCOME LOAN_DISBURSEMENTS LOAN_PAYMENTS MEDICAL OTHER PERSONAL_CARE RENT_AND_UTILITIES TRANSFER_IN TRANSFER_OUT TRANSPORTATION TRAVEL
string
Filter by receipt match status. One of: matched, unmatched.
string
Filter by pending status. One of: true, false.
string
Sort field. One of: date, amount, merchant, name. Default: date.
string
Sort direction. One of: asc, desc. Default: desc.

Receipts

ingest_receipt_image

Creates a receipt upload session and returns a URL for the user to upload a receipt image in their browser. The uploaded image is processed with OCR and automatically matched to transactions when possible. Parameters: None
After showing the upload URL to the user, immediately call wait_for_receipt_upload with the returned session_id to get the OCR and matching results.

wait_for_receipt_upload

Waits for a receipt image upload to complete. Call this after ingest_receipt_image once the user has been given the upload URL. Blocks until the user uploads the image or the session times out. Parameters:
string
required
The session ID returned by ingest_receipt_image.
This tool blocks for up to 5 minutes waiting for the user to upload. If the session times out, it returns an error.

get_receipts

Returns the user’s receipts with optional filters. Includes match status, OCR-extracted data, and linked transaction info. Parameters:
string
Filter by receipt status. One of: matched, unmatched, suggested.
string
Filter by receipt source. One of: upload, email.
string
Filter by how the receipt was matched. One of: auto, manual, suggested, confirmed.
string
Search by merchant name or line items.
string
Start date filter. Format: YYYY-MM-DD.
string
End date filter. Format: YYYY-MM-DD.
string
Minimum receipt amount.
string
Maximum receipt amount.
string
Sort field. One of: date, amount, merchant. Default: created_at.
string
Sort direction. One of: asc, desc. Default: desc.

match_receipt

Manually matches a receipt to a specific transaction. Use when automatic matching didn’t find the right transaction or when the user wants to link a specific receipt to a specific transaction. Parameters:
string
required
The UUID of the receipt to match.
string
required
The Plaid transaction ID to match the receipt to.

unmatch_receipt

Removes an existing association between a receipt and a transaction. Parameters:
string
required
The UUID of the receipt to unmatch.

confirm_receipt_suggestion

Confirms an auto-suggested receipt-to-transaction match. Use when the system suggested a match and the user agrees it’s correct. Parameters:
string
required
The UUID of the receipt whose suggestion to confirm.

reject_receipt_suggestion

Rejects an auto-suggested receipt-to-transaction match. Use when the system suggested a match but the user says it’s wrong. Parameters:
string
required
The UUID of the receipt whose suggestion to reject.

Email

connect_email

Initiates Gmail connection via Google OAuth. Returns a URL for the user to authorize Gmail access in a browser. Once connected, Vero can scan the inbox for receipts. Parameters: None
The user must open the returned URL and complete the Google OAuth flow. Only Gmail is currently supported.

scan_email

Scans the user’s connected Gmail inbox for receipts. Runs in the background — results may take a moment to appear. Parameters: None
The user must have a connected email account before calling this tool. Use get_user_context to check.

list_email_receipts

Returns receipts that were discovered from scanning the user’s email inbox. Parameters: None

Tool summary