Jahresabschluss.io
DESign inRegister →

Model Context Protocol

MCP server for your accounting

The Model Context Protocol lets an MCP-capable client treat your bookkeeping as a native tool source. Our MCP server is a thin adapter over the same REST API — same key, same scopes, same GoBD rules — exposing 91 tools: 43 read tools for your ledger, tax filings and annual accounts, 45 write tools to post and maintain it and to check and prepare tax filings, one to send invoices, one to lock periods and one to file with ELSTER whose right is not granted yet. The hosted transport is live today, so there is nothing to install to get started.

Last reviewed: 2026-07-03

What the MCP server is

One tool source, 91 tools, zero magic.

When you register the server, your client discovers 91 callable tools, each mapped onto one bookkeeping endpoint. The 43 read tools cover company data and settings, fiscal years, the chart of accounts, journal entries, the trial balance, open items, invoices, payments, receipts, bank accounts and lines, fixed assets, the cash book, provisions, accruals, VAT return figures, period status, exports, tax filings with their status and the annual-accounts status with issued statements and disclosure files. The 45 write tools post bookings and Storno reversals, import batches, issue invoices and credit notes, record payments, book receipts and bank lines, run the cash book, fixed assets, provisions and accruals, maintain master data, carry opening balances forward, run the official tax check and prepare a tax submission. One more tool sends invoices by email (send scope), one locks periods (finalize scope) and one files with ELSTER (file scope, not granted yet).

Because it is a thin adapter over the REST API, the MCP server can do exactly what the API can do and nothing more. The scopes on your key decide which tools your client even sees — a read-only key lists only the 43 read tools.

Remote transport — ready now

Hosted, nothing to install. This is the recommended path.

The remote transport is hosted for you. You add it over HTTP with a single command, passing your key as an Authorization header. There is no Node install, no local process to babysit, and updates land server-side. The exact server URL is shown in the app under Settings → “AI agent & API”; in every sample we use the $MCP_URL placeholder.

# Remote (hosted) — ready now, nothing to install:
claude mcp add --transport http --scope user buchhaltung \
  "$MCP_URL" --header "Authorization: Bearer jab_live_…"

Local stdio clients — via the mcp-remote bridge

For clients that only launch local servers, a published bridge connects them to the hosted server.

Some clients start MCP servers only as a local command over stdio. They reach the hosted server through mcp-remote, a published bridge that forwards the stdio session to $MCP_URL with your key in the Authorization header, read from the env block rather than the arguments. Every working path runs through the hosted server.

{
  "mcpServers": {
    "buchhaltung": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "$MCP_URL",
        "--header", "Authorization:${JAB_AUTH}"],
      "env": { "JAB_AUTH": "Bearer jab_live_…" }
    }
  }
}

Claude Desktop configuration

For the desktop client, the server is declared in the config file.

Claude Desktop reads its servers from claude_desktop_config.json. Add a buchhaltung entry under mcpServers that runs mcp-remote against the hosted server, as in the snippet above, with your key in the env block. Restart Claude Desktop afterwards — the file is read only at start-up.

Same key, same GoBD rules

MCP changes the interface, never the safety model.

  • One key equals one company; the company is derived from the key, never a tool argument.
  • Scopes still apply — a read key can call read tools only.
  • Write tools run through the GoBD booking core: append-only, Festschreibung, Storno instead of delete, Soll equals Haben.
  • No SQL passthrough and no free query — the tool set is a fixed allowlist.
  • The server reaches bookkeeping data only; the product's own AI and internal logic are not bookkeeping resources and stay unreachable.

Frequently asked questions

Which clients can use the MCP server?

Any MCP-capable client. Claude Code and Claude Desktop are the primary examples. The remote HTTP transport is the ready-now path and needs nothing installed locally.

Is the npx package available?

You don't need a package: use the hosted server — directly over HTTP, or through the published mcp-remote bridge for clients that only start local commands.

How many tools does the server expose?

As many as your key allows: the read tools with every key; with write, the tools to post and maintain the books and to check and prepare tax filings; one to email invoices with send and one to lock periods with finalize. Each maps onto a fixed bookkeeping endpoint, and the list your client receives already reflects the key's rights.

Where do I find my server URL and key?

Both are shown in the app under Settings → “AI agent & API” in the bookkeeping module. The samples on this page use the $MCP_URL placeholder; copy the exact address from the app.

Does MCP relax any GoBD guarantee?

No. The MCP server is a thin adapter over the REST API, so every write still passes through the same booking core with the same append-only and Storno rules the manual UI enforces.