> ## Documentation Index
> Fetch the complete documentation index at: https://docs.veroreceipts.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vero MCP Server

> Connect AI assistants to your financial data with Vero's remote MCP server

The Vero MCP Server is a remote [Model Context Protocol](https://modelcontextprotocol.io/) server that lets AI assistants interact with your bank accounts, transactions, and receipts through Vero's platform.

Instead of building custom integrations, any MCP-compatible client — Claude Desktop, Claude Code, Cursor, or others — can connect to Vero's hosted server and immediately access a full suite of financial tools.

<CardGroup cols={3}>
  <Card title="Quick setup" icon="bolt" href="/mcp-server/setup">
    Connect your AI assistant to Vero in under 2 minutes.
  </Card>

  <Card title="Tool reference" icon="wrench" href="/mcp-server/tools">
    Browse all available tools with parameters and examples.
  </Card>

  <Card title="Authentication" icon="lock" href="/mcp-server/authentication">
    Understand the OAuth 2.0 flow that secures every request.
  </Card>
</CardGroup>

***

## What you can do

Vero attaches itemized line items to the actual transactions in your bank accounts, turning every purchase into a detailed, queryable record. Once connected, your AI assistant can:

* **Query purchases at the line-item level** — Ask "how much did I spend on coffee last month?" or "what did I buy at Target in March?" and get answers from the actual items on each receipt, not just merchant totals
* **Generate expense reports** — Group, categorize, and export itemized spend across transactions for reimbursements or client billing
* **Prepare tax-ready records** — Surface deductible purchases with itemized proof attached to the transaction they belong to
* **Build spending awareness** — Break down where your money goes by category, merchant, or specific product — across all connected accounts
* **Attach receipts to transactions** — Upload images via OCR, or connect Gmail to auto-extract receipts and match them to the right transaction

***

## Architecture

The Vero MCP Server sits between your AI assistant and the Vero backend, handling authentication and translating MCP tool calls into API requests.

```
+---------------------+
|    MCP Client       |
|   (Claude, Cursor)  |
+----------+----------+
           | StreamableHTTP + Bearer token
           v
+---------------------+      +---------------------+
|  Vero MCP Server    |----->|       Auth0         |
|   (vero-cloud-mcp)  |      |     (OAuth 2.0)     |
+----------+----------+      +---------------------+
           | Bearer token pass-through
           v
+---------------------+      +---------------------+
|      Vero API       |----->|        Plaid        |
|   (plaid-wrapper)   |      |      (Bank data)    |
+---------------------+      +---------------------+

```

### How it works

<Steps>
  <Step title="Client connects">
    Your MCP client sends a request to the `/mcp` endpoint. If no Bearer token is present, the server responds with a `401` and a discovery URL, triggering the OAuth flow.
  </Step>

  <Step title="User authenticates">
    The client follows the [OAuth 2.0 authorization code flow](/mcp-server/authentication) through Auth0. The user logs in (or signs up) and grants access. The client receives a Bearer token.
  </Step>

  <Step title="Tools become available">
    With a valid token, the MCP client discovers all available tools and their schemas. The AI assistant can now call any tool on behalf of the user.
  </Step>

  <Step title="Requests flow through">
    Each tool call is authenticated, forwarded to the Vero API with the user's token, and the result is returned as structured JSON to the AI assistant.
  </Step>
</Steps>

***

## Technical details

| Detail               | Value                                                                |
| -------------------- | -------------------------------------------------------------------- |
| **Transport**        | StreamableHTTP (HTTP POST/GET with SSE streaming)                    |
| **Endpoint**         | `/mcp`                                                               |
| **Authentication**   | OAuth 2.0 with Auth0 (RFC 9728, RFC 8414, RFC 7591)                  |
| **Token format**     | JWT (verified locally via JWKS) or opaque (verified via `/userinfo`) |
| **Server framework** | [mcp-go](https://github.com/mark3labs/mcp-go)                        |
| **Language**         | Go                                                                   |

***

## Tool categories

The server exposes tools across 5 categories:

| Category          | Tools | Description                                            |
| ----------------- | ----- | ------------------------------------------------------ |
| **User**          | 1     | Get user context and connection status                 |
| **Bank Accounts** | 3     | Connect, list, and disconnect bank accounts            |
| **Transactions**  | 1     | Search and filter transactions with full query support |
| **Receipts**      | 7     | Upload, match, and manage receipts                     |
| **Email**         | 3     | Connect Gmail and scan for receipts                    |

See the [complete tool reference](/mcp-server/tools) for details on every tool and its parameters.
