Repository navigation
A smaller, more restricted MCP write surface
Version 0.6.0 deliberately limits AI-facing writes to customer create/update and restricted unsent sales invoice creation. All 50 read actions remain available. The server now registers 11 tools instead of 15.
Important: confirming invoice creation creates a real, unsent accounting invoice that can affect the ledger and reports before delivery—not an unposted draft. Only preview is non-writing. Both preview and confirmation are agent-accessible; the confirmation flow is not proof of human approval.
Breaking MCP changes
merit_write_customersretains onlycustomer_upsert.merit_write_salesretains onlysales_invoice_create.- Removed
merit_write_purchases,merit_write_financial, and their confirmation tools. - Removed MCP actions for vendor writes, invoice deletion/delivery, credit invoices, purchase invoices/payments, taxes, dimensions, and items. Use Merit directly or a dedicated integration for those workflows.
Invoice payload restrictions
- EUR and VAT-exclusive prices (
PriceInclVat=false) only. - Reject embedded payments, credit forms/negative rows, delivery flags, item-creation fields, and unknown fields at every payload level.
- Require existing non-stock items, checked again before execution; fail closed on missing, ambiguous, stock, or unrecognized items.
- Validate calendar dates, numeric types/finiteness, and cent-rounded net totals.
- Apply validation to preview and confirmation calls, including JSON-string payloads.
SDK and verification
The merit-api Python SDK retains its full capabilities and has no code changes in this release. Both packages use version 0.6.0.
Local tests: 220 passed, 57 skipped (live integration tests were not run). GitHub CI passed for the updated release tag and main branch. No live accounting verification is claimed.
Install
uvx merit-unofficial-mcp-server@0.6.0Published on PyPI:
Full changelog: v0.5.5...v0.6.0