Merit Aktiva MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read Merit Aktiva invoices, customers, vendors, items, payments and reports; create a customer.
26 tools: 2 do something that can't be undone, 6 change things and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things6Claude Code: ask: see these tools
- Only reads18Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http merit-aktiva https://merit-aktiva.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnmerit_list_items
The server marks "merit_list_items" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_list_items" says "list": a word for reading.
The server marks "merit_customer_debts_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "open": a word for a change.
The server marks "merit_customer_payments_report" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_customer_payments_report" says "payment": a word that usually means money moves, which cannot be taken back.
The server marks "merit_purchase_report" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_purchase_report" says "purchase": a word that usually means money moves, which cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
26 tools
Can't be undone 2Claude Code: ask
merit_customer_payments_reportCustomer invoices with their unpaid amount and overdue flag for a period, for one customer (name or id).1 finding
Why it is in this group
- The name "merit_customer_payments_report" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "merit_customer_payments_report" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_customer_payments_report" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Customer invoices with their unpaid amount and overdue flag for a period, for one customer (name or id). Only the FIRST page is returned: if has_more is true, narrow the period or the customer (the continuation endpoint is not supported). POST /api/v2/getcustpaymrep.
Annotations the server declares
- title: Customer payments report
- readOnlyHint: true
merit_purchase_reportPurchase totals for a period, grouped by invoice, vendor, item or fixed asset.1 finding
Why it is in this group
- The name "merit_purchase_report" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "merit_purchase_report" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_purchase_report" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Purchase totals for a period, grouped by invoice, vendor, item or fixed asset. POST /api/v2/getpurchrep.
Annotations the server declares
- title: Purchase report
- readOnlyHint: true
Changes things 6Claude Code: ask
merit_balance_sheetThe balance sheet: one row per report line (assets, liabilities, equity) with balances for per_count months counting back from end_date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The balance sheet: one row per report line (assets, liabilities, equity) with balances for per_count months counting back from end_date. POST /api/v1/getbalancerep.
Annotations the server declares
- title: Balance sheet
- readOnlyHint: true
merit_create_customerWRITE: creates ONE new customer record in the Merit company (name must be unique; an existing customer is never overwritten, Merit answers with an error).No findings
Why it is in this group
- The name "merit_create_customer" says "create": a word for a change.
Description, as the server wrote it WRITE: creates ONE new customer record in the Merit company (name must be unique; an existing customer is never overwritten, Merit answers with an error). Nothing is invoiced, sent or paid. In Estonia not_td_customer must be true for private persons and foreign companies; city is required in Estonia for a non-EE country. Returns the new customer id. POST /api/v2/sendcustomer.
Annotations the server declares
- title: Create a customer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
merit_customer_debts_reportOpen customer receivables: for each unpaid document the customer, date, due date, total, paid and unpaid amount.1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "merit_customer_debts_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "open": a word for a change.
Description, as the server wrote it Open customer receivables: for each unpaid document the customer, date, due date, total, paid and unpaid amount. Give a customer name (empty string = all customers) or a customer id; over_due_days keeps only documents overdue by at least that many days. POST /api/v1/getcustdebtrep.
Annotations the server declares
- title: Customer debts report
- readOnlyHint: true
merit_income_statementThe profit and loss report: one row per report line, with balances for per_count months counting back from end_date (newest first).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The profit and loss report: one row per report line, with balances for per_count months counting back from end_date (newest first). Optional department filter. POST /api/v1/getprofitrep.
Annotations the server declares
- title: Income statement (profit and loss)
- readOnlyHint: true
merit_list_itemsList items, services and stock articles with price, unit, VAT and accounts.1 finding
Why it is in this group
- The name "merit_list_items" says "list": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "merit_list_items" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "merit_list_items" says "list": a word for reading.
Description, as the server wrote it List items, services and stock articles with price, unit, VAT and accounts. Optional filters: code or description (partial), type, id. With location_code the reply adds stock quantity and cost of that warehouse. POST /api/v1/getitems.
Annotations the server declares
- title: List items (articles)
- readOnlyHint: true
merit_sales_reportSales totals for a period, grouped by invoice, customer, item or country.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Sales totals for a period, grouped by invoice, customer, item or country. POST /api/v2/getsalesrep.
Annotations the server declares
- title: Sales report
- readOnlyHint: true
Only reads 18Claude Code: allow
merit_get_gl_batchOne general ledger batch with all its debit and credit lines (account, memo, department, tax, amounts).No findings
Why it is in this group
- The name "merit_get_gl_batch" says "get": a word for reading.
Description, as the server wrote it One general ledger batch with all its debit and credit lines (account, memo, department, tax, amounts). The attachment is never requested. POST /api/v1/getglbatch.
Annotations the server declares
- title: Get a general ledger transaction
- readOnlyHint: true
merit_get_purchase_invoiceOne purchase invoice in full: header, lines, payments.No findings
Why it is in this group
- The name "merit_get_purchase_invoice" says "get": a word for reading.
Description, as the server wrote it One purchase invoice in full: header, lines, payments. The attachment is never requested. POST /api/v2/getpurchorder.
Annotations the server declares
- title: Get a purchase invoice
- readOnlyHint: true
merit_get_sales_invoiceOne sales invoice in full: header, lines (items, quantities, VAT, accounts), payments and dimension allocations.No findings
Why it is in this group
- The name "merit_get_sales_invoice" says "get": a word for reading.
Description, as the server wrote it One sales invoice in full: header, lines (items, quantities, VAT, accounts), payments and dimension allocations. The PDF attachment is never requested. POST /api/v2/getinvoice.
Annotations the server declares
- title: Get a sales invoice
- readOnlyHint: true
merit_list_accountsThe general ledger chart of accounts (code, names, VAT, parent flag, active flag).No findings
Why it is in this group
- The name "merit_list_accounts" says "list": a word for reading.
Description, as the server wrote it The general ledger chart of accounts (code, names, VAT, parent flag, active flag). GET /api/v2/accounts.
Annotations the server declares
- title: List the chart of accounts
- readOnlyHint: true
merit_list_bank_paymentsList the income payments (money received) or expense payments (money paid out) booked on one bank account for a document-date period, with the documents each paid.No findings
Why it is in this group
- The name "merit_list_bank_payments" says "list": a word for reading.
Description, as the server wrote it List the income payments (money received) or expense payments (money paid out) booked on one bank account for a document-date period, with the documents each paid. The period may span at most 3 months (Merit limit); for longer spans make several calls. GET /api/v2/Banks/{bankId}/IncomePayments or /ExpensePayments.
Annotations the server declares
- title: List income or expense payments of a bank account
- readOnlyHint: true
merit_list_banksThe company's bank and cash accounts (BankId, name, IBAN, currency, ledger account).No findings
Why it is in this group
- The name "merit_list_banks" says "list": a word for reading.
Description, as the server wrote it The company's bank and cash accounts (BankId, name, IBAN, currency, ledger account). BankId feeds the payment tools. GET /api/v2/banks.
Annotations the server declares
- title: List bank accounts
- readOnlyHint: true
merit_list_customersSearch customers by name (partial match), registry number or VAT number (exact), id, or changed since a date.No findings
Why it is in this group
- The name "merit_list_customers" says "list": a word for reading.
Description, as the server wrote it Search customers by name (partial match), registry number or VAT number (exact), id, or changed since a date. At least one filter is required: Merit cannot return the whole customer list in one reply. POST /api/v1/getcustomers.
Annotations the server declares
- title: Search customers
- readOnlyHint: true
merit_list_departmentsDepartments (code, name, active flag).No findings
Why it is in this group
- The name "merit_list_departments" says "list": a word for reading.
Description, as the server wrote it Departments (code, name, active flag). GET /api/v2/departments.
Annotations the server declares
- title: List departments
- readOnlyHint: true
merit_list_dimensionsAccounting dimensions and their values (DimId, name, value code, expiry).No findings
Why it is in this group
- The name "merit_list_dimensions" says "list": a word for reading.
Description, as the server wrote it Accounting dimensions and their values (DimId, name, value code, expiry). all_values = true also lists expired values. POST /api/v2/getdimensions.
Annotations the server declares
- title: List dimensions
- readOnlyHint: true
merit_list_financial_yearsAccounting periods (financial years) with start, end and active flag.No findings
Why it is in this group
- The name "merit_list_financial_years" says "list": a word for reading.
Description, as the server wrote it Accounting periods (financial years) with start, end and active flag. POST /api/v2/getaccperiods.
Annotations the server declares
- title: List financial years
- readOnlyHint: true
merit_list_gl_batchesList general ledger batches (journal entries, also those created from invoices and payments) of a period: batch code, number, date, total.No findings
Why it is in this group
- The name "merit_list_gl_batches" says "list": a word for reading.
Description, as the server wrote it List general ledger batches (journal entries, also those created from invoices and payments) of a period: batch code, number, date, total. The period may span at most 3 months (Merit limit); for longer spans make several calls. POST /api/v1/getglbatches.
Annotations the server declares
- title: List general ledger transactions
- readOnlyHint: true
merit_list_payment_typesPayment methods and sources (cash, banks, reporting entities, ledger accounts) usable for purchases, expense reports or sales.No findings
Why it is in this group
- The name "merit_list_payment_types" says "list": a word for reading.
Description, as the server wrote it Payment methods and sources (cash, banks, reporting entities, ledger accounts) usable for purchases, expense reports or sales. POST /api/v2/getpaymenttypes.
Annotations the server declares
- title: List payment types
- readOnlyHint: true
merit_list_paymentsList payments (customer and vendor receipts and payouts) of a period, with the documents they paid.No findings
Why it is in this group
- The name "merit_list_payments" says "list": a word for reading.
Description, as the server wrote it List payments (customer and vendor receipts and payouts) of a period, with the documents they paid. The period may span at most 3 months (Merit limit); for longer spans make several calls. POST /api/v2/getpayments.
Annotations the server declares
- title: List payments
- readOnlyHint: true
merit_list_purchase_invoicesList purchase invoices (vendor bills) of a period: bill number, vendor, dates, totals, paid flag.No findings
Why it is in this group
- The name "merit_list_purchase_invoices" says "list": a word for reading.
Description, as the server wrote it List purchase invoices (vendor bills) of a period: bill number, vendor, dates, totals, paid flag. The period may span at most 3 months (Merit limit); for longer spans make several calls. POST /api/v2/getpurchorders.
Annotations the server declares
- title: List purchase invoices
- readOnlyHint: true
merit_list_sales_invoicesList sales invoices (header level: number, customer, dates, totals, paid flag) of a period.No findings
Why it is in this group
- The name "merit_list_sales_invoices" says "list": a word for reading.
Description, as the server wrote it List sales invoices (header level: number, customer, dates, totals, paid flag) of a period. The period may span at most 3 months (Merit limit); for longer spans make several calls. Use merit_get_sales_invoice for the lines. POST /api/v2/getinvoices.
Annotations the server declares
- title: List sales invoices
- readOnlyHint: true
merit_list_taxesAll VAT rates of the company (TaxId, code, name, percent, active flag).No findings
Why it is in this group
- The name "merit_list_taxes" says "list": a word for reading.
Description, as the server wrote it All VAT rates of the company (TaxId, code, name, percent, active flag). The TaxId is what invoice rows refer to. GET /api/v2/taxes.
Annotations the server declares
- title: List VAT rates
- readOnlyHint: true
merit_list_vendorsSearch vendors (suppliers) by name (partial match), registry number or VAT number (exact), id, or changed since a date.No findings
Why it is in this group
- The name "merit_list_vendors" says "list": a word for reading.
Description, as the server wrote it Search vendors (suppliers) by name (partial match), registry number or VAT number (exact), id, or changed since a date. At least one filter is required: Merit cannot return the whole vendor list in one reply. POST /api/v1/getvendors.
Annotations the server declares
- title: Search vendors
- readOnlyHint: true
merit_search_sales_invoicesFind sales invoices by invoice number, customer name or customer id (give at least one).No findings
Why it is in this group
- The name "merit_search_sales_invoices" says "search": a word for reading.
Description, as the server wrote it Find sales invoices by invoice number, customer name or customer id (give at least one). POST /api/v2/getinvoices2.
Annotations the server declares
- title: Find sales invoices by number or customer
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http merit-aktiva https://merit-aktiva.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__merit-aktiva__merit_list_sales_invoices",
"mcp__merit-aktiva__merit_search_sales_invoices",
"mcp__merit-aktiva__merit_get_sales_invoice",
"mcp__merit-aktiva__merit_list_purchase_invoices",
"mcp__merit-aktiva__merit_get_purchase_invoice",
"mcp__merit-aktiva__merit_list_customers",
"mcp__merit-aktiva__merit_list_vendors",
"mcp__merit-aktiva__merit_list_accounts",
"mcp__merit-aktiva__merit_list_taxes",
"mcp__merit-aktiva__merit_list_departments",
"mcp__merit-aktiva__merit_list_banks",
"mcp__merit-aktiva__merit_list_financial_years",
"mcp__merit-aktiva__merit_list_dimensions",
"mcp__merit-aktiva__merit_list_payment_types",
"mcp__merit-aktiva__merit_list_payments",
"mcp__merit-aktiva__merit_list_bank_payments",
"mcp__merit-aktiva__merit_list_gl_batches",
"mcp__merit-aktiva__merit_get_gl_batch"
],
"ask": [
"mcp__merit-aktiva__merit_list_items",
"mcp__merit-aktiva__merit_customer_debts_report",
"mcp__merit-aktiva__merit_customer_payments_report",
"mcp__merit-aktiva__merit_income_statement",
"mcp__merit-aktiva__merit_balance_sheet",
"mcp__merit-aktiva__merit_sales_report",
"mcp__merit-aktiva__merit_purchase_report",
"mcp__merit-aktiva__merit_create_customer"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as merit-aktiva. Review it before you use it.