Status of each feature. Sandbox and preview features file nothing real. See the availability table.
What is MCP?
The Model Context Protocol (MCP) is an open standard for connecting AI applications to external data sources, tools, and workflows. Think of MCP like a USB-C port for AI applications — just as USB-C provides a standardised way to connect devices, MCP provides a standardised way to connect AI assistants to external systems.
DIY Accounting offers three ways in: the hosted connector, which a chat client reaches with one URL; the diya-gl MCP server for reading and editing a book; and the submission MCP you run yourself for filing VAT returns and Companies House accounts. Every filing they make is one the web app can make too.
The hosted connector
The hosted connector gives a chat client your saved books and the derivation tools with nothing to install. It signs in with the same account as the web app.
The connector URL is:
https://submit.diyaccounting.co.uk/mcp
Add it in Claude
In Claude on the web, in Claude Desktop, on mobile and in Cowork, open Settings, then Connectors, and add a custom connector with that URL. Claude opens the sign-in page; choose Continue, then sign in to your account.
In Claude Code, run:
claude mcp add --transport http diya-submit https://submit.diyaccounting.co.uk/mcp
Then run /mcp in Claude Code and choose the server to sign in.
Tools
open_book opens a book saved in your DIYA cloud by its id, and the other tools work on the book that is open. The
connector does not reach HMRC.
open_book- Open a saved cloud book, for you or for a practice client.
derive_vat_return,get_vat_receipt- The nine VAT return boxes for a period, and a stored receipt.
derive_itsa_quarterly_update,derive_itsa_annual_submission- The Self Employment figures for one quarter and for the year.
derive_micro_entity_accounts,derive_small_company_accounts- The accounts figures for the current and prior year.
-
render_micro_entity_accounts_sandbox,submit_micro_entity_accounts_sandbox,poll_submission - Render the filing, file confirmed accounts with Companies House, and check the outcome.
-
get_confirmation_statement_data_sandbox,render_confirmation_statement_sandbox,submit_confirmation_statement_sandbox -
Read the company's confirmation statement data, render the statement, file it, then check the outcome with
poll_submission. list_clients,add_client,move_book_to_client- For a practice: list its clients, add one, and move a book under a client.
A filing tool takes the figures its derive or render tool returned, so you see and approve the figures before anything reaches Companies House. Submitting a VAT return to HMRC is done in the web app or with the submission MCP below.
The diya-gl MCP server
diya-gl-mcp reads and edits a diya-gl book — the small set of files behind a DIY Accounting Spreadsheets
workbook — from an MCP client such as Claude Desktop or Claude Code. It comes from the
DIY Accounting Spreadsheets product, in
the @diy-accounting-uk/diya-gl npm package.
Install it:
npm install -g @diy-accounting-uk/diya-gl
Run it:
diya-gl mcp
Point an MCP client at diya-gl-mcp (or diya-gl mcp) with no arguments. Four tools:
extract_book- Loads a workbook or package zip into a book, its computed report, and its checks and warnings.
report- Works out the figures, report sections and compliance checks for the book that is loaded.
edit_lines- Applies one named change to the book's transaction lines and returns the recalculated figures.
save_workbook- Writes the book back out as a workbook, a package zip, a diya-gl zip, or a JSON file.
The submission MCP on your computer
The submission MCP takes a customer's book and files the VAT return to HMRC and the micro-entity accounts to Companies House. It works out the figures a filing needs, shows them for confirmation, and only then sends the filing. It also works out the Self Employment quarterly update and annual submission figures for Income Tax (MTD).
Run it from npm
It needs Node.js 24 or later. Run it without installing:
npx @diy-accounting-uk/diya-submit
Run it from Docker
The image runs the same server over stdin and stdout, so a client starts it with docker run -i:
docker run -i --rm ghcr.io/diy-accounting-uk/diya-submit-mcp
Connect a client
Add the server to an MCP client such as Claude Desktop or Claude Code. For the npm package the client's configuration entry is:
{
"mcpServers": {
"diya-submit": {
"command": "npx",
"args": ["-y", "@diy-accounting-uk/diya-submit"],
"env": {
"DIYA_SUBMIT_BASE_URL": "https://submit.diyaccounting.co.uk",
"DIYA_SUBMIT_AUTH_DOMAIN": "prod-auth.diyaccounting.co.uk",
"DIYA_SUBMIT_MCP_CLIENT_ID": "5gpesn0rvb5vidtupcrgakq6tg"
}
}
}
}
For the Docker image, set "command": "docker" and
"args": ["run", "-i", "--rm", "-e", "DIYA_SUBMIT_BASE_URL", "-e", "DIYA_SUBMIT_AUTH_DOMAIN", "-e",
"DIYA_SUBMIT_MCP_CLIENT_ID", "ghcr.io/diy-accounting-uk/diya-submit-mcp"]
with the same env block.
Sign in
Ask the client to run sign_in. It opens the same sign-in page the web app uses, catches the answer on a local
address, and keeps a refresh token in ~/.config/diya-submit/credentials.json readable only by you. Run
sign_out to revoke it. HMRC's own grant stays a browser step, and a Companies House authentication code is passed
on the one call that files and is not stored. In the Docker image the credentials file lives inside the container, so mount a
volume at /home/node/.config/diya-submit to keep the sign-in between runs.
Tools
open_book,save_book- Open a book from a file or from the DIYA cloud, and save it back in any of the four formats.
list_vat_obligations- The open and fulfilled VAT obligations HMRC holds for a business.
derive_vat_return- The nine VAT return boxes for a period, with the lines that fed each box.
submit_vat_return,get_vat_receipt- File a confirmed VAT return with HMRC, and fetch the stored receipt.
derive_micro_entity_accounts- The seven micro-entity balance sheet figures for the current and prior year.
-
render_micro_entity_accounts_sandbox,submit_micro_entity_accounts_sandbox,poll_submission - Render the filing, file confirmed accounts with Companies House, and check the filing's outcome.
derive_itsa_quarterly_update,derive_itsa_annual_submission- The Self Employment figures for one quarter and for the year, from a self-employed book.
A submit tool takes the figures the derive tool returned, never a book, so you see and approve the figures before anything reaches HMRC or Companies House.
About MCP
The Model Context Protocol is an open-source standard maintained by the community.
Visit modelcontextprotocol.io