Skip to main content
Glama
lazyants

lexware-mcp-server

by lazyants

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LEXWARE_API_TOKENYesYour Lexware Office API token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
lexware_create_invoiceA

Create a new invoice in Lexware; finalize=true creates status "open", false or omitted creates a draft, and the API cannot finalize an existing draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_invoiceA

Retrieve an invoice by ID from Lexware.

lexware_download_invoice_fileA

Download the file for an invoice. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).

lexware_pursue_invoiceA

Create a new invoice from a quotation, order confirmation, or delivery note via POST /invoices?precedingSalesVoucherId={id}[&finalize=true]; finalize=true creates status "open", false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_deeplink_invoiceA

Get a direct link to view/edit an invoice in the Lexware web app.

lexware_create_credit_noteA

Create a new credit note in Lexware; finalize=true finalizes at creation, false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_credit_noteA

Retrieve a credit note by ID from Lexware.

lexware_download_credit_note_fileA

Download the file for a credit note. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).

lexware_pursue_credit_noteA

Create a new credit note from an invoice via POST /credit-notes?precedingSalesVoucherId={id}[&finalize=true]; finalize=true finalizes the credit note, false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_deeplink_credit_noteA

Get a direct link to view/edit a credit note in the Lexware web app.

lexware_create_quotationA

Create a new quotation in Lexware; finalize=true finalizes at creation, false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_quotationB

Retrieve a quotation by ID from Lexware.

lexware_download_quotation_fileA

Download the PDF file for a quotation.

lexware_deeplink_quotationA

Get a direct link to view/edit a quotation in the Lexware web app.

lexware_create_order_confirmationA

Create a new order confirmation in Lexware; finalize=true finalizes at creation, false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_order_confirmationA

Retrieve an order confirmation by ID from Lexware.

lexware_download_order_confirmation_fileA

Download the PDF file for an order confirmation.

lexware_pursue_order_confirmationA

Create a new order confirmation from a quotation via POST /order-confirmations?precedingSalesVoucherId={id}. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_deeplink_order_confirmationA

Get a direct link to view/edit an order confirmation in the Lexware web app.

lexware_create_delivery_noteA

Create a new delivery note in Lexware; finalize=true finalizes at creation, false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_delivery_noteA

Retrieve a delivery note by ID from Lexware.

lexware_download_delivery_note_fileA

Download the PDF file for a delivery note.

lexware_pursue_delivery_noteB

Create a new delivery note from a quotation or order confirmation via POST /delivery-notes?precedingSalesVoucherId={id}. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_deeplink_delivery_noteA

Get a direct link to view/edit a delivery note in the Lexware web app.

lexware_get_down_payment_invoiceB

Retrieve a down payment invoice by ID from Lexware.

lexware_download_down_payment_invoice_fileA

Download the file for a down payment invoice. Defaults to PDF; pass format="xml" to request the XRechnung XML e-invoice when available (the API returns whatever representation it can render).

lexware_deeplink_down_payment_invoiceA

Get a direct link to view/edit a down payment invoice in the Lexware web app.

lexware_pursue_dunningA

Create a new dunning from an invoice via POST /dunnings?precedingSalesVoucherId={id}; dunnings are always created as drafts and do not need finalization. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

lexware_get_dunningA

Retrieve a dunning by ID from Lexware.

lexware_download_dunning_fileA

Download the PDF file for a dunning.

lexware_deeplink_dunningA

Get a direct link to view/edit a dunning in the Lexware web app.

lexware_list_articlesA

List all articles with optional pagination.

lexware_get_articleA

Get a single article by ID.

lexware_create_articleB

Create a new article. Only description supports Lexware formatting (bold, italic, and dash-prefixed list items separated by newlines); article title does not support formatting.

lexware_update_articleA

Update an article with the current version field for optimistic locking. Only description supports Lexware formatting (bold, italic, and dash-prefixed list items separated by newlines); article title does not support formatting.

lexware_delete_articleB

Delete an article by ID.

lexware_list_contactsA

List all contacts with optional pagination and filters.

lexware_get_contactA

Get a single contact by ID.

lexware_create_contactB

Create a new contact.

lexware_update_contactA

Update an existing contact. The body must include the version field for optimistic locking.

lexware_deeplink_contactB

Get a direct URL to view a contact in the Lexware web app. Returns deeplink and its permanent alias url with the same value.

lexware_list_countriesA

List all available countries with their tax classifications.

lexware_list_payment_conditionsA

List all available payment conditions.

lexware_list_posting_categoriesA

List all available posting categories for bookkeeping.

lexware_get_profileA

Get the organization profile information.

lexware_list_print_layoutsA

List available print layout templates.

lexware_create_voucherA

Create a new bookkeeping voucher in Lexware.

lexware_get_voucherA

Retrieve a bookkeeping voucher by ID from Lexware. The voucherStatus field in the response is normalized to its canonical lowercase form. Known values: unchecked, open, paid, paidoff, voided, transferred, sepadebit. Retries up to 3 times (1 s / 2 s / 4 s) on 404 to absorb the indexing delay after an upload; if the voucher is still missing, returns { voucherId, status: "processing", message } rather than an error. Other failures are reported as errors.

