Skip to main content
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. 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 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