mcpField
L
lexware

lexware

Local
github.com/lazyantsFinance8Updated 2d ago

About lexware

lexware is an MCP server for people who manage business data through the Lexware Office API. It covers invoices, contacts, articles, vouchers, and related operations, with split entry points and a read-only mode.

Key features

  1. 01Manage invoices and sales vouchers
  2. 02Manage contacts and articles
  3. 03Handle bookkeeping vouchers and payments
  4. 04Upload and download files; manage webhooks
  5. 05Use split entry points and read-only mode

Use cases

  1. 01Read or create invoices from an MCP client
  2. 02Maintain Lexware Office contacts and articles
  3. 03Record vouchers and search voucher types
  4. 04Restrict the server to read-only access

MCP support

The server exposes Lexware Office API tools to MCP clients and provides the read-only resource `reference://lexware/api`. Clients can configure the full server or a business-area split server.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"lazyants-lexware": {
"command": "npx",
"args": [
"-y",
"@lazyants/lexware-mcp-server"
],
"env": {
"LEXWARE_API_TOKEN": "<LEXWARE_API_TOKEN>",
"LEXWARE_KEYRING_SERVICE": "<LEXWARE_KEYRING_SERVICE>",
"LEXWARE_READ_ONLY": "<LEXWARE_READ_ONLY>"
}
}
}
}
Run commandnpx -y @lazyants/lexware-mcp-server
Environment variables to set
LEXWARE_API_TOKENSecretLexware Office API token; required when no token is stored in the OS keyring.
LEXWARE_KEYRING_SERVICESecretOS keyring service containing the API token.
LEXWARE_READ_ONLYSet to true or 1 to block every tool that changes Lexware data; unset, empty, false or 0 leaves it off.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@lazyants/lexware-mcp-server5.4.0

Tools

66

Saved tool list · updated 2d ago

ParameterTypeRequiredDescription
bodyobjectYesInvoice JSON body with voucherDate, address (contactId or manual fields), lineItems (name, quantity, unitPrice), totalPrice, and taxConditions. In introduction, lineItems[].description, and remark, use only Lexware formatting: **bold**, __italic__, and dash-prefixed list items separated by newlines.
finalizebooleanNoWhen true, creates the invoice in finalized "open" status. When false or omitted, creates as draft. Maps to the documented ?finalize=true query parameter.

Details

From the project README

lexware-mcp-server

Listed on AgentHub: lexware Tests

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 Lexware GmbH or Haufe Group. See the Disclaimer.

Requirements

Quick start

1. Store the token in the OS keyring

The server reads the token from the OS keyring first (service lexware-mcp, account api-token) and falls back to the LEXWARE_API_TOKEN environment variable. The keyring is recommended: your MCP config then holds no credentials.

The commands below prompt for the token, so it never lands in your shell history or the process list.

macOS:

security add-generic-password -s "lexware-mcp" -a "api-token" -w

Linux (needs a Secret Service / libsecret):

secret-tool store --label="Lexware Office API" service lexware-mcp username api-token

For Windows, headless machines, and the environment-variable fallback, see the configuration guide.

2. Add the server to your MCP client
{
  "mcpServers": {
    "lexware": {
      "command": "npx",
      "args": ["-y", "@lazyants/lexware-mcp-server"]
    }
  }
}

Put this in your client's MCP configuration, for example claude_desktop_config.json for Claude Desktop. In Claude Code, run:

claude mcp add --scope user lexware -- npx -y @lazyants/lexware-mcp-server

npx downloads and runs the package; no separate install is needed. Restart the client, and the Lexware tools appear in its tool list.

Entry points

The package provides a full server and smaller split servers that each cover one area. Use a split server to reduce context size or to stay under your MCP client's tool limit.

CommandCovers
lexware-mcp-serverEverything below
lexware-mcp-salesInvoices, Credit Notes, Quotations, Order Confirmations, Delivery Notes, Down Payment Invoices, Dunnings, Voucherlist
lexware-mcp-contactsContacts, Articles
lexware-mcp-bookkeepingVouchers, Voucherlist, Payments
lexware-mcp-referenceCountries, Payment Conditions, Posting Categories, Profile, Print Layouts
lexware-mcp-systemEvent Subscriptions, Files, Recurring Templates

Run a split server with npx -y -p @lazyants/lexware-mcp-server lexware-mcp-sales. The configuration guide has client examples for split servers and for several Lexware accounts.

What the tools do

Tool names follow lexware_<action>_<resource>, for example lexware_create_invoice or lexware_list_voucherlist. They create and read sales vouchers such as invoices and quotations, manage contacts and articles, record bookkeeping vouchers, search across voucher types, upload and download files, and manage webhook subscriptions. Your MCP client's tool list, with each tool's description and input schema, is the authoritative inventory.

Every entry point also serves a read-only MCP resource, reference://lexware/api, with API conventions, text formatting rules, and webhook guidance.

The usage guide explains the API caveats: finalizing at creation, voucher search filters, voucher updates, file uploads and downloads, and webhooks.

Security

  • Use the OS keyring and never commit your API token to version control.
  • Create, update, delete, upload, and pursue tools change real business data in your Lexware account. A pursue tool creates a follow-up document.
  • Set LEXWARE_READ_ONLY=true to make the server refuse every tool that changes data. See Read-only mode.
  • Without read-only mode, two things stop unintended changes: the permissions of your Lexware API token, which Lexware enforces, and your MCP client's approval prompts. Tool annotations such as readOnlyHint are hints for the client, not checks.
  • Split servers offer fewer tools, but most of them still include tools that change data. For a conservative setup, see Limit what the server can change.
  • Requests that hit the rate limit (HTTP 429) are retried automatically with exponential backoff.

To report a vulnerability, see SECURITY.md.

Documentation

  • Configuration — keyring setup for macOS, Windows, and Linux; environment variables; Claude Code and Claude Desktop; split servers and multiple accounts; limiting what the server can change.
  • Usage notes — API behavior and caveats.
  • Releasing — maintainer release procedure.
  • Changelog

Releasing

Maintainers: follow the release guide. Never create a release with a bare gh release create; the guide's guarded tag sequence explains why and prevents republishing an old version.

Disclaimer

This is an unofficial, independent community project. It is not affiliated with, endorsed by, sponsored by, or supported by Lexware GmbH, Haufe Group, or any of their affiliates. For official Lexware support, contact Lexware directly — issues with this MCP server should be reported here, not to Lexware.

"Lexware" and "Lexware Office" are trademarks of their respective owners and are used in this project's name and documentation under nominative fair use, solely to identify the third-party API this client connects to.

Create, update, and delete operations modify real business data in your Lexware account. The authors provide this software "as-is" and accept no responsibility for unintended changes, data loss, or any other damages arising from its use. Test against a sandbox or non-critical account before running write operations against production data.

License

FSL-1.1-MIT — see LICENSE for the full terms.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.