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

# Overview

> How Layer's MCP server gives AI agents access to accounting data and bookkeeping actions.

Layer's MCP server exposes Layer accounting data and bookkeeping workflows as Model Context Protocol tools. AI clients and platform agents can inspect financial data, answer business questions, and take supported bookkeeping actions through Layer's API.

The catalog is workflow-oriented, not a generic REST executor. Clients discover the long tail of tools with MCP tool search against names and descriptions. Monetary amounts are **integer cents** (`123456` means `$1,234.56`); convert to dollars when presenting answers.

The server currently registers on the order of **190 tools**. Most clients should not load the full catalog into context. Use tool search, and rely on the always-load tools below for the common path.

## Modes, URLs, and capability groups

JWTs prove authentication. **Mode** is which URL you hit. **Capability groups** filter which tools are registered. Tool annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`) are UX hints, not authorization.

| URL                               | Mode                       | Business context                                                          | Default groups                                       |
| --------------------------------- | -------------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------- |
| `POST` / `GET` / `DELETE` `…/mcp` | **platform**               | Agent calls `set_active_business` with a Layer business UUID              | `core` + `reporting`                                 |
| `…/mcp/:businessToken`            | **business**               | Fixed at provisioning (`layerBusinessId` in the MCP server client config) | `core` + `reporting` + `accounting`                  |
| `…/mcp/b/:businessId`             | **business** (passthrough) | Path business + bearer Layer API token                                    | All business groups unless `LAYER_MCP_GROUPS` is set |

All business groups: `core`, `reporting`, `accounting`, `banking_imports`, `ar_imports`, `ap_imports`, `loans_assets`, `qbo`.

Provisioned clients can add groups with `capabilityGroups` on the client entry, or with the comma-separated `LAYER_MCP_GROUPS` environment variable. See [Authentication](/insights/mcp-server/business-scoped-access) for hosts, tokens, and the two business URLs.

**Platform mode does not get accounting mutations** (no categorize, imports, voids, or journal entries). Exceptions: `create_business` and `update_business` (platform lifecycle). Platform **does** get many **read** tools that also appear on business (reports, list invoices, get bank transactions, and similar) when those tools list both modes.

**Business mode does not get** `set_active_business`, `get_all_businesses`, `get_profitability_report`, platform billing/activity export tools, or platform-secret / auth-token issuance tools.

## Always-load tools

These stay in client context even when tool search is used (`anthropic/alwaysLoad`):

**Platform:** `set_active_business`, `get_all_businesses`, `get_financial_report`, `get_profitability_report`

**Business:** `get_bank_transactions`, `get_financial_report`, `get_chart_of_accounts`, `categorize_bank_transaction`

## Integration patterns

* **Business-level insights:** Tools operate within one business. Use this when an end business owner or business-scoped assistant needs that business's transactions, reports, and chart of accounts.
* **Platform-level insights:** The agent calls `set_active_business` before business-scoped reads. Use this for platform support, operations, demos, and internal agents that already know which Layer business to inspect.

Platforms can incorporate Layer MCP tools into their own AI agents, or connect an MCP client such as Claude Desktop or Claude on the web.

## Product conventions

* Identify the underlying HTTP contract by **method and path**, not OpenAPI `operationId`. Workflow pages in this tab link to the existing REST guides for payload shape.
* Destructive actions are separately named (`void_*`, `delete_*`, `reverse_*`, `unlink_*`, `archive_*`, `merge_*`, `uncategorize_*`).
* Tag filters are only accepted where Layer filters **before aggregation**: P\&L, P\&L summaries, balance sheet, AP aging, and bank transactions. Do not invent tag filters for cash flow, AR aging, trial balance, tax, or Schedule C.
* Receipts are **prepare → PUT file bytes to S3 → complete**. Never send file bytes or large base64 through the model.
* Prefer JSON custom transaction import over CSV.
* AR uses **customer credit**, not “credit note”. AP uses **vendor credit**, not “credit note”.
* Plaid tools return a **hosted Link URL** for a human to open.

## Where to start

| Goal                                | Start here                                                                    |
| ----------------------------------- | ----------------------------------------------------------------------------- |
| Connect a client                    | [Authentication](/insights/mcp-server/business-scoped-access)                 |
| Reports, P\&L, cash flow, aging     | [Financial reports](/insights/mcp-server/financial-reports)                   |
| Categorize vs match vs uncategorize | [Transaction categorization](/insights/mcp-server/transaction-categorization) |
| Platform onboarding and analytics   | [Platform session](/insights/mcp-server/platform-session)                     |