lexware_update_voucherA

Update a bookkeeping voucher with the current version for optimistic locking. If the existing voucher is unchecked, the update must transition voucherStatus to open.

lexware_list_vouchersA

Look up bookkeeping vouchers by voucher number. GET /vouchers is a LOOKUP endpoint, not a browsable collection: the Lexware API rejects any call without voucherNumber with HTTP 400 "voucherNumber parameter is required". To browse or filter vouchers, use lexware_list_voucherlist, which is the collection endpoint and carries the summary fields (contactName, openAmount) that /vouchers does not.

lexware_upload_voucher_fileA

Upload a file attachment to a bookkeeping voucher. Provide either filePath (absolute path on the MCP server host) or contentBase64 (base64-encoded content) — not both. When using filePath, fileName is optional (derived from the file name) and contentType is auto-detected for common image extensions. When using contentBase64, fileName is required.

lexware_deeplink_voucherA

Get a direct link to view/edit a bookkeeping voucher in the Lexware web app.

lexware_list_voucherlistB

Search and filter across all voucher types in Lexware. This is the main way to find invoices, credit notes, quotations, and other voucher types.

lexware_get_paymentsA

Get payment details for a specific voucher.

lexware_create_event_subscriptionA

Create a Lexware webhook subscription for an external callback handler; this MCP server manages subscriptions and verifies signatures but does not host a receiver. Acknowledge with HTTP 200/204 within 5 seconds, enqueue the payload for asynchronous processing, and throttle outgoing API calls to respect rate limits.

lexware_list_event_subscriptionsA

List all webhook event subscriptions in Lexware.

lexware_get_event_subscriptionA

Retrieve a webhook event subscription by ID from Lexware.

lexware_delete_event_subscriptionB

Delete a webhook event subscription from Lexware.

lexware_verify_webhook_signatureA

Verify a Lexware webhook X-Lxo-Signature (RSA-SHA512, base64) against the raw request body. Pass the EXACT raw HTTP body bytes you received — do not JSON.parse/stringify round-trip, as Lexware signs the compact JSON as transmitted (whitespace and key order matter). On first call the public key is fetched once from developers.lexware.io and cached for the process lifetime; set LEXWARE_WEBHOOK_PUBLIC_KEY (PEM) to override (recommended for production where you cannot tolerate one-time TLS-substitution risk on the public-key fetch).

lexware_upload_fileA

Upload a file to Lexware. Provide either filePath (absolute path on the MCP server host) or contentBase64 (base64-encoded content) — not both. When using filePath, fileName is optional (derived from the file name) and contentType is auto-detected for common image extensions. When using contentBase64, fileName is required.

lexware_download_fileB

Download a file from Lexware as base64-encoded content. Choose pdf (default) or xml for an available e-invoice XML original.

lexware_get_file_statusA

Get the processing status of an uploaded file from Lexware. Requires an API key with the file-status scope; keys without it get an access_denied error from Lexware.

lexware_deeplink_fileB

Get a direct link to the bookkeeping inbox of newly-uploaded files in the Lexware web app.

lexware_list_recurring_templatesB

List recurring invoice templates from Lexware.

lexware_get_recurring_templateA

Retrieve a recurring invoice template by ID from Lexware.

lexware_deeplink_recurring_templateA

Get a direct link to view/edit a recurring invoice template in the Lexware web app.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
lexware-api-referenceRead-only Lexware API reference, including supported text formatting, voucher update constraints, and external webhook callback guidance.

TDQS

B3.4/5.0

Scored across 66 tools

Disambiguation3/5

Most tools target distinct resources, but several pairs overlap: create_invoice vs pursue_invoice (create-from-preceding-voucher), the generic download_file/upload_file vs per-type download_invoice_file/download_credit_note_file/upload_voucher_file, and the similarly-named list_vouchers (lookup) vs list_voucherlist (collection). Descriptions do a good job disambiguating them, but the boundaries are not obvious from names alone.

Naming Consistency4/5

Nearly everything follows a predictable lexware_verb_noun snake_case pattern (create_/get_/list_/update_/download_/deeplink_). Minor deviations: the odd verb 'pursue' for create-from-preceding, and the inconsistent list_vouchers vs list_voucherlist naming.

Tool Count2/5

66 tools is very heavy and well past the point where an agent can easily scan the surface. The broad ERP domain (articles, contacts, vouchers, sales documents, files, webhooks) justifies many tools, but the count is inflated by per-type download/deeplink/pursue variants that could be consolidated.

Completeness4/5

Core workflows are covered: articles and contacts have CRUD, vouchers have create/get/update/list plus file upload and payments, webhooks have full lifecycle including signature verification. Gaps remain (no delete for contacts or most sales documents, no update for invoices/quotations), though many reflect Lexware API limits.

Maintenance

ActivityMaintained
ResponsivenessSlow