MCP tool reference

Every tool on the Wafeq MCP server, 122 read and 158 write, with what each one does.

The Wafeq MCP server has 280 tools: 122 read tools, which never change anything, and 158 write tools, which need the mcp.write scope.

A client only sees the tools that the user's role and the organization's plan allow. Call get_capabilities with an organization_id to see which tools are available in that organization, and why the others are hidden. Every other tool takes a required organization_id.

Read tools (122)

ToolWhat it does
get_capabilitiesDescribe the authenticated user, this connection's OAuth scopes, and per authorized organization its ID, role and setup.
search_organization_recordsSearch all indexed Wafeq resource types allowed by the caller's scopes.
list_contactsList contacts in the organization, oldest first.
fuzzy_search_contactsFuzzy search for contacts by name.
get_contactFetch a single contact.
list_chart_of_accountsList accounts in the organization's chart of accounts, ordered by account code.
get_accountFetch a single account from the chart of accounts.
get_account_optionsGet the valid options for account classifications, sub-classifications, account types, and activities.
get_next_account_codeGet the next available account code for a new child of the given parent account.
list_bank_accountsList bank accounts in stable creation order.
get_bank_accountFetch a bank account by ID.
list_bank_transactionsList bank transactions for one bank account in newest-first order.
get_bank_transactionFetch a bank transaction by ID.
search_bank_transaction_matchesSearch the documents and journal lines that could match a bank transaction.
find_bank_accounts_by_card_digitsFind which bank or card account a payment card belongs to, from the card's last four digits.
list_classified_bank_transactionsList prior bank transactions classified as expenses or manual journals.
list_paymentsList payments in deterministic newest-first order.
get_paymentFetch a payment by ID.
get_vat_return_reportPrepare the VAT return for a filing period in the organization's statutory box layout.
get_vat_summary_reportVAT summary: one row per tax rate with activity over the period.
get_vat_return_checklistPre-filing checklist: find documents in the period missing or with a suspect VAT treatment.
get_vat_filing_settingsRead the organization's VAT filing settings plus the derived filing periods.
get_expenseFetch an expense.
list_expensesList expenses in deterministic newest-first order.
get_billGet a bill by ID with its line items, debit notes, and attachments.
list_billsList bills using text, amount, date, currency, supplier, and balance filters.
get_debit_noteGet a debit note by ID with its line items and attachments.
list_debit_notesList debit notes using text, amount, date, currency, supplier, and balance filters.
get_credit_noteGet a credit note by ID with its line items, invoice applications, and attachments.
list_credit_notesList credit notes using text, amount, date, currency, customer, and balance filters.
get_invoiceGet an invoice by ID with its line items and attachments.
list_invoicesList invoices using text, amount, date, currency, customer, and balance filters.
get_simplified_invoiceGet a cash (simplified) invoice by ID with its line items.
list_simplified_invoicesList cash (simplified) invoices, the retail sales numbered like SINV-000123 that are paid on issue.
get_quoteGet a quote by ID with its line items and attachments.
list_quotesList quotes using text, amount, date, currency, and customer filters.
get_purchase_orderGet a purchase order by ID with its line items and attachments.
list_purchase_ordersList purchase orders using text, amount, date, currency, and supplier filters.
get_employeeFetch a single employee.
list_employeesList employees in the organization, newest first.
get_payslipFetch a payslip with its pay items.
list_payslipsList payslips using business filters, newest first.
list_payrollsList payroll templates in the organization, newest first.
get_payrollFetch a payroll template with its pay items.
list_projectsList projects in the organization, newest first.
get_projectFetch a single project.
list_cost_centersList cost centers in the organization, newest first.
get_cost_centerFetch a single cost center.
list_branchesList branches in the organization, newest first.
get_branchFetch a single branch.
list_itemsList items in deterministic newest-first order.
get_itemFetch an item by ID, with its configured units.
list_inventory_countsList inventory counts in newest-first order.
get_inventory_countFetch an inventory count and its lines.
list_inventory_adjustmentsList inventory adjustments in newest-first order.
get_inventory_adjustmentFetch an inventory adjustment and its lines.
list_bills_of_materialsList current bills of materials in newest-first order.
get_bill_of_materialsFetch the current bill of materials by its ID or parent-item ID.
list_assembly_buildsList assembly builds and disassemblies in newest-first order.
get_assembly_buildFetch an assembly build with its component snapshot and additional costs.
preview_assembly_buildPreview assembly consumption, costs, variances, and whether it can be posted without saving.
list_production_ordersList production orders in deterministic newest-first order.
get_production_orderFetch a production order with material lines, completions, and costs.
get_manufacturing_production_register_reportProduction register: one row per posted assembly build/disassembly with its costs and variances.
get_manufacturing_cost_of_goods_manufactured_reportCost of goods manufactured: production cost per assembled product (optionally per month).
get_manufacturing_cost_variance_reportManufacturing cost variance: standard vs. actual cost, decomposed into the variances that caused the gap.
get_manufacturing_work_in_progress_reportWork in process: open production orders and the WIP balance each is holding, reconciled to the GL.
get_manufacturing_requirements_reportMaterial requirements: what every PLANNED production order needs, netted against stock and open supply.
get_manufacturing_material_consumption_reportMaterial consumption: what raw material was consumed into production over a period, and into what.
list_fixed_assetsList fixed assets in newest-first register order.
get_fixed_assetFetch a fixed asset by ID.
list_fixed_asset_depreciationsList fixed-asset depreciation entries in newest-first order.
preview_fixed_asset_depreciationPreview fixed-asset depreciation without writing anything.
get_organization_sopRead the organization's Standard Operating Procedure (SOP).
get_organizationGet the current organization's profile and address.
get_inbox_documentFetch an inbox document by ID.
list_inbox_documentsList organization inbox documents in deterministic newest-first order.
list_expense_reports_for_approvalList expense reports visible to an approver in newest-first order.
get_expense_report_for_approvalFetch one expense report from the approval queue by public ID.
list_journal_line_itemsList general-ledger journal lines with public related-resource IDs.
get_general_ledger_reportBuild ad-hoc reports over the general ledger (journal line items).
get_profit_and_loss_reportGenerate a profit & loss (income statement) report.
get_balance_sheet_reportGenerate a balance sheet report for the current organization on the as_of date.
get_trial_balance_reportGenerate the trial balance: each account's opening balance, debits, credits and closing balance over a period.
get_cash_flow_reportGenerate the cash flow statement over a period, prepared with the indirect method.
get_aged_receivables_reportGenerate the aged receivables report: what each customer owes on a date, split into overdue buckets.
get_aged_payables_reportGenerate the aged payables report: what the organization owes each supplier on a date, split into overdue buckets.
get_tax_reportGenerate the tax report: each tax rate's taxable amount and tax over a period.
download_invoice_pdfGenerate an invoice PDF and return a signed URL.
download_cash_invoice_pdfGenerate a cash-invoice PDF and return a signed URL.
download_quote_pdfGenerate a quote PDF and return a signed URL.
download_credit_note_pdfGenerate a credit-note PDF and return a signed URL.
download_bill_pdfGenerate a bill PDF and return a signed URL.
download_expense_pdfGenerate an expense PDF and return a signed URL.
download_manual_journal_pdfGenerate a manual-journal PDF and return a signed URL.
download_payment_receipt_pdfGenerate a payment receipt PDF and return a signed URL.
download_customer_statement_of_accountDownload a customer statement of account.
download_supplier_statement_of_accountDownload a supplier statement of account.
download_profit_and_loss_reportDownload a profit and loss report.
download_balance_sheet_reportDownload a balance sheet report.
download_general_ledger_reportDownload every general ledger journal line in a date range as an Excel or CSV file, up to 5,000 lines.
get_tax_rateFetch a single tax rate by ID.
list_tax_ratesList tax rates in the organization.
list_manual_journalsList manual journals in deterministic newest-first order.
get_manual_journalFetch a manual journal by ID.
list_period_statusesList the organization's accounting periods, latest ending date first.
list_bulk_reclassification_candidatesList the journal line items eligible for bulk reclassification off a source account.
preview_bulk_reclassificationPreview a bulk reclassification: counts plus the lines that would be skipped and why.
get_bulk_reclassificationFetch a bulk reclassification batch: its status and succeeded/skipped/failed line counts.
list_bulk_reclassification_linesList the per-line audit records of a bulk reclassification batch.
list_bulk_reclassificationsList the organization's bulk reclassification batches, newest first.
list_amortizationsList amortization schedules.
get_amortizationFetch an amortization schedule.
preview_amortizationPreview the events an amortization schedule would generate.
preview_end_amortization_earlyPreview the balance and events affected by ending an amortization early.
list_revenue_recognitionsList revenue-recognition schedules.
get_revenue_recognitionFetch a revenue-recognition schedule.
preview_revenue_recognitionPreview the events a revenue-recognition schedule would generate.
preview_end_revenue_recognition_earlyPreview ending a revenue-recognition schedule early.
list_warehousesDiscover this organization's warehouses for inventory counts, builds, and production orders.
list_units_of_measureList the unit-of-measure definitions (for example Box, Kg, Hour) that items can use.
list_item_unitsDiscover configured units for an item.

