Skip to content

v0.6.0 — Restricted MCP writes

Latest

Choose a tag to compare

@jaakla jaakla released this 10 Sep 18:41

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_customers retains only customer_upsert.
  • merit_write_sales retains only sales_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.0

Published on PyPI:

Full changelog: v0.5.5...v0.6.0