explaingit

marselsel/lexware-mcp

13TypeScriptAudience · pm founderComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted MCP server that connects German accounting software Lexware Office to AI assistants like Claude and ChatGPT, letting you query invoices, contacts, and bookkeeping records through conversation.

Mindmap

mindmap
  root((lexware-mcp))
    What it does
      Query invoices
      Manage contacts
      Create drafts
      Export PDFs
    Tool tiers
      Read always on
      Drafts default on
      Finalize opt-in
    Auth options
      OAuth 2.1
      Static token
    Deployment
      Docker local
      Fly.io
      Cloud Run
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Ask Claude to list unpaid invoices from your Lexware Office account and summarize the outstanding total

USE CASE 2

Create a draft invoice in Lexware Office by describing the line items to an AI assistant in plain language

USE CASE 3

Export PDF copies of your Lexware documents by asking an AI to fetch and download them for you

USE CASE 4

Connect Lexware bookkeeping to Claude Desktop with a static token for quick expense lookups without OAuth setup

Tech stack

TypeScriptDockerMCPOAuth 2.1

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Lexware Office account with API access and either a local Docker runtime or a container hosting platform like Fly.io.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Lexware Office is a German accounting software product, and this project builds a bridge between that software's API and AI assistants like Claude and ChatGPT. The bridge uses a protocol called MCP (Model Context Protocol), which is a standard way for AI tools to call external services. Once you run this server and connect it to an AI assistant, you can ask that assistant questions about your invoices, contacts, and bookkeeping records, and optionally have it create or update documents on your behalf. The server is self-hosted, meaning you download it, run it on your own computer or a cloud container, and supply your own Lexware API key. It never stores credentials for anyone else. It comes packaged as a Docker container, so you can start it locally in a few commands or deploy it to any hosting platform that runs containers, such as a VPS, Fly.io, or Google Cloud Run. There are 65 tools organized into three tiers. The read tier is always on and covers contacts, articles, invoices, quotations, credit notes, vouchers, payments, and PDF exports. The drafts tier, which is on by default, lets the AI create and update draft documents, upload files, and attach receipts to bookkeeping vouchers. The finalize tier is off by default and must be explicitly enabled: it allows the AI to issue legally binding documents that cannot be undone, so the README flags this clearly and warns that you are responsible for the legal and tax correctness of anything finalized. For authentication, you can choose between two approaches. OAuth 2.1 works with the Claude web app and ChatGPT, which require a proper sign-in flow. A simpler static token approach also works, but only with Claude Code or Claude Desktop, which support custom request headers. You configure the server's behavior entirely through environment variables, including which tiers are enabled and whether the server runs in read-only mode. The project is open source under the MIT license and links to two related projects that take a different approach to the same Lexware API using a local rather than network-based server style.

Copy-paste prompts

Prompt 1
I have lexware-mcp running locally with my Lexware API key, help me connect it to Claude Desktop using a static token and ask it to list all open invoices from the past 30 days
Prompt 2
Walk me through enabling lexware-mcp's finalize tier in the environment config so Claude can issue legally binding documents, and explain what the legal risk means
Prompt 3
Help me deploy the lexware-mcp Docker container to Fly.io and configure OAuth 2.1 so it works with the Claude web app
Prompt 4
Show me how to set lexware-mcp to read-only mode in the environment variables so no AI action can create or modify any document
Open on GitHub → Explain another repo

← marselsel on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.