Write tools (158)

See Permissions and confirmations before using these.

ToolWhat it doesNote
fetch_bank_account_statementFetch a non-overlapping statement range from a connected bank feed.Imports from the bank
create_bank_accountCreate a bank account and its linked ledger account.
update_bank_accountUpdate the provided bank-account fields; omitted fields stay unchanged.
delete_bank_accountSoft-delete a bank account; one with ledger activity cannot be deleted.Can't be undone
update_vat_filing_settingsUpdate the organization's VAT filing frequency and/or first filing due date.
classify_bank_transactionClassify an unreconciled bank transaction and create its accounting entry.
match_bank_transaction_to_journal_linesReconcile a bank transaction to existing journal lines and optional adjustments.
match_bank_transaction_to_documentsReconcile a bank transaction by creating payments against authorized or posted documents.
delete_bank_transactionDelete a bank transaction.Can't be undone
create_paymentCreate and post a payment against an authorized or posted document with an accounting journal.
delete_paymentReverse and delete a payment.Can't be undone
create_contactCreate a new contact (customer, supplier, etc.) in the organization.
create_contact_personAdd a new person (additional email/phone recipient) to an existing contact.
import_contactsBulk-create contacts in one atomic transaction (e.g. from a spreadsheet): if any row fails, none are saved.
update_contactUpdate an existing contact in the organization.
update_contact_personUpdate an existing contact person.
delete_contactSoft-delete a contact; existing documents keep their reference to it.Can't be undone
delete_contact_personSoft-delete a contact person.Can't be undone
merge_contactsMerge duplicate contacts into a single primary contact.Can ask to confirm; can't be undone
create_expenseCreate a draft expense.
update_expenseUpdate provided fields on an expense without changing its lifecycle status.
post_expensePost a complete draft expense.
revert_expense_to_draftRevert an unreconciled posted cash expense to draft.
delete_expenseDelete an expense and reverse its accounting effects.Can't be undone
create_billCreate a DRAFT supplier bill with line items.
update_billUpdate only the supplied fields on a bill without changing its lifecycle state.
authorize_billAuthorize a complete DRAFT bill and post its accounting journal.
revert_bill_to_draftRevert an AUTHORIZED bill to DRAFT so it can be edited or deleted.
delete_billSoft-delete a DRAFT or AUTHORIZED bill.Can't be undone
create_amortizationCreate an amortization schedule on a bill line item, in the bill's currency.
update_amortizationUpdate only provided amortization fields.
end_amortization_earlyEnd an active amortization early using the previewed balance.Can ask to confirm; can't be undone
delete_amortizationDelete an amortization schedule and its events.Can't be undone
create_revenue_recognitionCreate a revenue-recognition schedule on an invoice line item, in the invoice's currency.
update_revenue_recognitionUpdate only provided revenue-recognition fields.
end_revenue_recognition_earlyEnd an active revenue-recognition schedule using the previewed balance.Can ask to confirm; can't be undone
delete_revenue_recognitionDelete a revenue-recognition schedule and its events.Can't be undone
create_debit_noteCreate a DRAFT supplier debit note with line items.
update_debit_noteUpdate only the supplied fields on a debit note without changing its lifecycle state.
post_debit_notePost a complete DRAFT debit note and create its accounting impact.
revert_debit_note_to_draftRevert a POSTED debit note to DRAFT so it can be edited or deleted.
delete_debit_noteSoft-delete a DRAFT or POSTED debit note.Can't be undone
create_credit_noteCreate a DRAFT customer credit note with line items.
update_credit_noteUpdate only the supplied fields on a credit note without changing its lifecycle state.
finalize_credit_noteFinalize a complete DRAFT credit note and post its accounting journal.
report_credit_noteReport a finalized credit note to the tax authority (ZATCA in Saudi Arabia, the FTA in the UAE).Can ask to confirm; can report to ZATCA or the FTA; can't be undone
revert_credit_note_to_draftRevert a FINALIZED credit note to DRAFT so it can be edited or deleted.
send_credit_noteEmail a FINALIZED, PAID or PARTIALLY_PAID credit note to its customer, only when the user asks.Can ask to confirm; can't be undone
delete_credit_noteSoft-delete a DRAFT or FINALIZED credit note.Can't be undone
create_invoiceCreate a DRAFT customer invoice with line items.
update_invoiceUpdate only the supplied fields on an invoice without changing its lifecycle state.
revert_invoice_to_draftRevert a FINALIZED invoice to DRAFT so it can be edited or deleted.
finalize_invoiceMove a complete DRAFT invoice to FINALIZED.
report_invoiceReport a finalized invoice to the tax authority (ZATCA in Saudi Arabia, the FTA in the UAE).Can ask to confirm; can report to ZATCA or the FTA; can't be undone
void_invoiceVoid a FINALIZED invoice and reverse its accounting impact.Can ask to confirm; can report to ZATCA or the FTA; can't be undone
send_invoiceEmail a FINALIZED, PAID, PARTIALLY_PAID or VOIDED invoice to its customer, only when the user asks.Can ask to confirm; can't be undone
send_invoice_receiptEmail the payment receipt of a PAID or PARTIALLY_PAID invoice to its customer, only when the user asks.Can ask to confirm; can't be undone
delete_invoiceSoft-delete a DRAFT invoice.Can't be undone
create_simplified_invoiceCreate a DRAFT cash (simplified) invoice for a retail sale paid on issue.
update_simplified_invoiceUpdate only the supplied fields on a cash (simplified) invoice without changing its lifecycle state.
finalize_simplified_invoiceMove a complete DRAFT cash (simplified) invoice to PAID.Can ask to confirm; can't be undone
report_simplified_invoiceReport a posted cash (simplified) invoice to the tax authority (ZATCA in Saudi Arabia, the FTA in the UAE).Can ask to confirm; can report to ZATCA or the FTA; can't be undone
create_quoteCreate a DRAFT quote with line items.
update_quoteUpdate only the supplied fields on a quote without changing its lifecycle state.
mark_quote_as_sentMark a complete DRAFT quote as SENT.
revert_quote_to_draftRevert a SENT quote to DRAFT so it can be edited or deleted.
delete_quoteSoft-delete a DRAFT, SENT, or INVOICED quote.Can't be undone
convert_quote_to_invoiceConvert a quote to a DRAFT invoice.
create_purchase_orderCreate a DRAFT purchase order with line items.
update_purchase_orderUpdate only the supplied fields on a purchase order without changing its lifecycle state.
mark_purchase_order_as_sentMark a complete DRAFT purchase order as SENT.
revert_purchase_order_to_draftRevert a SENT purchase order to DRAFT so it can be edited or deleted.
delete_purchase_orderSoft-delete a DRAFT or SENT purchase order.Can't be undone
convert_purchase_order_to_billConvert a purchase order to a DRAFT bill.
create_accountCreate a new account in the chart of accounts.
update_accountUpdate the provided fields of an account in the chart of accounts; omitted fields stay unchanged.
delete_accountDelete (soft-delete) an account from the chart of accounts.Can't be undone
create_employeeCreate a new employee in the organization.
update_employeeUpdate an existing employee in the organization.
delete_employeeSoft-delete an employee in the organization.Can't be undone
create_manual_journalCreate a balanced manual journal as a DRAFT.
import_manual_journalsCreate draft manual journals from an uploaded spreadsheet (xlsx, xls, csv or tsv) in one all-or-nothing import.
update_manual_journalUpdate provided manual-journal fields without changing lifecycle status.
post_manual_journalPost a draft manual journal.
revert_manual_journal_to_draftRevert a posted manual journal to draft.
delete_manual_journalSoft-delete a manual journal.Can't be undone
submit_for_approvalSubmit a complete draft for approval in an organization whose approval workflow is on for its area.
approve_documentApprove a draft; one never submitted, or rejected, is submitted first.
reject_documentReject a submitted or approved draft.
revoke_approvalWithdraw your own pending submission, so the draft can be edited and submitted again.
create_payslipCreate a draft payslip with pay items.
update_payslipUpdate provided fields on a draft payslip; omitted fields remain unchanged.
post_payslipPost a draft payslip and create its accounting effects.
revert_payslip_to_draftRevert a posted, unpaid payslip to draft and remove its accounting effects.
delete_payslipDelete an unpaid payslip.Can't be undone
create_payrollCreate an active payroll template.
update_payrollUpdate provided payroll fields; omitted fields remain unchanged.
generate_payslips_from_payrollsGenerate one draft payslip from each selected payroll template.
delete_payrollDelete a payroll template.Can't be undone
create_projectCreate a new project in the organization.
update_projectUpdate an existing project in the organization.
delete_projectSoft-delete a project in the organization.Can't be undone
update_period_statusLock the books through a date, or unlock the period ending on that date.
create_cost_centerCreate a new cost center in the organization.
update_cost_centerUpdate an existing cost center.
delete_cost_centerSoft-delete a cost center in the organization.Can't be undone
create_branchCreate a new branch in the organization.
update_branchUpdate an existing branch in the organization.
delete_branchPermanently delete a branch in the organization.Can ask to confirm; can't be undone
create_itemCreate an active item.
create_unit_of_measureCreate a unit-of-measure definition that items can be quantified in.
update_itemUpdate item fields; omitted values are unchanged and explicit null clears a field.
delete_itemDelete an unreferenced item.Can't be undone
create_inventory_countCreate a draft inventory count and snapshot omitted expected quantities.
update_inventory_countUpdate a draft inventory count; omitted values are unchanged and explicit null clears a field.
post_inventory_countPost a draft inventory count and write its variance journal.
revert_inventory_count_to_draftRevert a posted inventory count and unwind its variance journal.
delete_inventory_countDelete an inventory count and unwind any posted journal.Can't be undone
create_inventory_adjustmentCreate a draft manual stock adjustment.
update_inventory_adjustmentUpdate a draft inventory adjustment; omitted values are unchanged and explicit null clears a field.
post_inventory_adjustmentPost a draft inventory adjustment and write its inventory journal.
revert_inventory_adjustment_to_draftRevert a posted inventory adjustment and unwind its journal.
delete_inventory_adjustmentDelete an inventory adjustment and unwind any posted journal.Can't be undone
create_bill_of_materialsCreate an active bill of materials with BOM revision one.
update_bill_of_materialsUpdate a bill of materials; a current BOM revision that posted documents used is superseded atomically.
delete_bill_of_materialsDelete an unreferenced bill of materials and clear its parent assembly state.Can't be undone
create_assembly_buildCreate a draft assembly build or direct disassembly.
update_assembly_buildUpdate an assembly build; ledger fields require draft status, omitted values are unchanged and null clears.
post_assembly_buildPost a draft assembly build and book its inventory journal.
revert_assembly_build_to_draftRevert a posted assembly build and unwind its inventory journal.
delete_assembly_buildDelete an assembly build and unwind any posted journal.Can't be undone
create_production_orderCreate a planned production order; lifecycle transitions are separate actions.
update_production_orderUpdate a production order; ledger fields require planned status, omitted values are unchanged and null clears.
release_production_orderRelease a planned lifecycle order and issue materials into work in process.
produce_production_orderProduce a planned instant order in one posting step.
record_production_order_completionPost a completion against a released or in-progress lifecycle order.
update_production_order_completionChange one posted production-order completion and post it again; omitted values keep what it recorded.
revert_production_order_completionRevert one posted production-order completion.
close_production_orderClose an order short and return unused issued material.
cancel_production_orderCancel a production order and unwind its release journal.
revert_production_order_to_plannedRevert a released or cancelled order to planned status.
delete_production_orderDelete a production order and unwind its material issue.Can't be undone
create_fixed_assetCreate a draft fixed asset without posting depreciation.
update_fixed_assetUpdate provided fixed-asset fields without directly changing lifecycle status.
register_fixed_assetRegister a complete draft fixed asset so it can be depreciated.
revert_fixed_asset_to_draftRevert a fixed asset to draft and reverse its depreciation schedule.
run_fixed_asset_depreciationPost fixed-asset depreciation through the requested month.
delete_fixed_assetSoft-delete a fixed asset; allowed even after the plan loses fixed assets, so the data stays removable.Can't be undone
update_organizationUpdate the current organization's profile and address.
update_organization_sopReplace the organization's Standard Operating Procedure (SOP) with content.
update_inbox_documentMark an inbox document processed or unprocessed.
delete_inbox_documentDelete an inbox document.Can't be undone
start_bulk_reclassificationStart a bulk reclassification: move the selected journal line items to a different account.Can ask to confirm; can't be undone
update_expense_report_for_approvalUpdate approver-editable header fields on an expense report; omitted fields remain unchanged.
set_expense_report_claim_accountAssign an expense account to one pending-approval claim.
approve_expense_reportApprove a pending expense report and post its journal.
reject_expense_reportReject an expense report and unpost any approval journal.
revert_expense_report_to_pending_approvalRevert an approved or rejected expense report to pending approval.

MCP tool reference