Merit MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MERIT_API_ID | Yes | Your Merit Aktiva API ID (required for full functionality) | |
| MERIT_API_KEY | Yes | Your Merit Aktiva API key (required for full functionality) | |
| MERIT_API_COUNTRY | No | Country code, either EE or PL, defaults to EE | EE |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_setup_instructionsA | Report whether MERIT_API_ID and MERIT_API_KEY are configured, and explain how to set them when they are not. |
| merit_read_master_dataC | Read-only tool. Read common master and reference data from Merit. Actions: customers_list: List customers with optional filters.; customer_groups_list: List customer groups.; vendors_list: List vendors with optional filters.; vendor_groups_list: List vendor groups.; items_list: List items with optional filters.; item_groups_list: List item groups.; taxes_list: List tax rates.; dimensions_list: List dimensions.; banks_list: List banks.; accounts_list: List accounts.; projects_list: List projects.; cost_centers_list: List cost centers.; departments_list: List departments.; units_list: List units of measure.; financial_years_list: List financial years. |
| merit_read_salesA | Read-only tool. Read sales invoices, offers, and recurring invoice data. Actions: invoices_list: List sales invoices.; invoice_get: Fetch one sales invoice by id.; invoice_pdf_get: Fetch one sales invoice PDF by id.; offers_list: List sales offers.; offer_get: Fetch one sales offer by id.; recurring_invoices_list: List recurring invoices.; recurring_invoice_get: Fetch one recurring invoice by id.; recurring_invoice_addresses_list: List recurring invoice addresses. |
| merit_read_purchasesA | Read-only tool. Read purchase invoices and purchase orders. Actions: invoices_list: List purchase invoices.; invoice_get: Fetch one purchase invoice by id.; orders_list: List purchase orders. |
| merit_read_financialB | Read-only tool. Read payments, banks, and GL information. Actions: payments_list: List payments.; payment_types_list: List payment types.; payment_imports_list: List payment imports for a bank.; expense_payments_list: List expense payments for a bank.; income_payments_list: List income payments for a bank.; gl_batches_list: List GL batches.; gl_batch_get: Fetch one GL batch by id.; gl_batches_full_list: List GL batches with full details. |
| merit_read_inventoryC | Read-only tool. Read inventory, fixed asset, and pricing data. Actions: locations_list: List inventory locations.; movements_list: List inventory movements.; fixed_asset_locations_list: List fixed asset locations.; fixed_asset_responsible_persons_list: List fixed asset responsible persons.; fixed_assets_list: List fixed assets.; prices_list: List prices.; discounts_list: List discounts.; price_get: Fetch an effective price. |
| merit_read_reportsC | Read-only tool. Read Merit reports and report continuations. Actions: customer_debts_get: Get customer debts report.; customer_payments_get: Get customer payment report.; more_data_get: Get continuation page for a report.; profit_report_get: Get statement of profit or loss.; balance_report_get: Get statement of financial position.; inventory_report_get: Get inventory report.; sales_report_get: Get sales report.; purchase_report_get: Get purchase report. |
| merit_write_customersA | Preview-only write tool. Does not execute changes; returns intended operation details and a confirmation_code for merit_write_customers_confirm. Create or update customers. Actions: customer_upsert: Create or update a customer. |
| merit_write_customers_confirmA | Confirmed mutating tool. Executes a previously previewed write operation from merit_write_customers when called with confirmation_code and confirmed=true. Create or update customers. Actions: customer_upsert: Create or update a customer. |
| merit_write_salesA | Preview-only write tool. Does not execute changes; returns intended operation details and a confirmation_code for merit_write_sales_confirm. Create unsent accounting invoices, not unposted drafts. Delivery (email/e-invoice), deletion, and credit invoices are handled manually in Merit and are not exposed by this server. Actions: sales_invoice_create: Create an unsent accounting invoice through Merit v1 /sendinvoice, NOT an unposted draft. Restricted schema: Customer={Id: customer GUID}; DocDate, TransactionDate, DueDate as YYYYMMDD; InvoiceNo (string), CurrencyCode='EUR', PriceInclVat=false, singular InvoiceRow list, TaxAmount, TotalAmount (VAT-exclusive). Optional FComment and HComment text. Each row requires Item={Code, Description, UOMName}, Quantity>0, Price>=0, TaxId GUID, Account. Read items_list first; Code must exactly match an existing non-stock item. The server verifies items again at confirmation and refuses missing, stock, or unrecognized items. Do not supply Item.Type. Use InvoiceRow (singular), not InvoiceRows; UOMName belongs inside Item, not on the row. Resolve company-specific TaxId GUIDs via taxes_list; never invent them. TaxAmount entries are {TaxId, Amount>=0} and must cover exactly the row TaxIds. TotalAmount must be positive and match the sum of row Quantity × Price, rounded per row to cents. Unknown fields are rejected at every level, including Payment, AccountingDoc, DelivNote, discounts, rounding adjustments, and item-creation fields. Negative quantities/prices are not supported. Choose InvoiceNo using the company's numbering convention; no automatic allocation is provided. Confirmation creates a real, unsent accounting invoice in Merit. It can affect the ledger and reports before delivery; this is NOT an unposted draft. Only the preview is non-writing. Review before confirming; send manually in Merit. |
| merit_write_sales_confirmA | Confirmed mutating tool. Executes a previously previewed write operation from merit_write_sales when called with confirmation_code and confirmed=true. Create unsent accounting invoices, not unposted drafts. Delivery (email/e-invoice), deletion, and credit invoices are handled manually in Merit and are not exposed by this server. Actions: sales_invoice_create: Create an unsent accounting invoice through Merit v1 /sendinvoice, NOT an unposted draft. Restricted schema: Customer={Id: customer GUID}; DocDate, TransactionDate, DueDate as YYYYMMDD; InvoiceNo (string), CurrencyCode='EUR', PriceInclVat=false, singular InvoiceRow list, TaxAmount, TotalAmount (VAT-exclusive). Optional FComment and HComment text. Each row requires Item={Code, Description, UOMName}, Quantity>0, Price>=0, TaxId GUID, Account. Read items_list first; Code must exactly match an existing non-stock item. The server verifies items again at confirmation and refuses missing, stock, or unrecognized items. Do not supply Item.Type. Use InvoiceRow (singular), not InvoiceRows; UOMName belongs inside Item, not on the row. Resolve company-specific TaxId GUIDs via taxes_list; never invent them. TaxAmount entries are {TaxId, Amount>=0} and must cover exactly the row TaxIds. TotalAmount must be positive and match the sum of row Quantity × Price, rounded per row to cents. Unknown fields are rejected at every level, including Payment, AccountingDoc, DelivNote, discounts, rounding adjustments, and item-creation fields. Negative quantities/prices are not supported. Choose InvoiceNo using the company's numbering convention; no automatic allocation is provided. Confirmation creates a real, unsent accounting invoice in Merit. It can affect the ledger and reports before delivery; this is NOT an unposted draft. Only the preview is non-writing. Review before confirming; send manually in Merit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| setup-merit-api | Explain how to configure Merit API credentials for the MCP server. |
| create-sales-invoice | Create an unsent accounting invoice (not an unposted draft); review before confirmation. |
| find-or-create-customer | Guide an assistant through finding or creating a customer. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| merit_server_info | Basic discovery information for the Merit API MCP server. |
| merit_tools_catalog | Catalog of all registered Merit API MCP tools. |
TDQS
Scored across 11 tools
Read tools are cleanly partitioned by domain (financial, inventory, master_data, purchases, reports, sales) with little overlap, and the preview/confirm write pairs are clearly distinguished by the _confirm suffix. Only minor conceptual overlap exists between merit_read_financial and merit_read_reports, which both surface monetary data.
Names follow a strong merit_read_<domain> / merit_write_<domain> / merit_write_<domain>_confirm pattern throughout. The lone outlier is get_setup_instructions, which breaks both the merit_ prefix and the verb-noun domain convention.
Eleven tools is well-scoped for an ERP surface, and reads are sensibly aggregated into multi-action domain tools (each carrying many sub-actions) rather than exploding into dozens of endpoints. Every tool earns its place.
Read coverage is broad across financials, inventory, master data, purchases, reports, and sales. However write operations are limited to customer upsert and sales invoice creation, with no vendor/purchase-order/item writes, no update/delete for existing records, and manual handling of delivery and credit notes leaving notable gaps.