MCP server for the Lexware Office API โ invoices, contacts, articles, and vouchers.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for the Lexware Office API. Manage invoices, contacts, articles, vouchers, and more through the Model Context Protocol.
Unofficial โ community project. Not affiliated with, endorsed by, or supported by Lexware GmbH or Haufe Group. "Lexware" and "Lexware Office" are trademarks of their respective owners; used here only to identify the API this client targets (nominative fair use).
66 tools across 20 resource domains, with 6 entry points so you can pick the right server for your MCP client's tool limit.
Or run directly:
The API token is resolved in this order:
LEXWARE_API_TOKENGet your token from the Lexware Office API settings, then store it with the native credential manager for your OS.
[!IMPORTANT] The commands below read the token from an interactive prompt rather than taking it as an argument, so it never lands in your shell history or the process list. Avoid pasting the token directly onto the command line.
Omitting the value after -w makes security prompt for the token (with confirmation):
cmdkey can only take the token as a command-line argument, which exposes it in
the process list. Instead, read it from a hidden prompt and write it straight
into Windows Credential Manager via CredWrite, so the token never reaches argv.
The credential's target name is <account>.<service> โ api-token.lexware-mcp
for the default service โ which is exactly what the server reads back:
Using a custom
LEXWARE_KEYRING_SERVICE(e.g.acme)? SetTargetNametoapi-token.acmeto match โ the server looks the token up under<account>.<service>.
Once stored, MCP config files need no credentials at all โ the server reads the token from the keyring at startup.
If you prefer not to use the keyring, set LEXWARE_API_TOKEN in your shell or MCP client config:
| Variable | Default | Description |
|---|---|---|
LEXWARE_API_TOKEN | โ | API token; used when the keyring has no entry for the configured service |
LEXWARE_KEYRING_SERVICE | lexware-mcp | Keyring service name. Override when connecting to multiple Lexware accounts simultaneously โ run one server instance per account, each with its own service name |
Optionally override the webhook-signature public key used by lexware_verify_webhook_signature
(by default fetched from Lexware and cached):
| Command | Domains | Tools |
|---|---|---|
lexware-mcp-server | All 20 domains | 66 |
lexware-mcp-sales | Invoices, Credit Notes, Quotations, Order Confirmations, Delivery Notes, Down Payment Invoices, Dunnings, Voucherlist | 32 |
lexware-mcp-contacts | Contacts, Articles | 10 |
lexware-mcp-bookkeeping | Vouchers, Voucherlist, Payments | 8 |
lexware-mcp-reference | Countries, Payment Conditions, Posting Categories, Profile, Print Layouts | 5 |
lexware-mcp-system | Event Subscriptions, Files, Recurring Templates | 12 |
Use split servers to reduce context size โ pick only the splits you need.
Add to ~/.claude/settings.json. If you stored the token in the OS keyring under the default service name lexware-mcp (recommended), no env key is needed:
If you prefer the environment variable approach:
Use split servers to reduce context size โ pick only the entry points you need. The -p @lazyants/lexware-mcp-server flag tells npx which package to source the command from; the final argument (e.g. lexware-mcp-sales) is the specific entry-point binary defined in that package (see Entry Points):
Multi-account example (two Lexware companies, tokens stored under separate keyring service names):
Add to claude_desktop_config.json. With the OS keyring (recommended โ assumes the token is stored under the default service name lexware-mcp):
With an environment variable instead:
lexware_create_invoice (supports finalize=true at creation), lexware_get_invoice, lexware_download_invoice_file, lexware_pursue_invoice, lexware_deeplink_invoice
lexware_create_credit_note, lexware_get_credit_note, lexware_download_credit_note_file, lexware_pursue_credit_note, lexware_deeplink_credit_note
lexware_create_quotation, lexware_get_quotation, lexware_download_quotation_file, lexware_deeplink_quotation
lexware_create_order_confirmation, lexware_get_order_confirmation, lexware_download_order_confirmation_file, lexware_pursue_order_confirmation, lexware_deeplink_order_confirmation
lexware_create_delivery_note, lexware_get_delivery_note, lexware_download_delivery_note_file, lexware_pursue_delivery_note, lexware_deeplink_delivery_note
lexware_get_down_payment_invoice, lexware_download_down_payment_invoice_file, lexware_deeplink_down_payment_invoice
lexware_get_dunning, lexware_download_dunning_file, lexware_pursue_dunning, lexware_deeplink_dunning
lexware_list_voucherlist
By default this is a single-page passthrough of the API response. Two additions are opt-in:
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/lexware)<a href="https://allmcps.com/mcp/lexware"><img src="https://allmcps.com/api/badge/lexware?style=directory" alt="Lexware on AllMCPs" /></a>