# Multi Books

Ask Claude or ChatGPT about all your companies' books at once

FreeAgent and Xero now, QuickBooks®, Sage and more next - every company in one connector. Invoices, bills, bank lines and reports across all of them.

Multi Books is in closed beta. Ask for a place and we'll email you if a place opens. Sign in or create a free Lumman account - the request is kept with it.

## What it does for you

- Finds any invoice or bill: One question reaches every company - your AI app reads their invoices and bills and finds them by customer, supplier, amount or date.
- Sends invoices: Creates invoices, estimates and credit notes, and sends invoices and estimates, in the right company.
- Records bills and expenses: Bills, expenses with their receipts, and payments - kept the way your program keeps them.
- Explains bank lines: Explains the lines on your bank feed in FreeAgent and records bank entries in Xero.
- Shows who owes you: Totals by customer and supplier, overdue invoices and the cash forecast.
- Read only where you want: Each company has its own read-only switch: on, Multi Books changes nothing there.

## One request, as it runs

You ask: “Who owes us money across all my companies? List anything overdue.”

1. Lists your 3 companies in FreeAgent and Xero (`companies_list`)
2. Reads who owes each of them (`reports_aged_receivables`)
3. Lists the overdue invoices with their customers (`invoices_list`)

## Your books

- Each company has its own read-only switch - on, every write there is refused before FreeAgent or Xero is asked.
- Multi Books never moves money - it makes no payment and charges no card. An invoice it approves in Xero is collected only by a Direct Debit you set up there.
- The words of every record are screened for prompt attacks before they reach your AI app, and the words of everything it writes before they reach your program.
- We keep no copy of your books. They are read from FreeAgent or Xero each time your AI app asks.
- Made by Lumman Ltd, London.

## Your programs

- FreeAgent - With FreeAgent sign-in
- Xero - With Xero sign-in
- QuickBooks - Next
- Sage - Next
- Zoho Books - Next
- FreshBooks - Next
- QuickFile - Next
- Business Central - Next
- Pandle - Next
- Intuit and QuickBooks are trademarks of Intuit Inc., registered in the US and other countries. Multi Books has not been approved by Intuit. Zoho and Zoho Books are trademarks of Zoho Corporation Private Limited and/or its affiliates.

## Your AI app

- [Claude](https://lumman.co/mcp/claude) - As a custom connector, by its address
- [ChatGPT](https://lumman.co/mcp/chatgpt) - As a custom MCP server
- [Cursor](https://lumman.co/mcp/cursor) - In ~/.cursor/mcp.json
- [Claude Code](https://lumman.co/mcp/claude-code) - With claude mcp add, by its address
- [VS Code](https://lumman.co/mcp/vs-code) - With MCP: Add Server, over HTTP
- [Gemini CLI](https://lumman.co/mcp/gemini-cli) - With gemini mcp add, by its address

## Tools

60 - every write refused in a company set to read only

- List companies (`companies_list`): The companies this account holds, in FreeAgent and Xero - Always on

### Reading

- List bank accounts (`bank_accounts_list`)
- List bank transactions (`bank_transactions_list`)
- List contacts (`contacts_list`)
- List invoices (`invoices_list`)
- Read an invoice (`invoices_get`)
- List estimates (`estimates_list`)
- List credit notes (`credit_notes_list`)
- List bills (`bills_list`)
- Read a bill (`bills_get`)
- Read an attachment (`attachments_get`)
- List categories (`accounts_list`)
- Read the profit and loss (`reports_profit_and_loss`)
- Read the balance sheet (`reports_balance_sheet`)
- Read the trial balance (`reports_trial_balance`)
- Read who owes the company (`reports_aged_receivables`)
- Read whom the company owes (`reports_aged_payables`)
- Read totals by customer or supplier (`reports_totals_by_contact`)
- List tax returns (`tax_returns_list`)
- List projects (`projects_list`)
- List time entries (`time_entries_list`)
- List expenses (`expenses_list`)
- List journals (`journals_list`)
- List recurring invoices (`recurring_invoices_list`)
- List recurring bills (`recurring_bills_list`)
- List purchase orders (`purchase_orders_list`)
- List payments (`payments_list`)
- List tracking categories (`tracking_categories_list`)
- List items (`items_list`)
- List tax rates (`tax_rates_list`)

### Sales

- Create a contact (`contacts_create`)
- Change a contact (`contacts_update`)
- Create an invoice (`invoices_create`)
- Change an invoice (`invoices_update`)
- Send an invoice (`invoices_send`)
- Void an invoice (`invoices_void`)
- Delete an invoice (`invoices_delete`)
- Create an estimate (`estimates_create`)
- Change an estimate (`estimates_update`)
- Send an estimate (`estimates_send`)
- Create a credit note (`credit_notes_create`)
- Change a credit note (`credit_notes_update`)

### Purchases

- Create a bill (`bills_create`)
- Change a bill (`bills_update`)
- Delete a bill (`bills_delete`)
- Record an expense (`expenses_create`)
- Change an expense (`expenses_update`)
- Delete an expense (`expenses_delete`)
- Record a payment (`payments_record`)

### Bank

- Explain a bank transaction (`bank_transactions_code`)
- Undo an explanation (`bank_transactions_uncode`)

### Projects and time

- Create a project (`projects_create`)
- Change a project (`projects_update`)
- Record time (`time_entries_create`)
- Change a time entry (`time_entries_update`)
- Delete a time entry (`time_entries_delete`)

### Journals and items

- Create a journal (`journals_create`)
- Change a journal (`journals_update`)
- Create an item (`items_create`)
- Change an item (`items_update`)

## Technical details

- Transport: Streamable HTTP
- Sign-in: OAuth 2.1 with dynamic client registration. No key or client id.
- PKCE: S256 only - a request bound with plain is refused
- A request: Lasts 10 minutes - connect again from the app for a fresh one
- Discovery: https://books.lumman.co/.well-known/oauth-protected-resource/mcp
- Removing an app: Stops its next call
- Books: No copy kept - read from FreeAgent or Xero on each call
- Screening: Words screened both ways for prompt attacks; a screening that cannot answer closes the call. A file's own bytes are not screened.
- Writes: A write whose answer was lost is settled by reading the books back, never by sending it again
- This page as text: lumman.co/mcp/multi-books.md
- For AI agents: lumman.co/llms.txt

Address: https://books.lumman.co/mcp

## If something fails

- The sign-in window ran out or closed: Close it and connect again from your AI client - that opens a fresh request. Any company you added stays in your account.
- No company is connected yet: Open https://lumman.co/mcp/account/multi-books, signed in with the account you approved your AI client with, and add a FreeAgent company or a Xero organisation. Then ask again.
- A company stopped working: FreeAgent or Xero no longer accepts the access it gave, as when the approval is withdrawn there. Open your account, press Reconnect on that company and ask again.
