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)
| Tool | What it does |
|---|---|
get_capabilities | Describe the authenticated user, this connection's OAuth scopes, and per authorized organization its ID, role and setup. |
search_organization_records | Search all indexed Wafeq resource types allowed by the caller's scopes. |
list_contacts | List contacts in the organization, oldest first. |
fuzzy_search_contacts | Fuzzy search for contacts by name. |
get_contact | Fetch a single contact. |
list_chart_of_accounts | List accounts in the organization's chart of accounts, ordered by account code. |
get_account | Fetch a single account from the chart of accounts. |
get_account_options | Get the valid options for account classifications, sub-classifications, account types, and activities. |
get_next_account_code | Get the next available account code for a new child of the given parent account. |
list_bank_accounts | List bank accounts in stable creation order. |
get_bank_account | Fetch a bank account by ID. |
list_bank_transactions | List bank transactions for one bank account in newest-first order. |
get_bank_transaction | Fetch a bank transaction by ID. |
search_bank_transaction_matches | Search the documents and journal lines that could match a bank transaction. |
find_bank_accounts_by_card_digits | Find which bank or card account a payment card belongs to, from the card's last four digits. |
list_classified_bank_transactions | List prior bank transactions classified as expenses or manual journals. |
list_payments | List payments in deterministic newest-first order. |
get_payment | Fetch a payment by ID. |
get_vat_return_report | Prepare the VAT return for a filing period in the organization's statutory box layout. |
get_vat_summary_report | VAT summary: one row per tax rate with activity over the period. |
get_vat_return_checklist | Pre-filing checklist: find documents in the period missing or with a suspect VAT treatment. |
get_vat_filing_settings | Read the organization's VAT filing settings plus the derived filing periods. |
get_expense | Fetch an expense. |
list_expenses | List expenses in deterministic newest-first order. |
get_bill | Get a bill by ID with its line items, debit notes, and attachments. |
list_bills | List bills using text, amount, date, currency, supplier, and balance filters. |
get_debit_note | Get a debit note by ID with its line items and attachments. |
list_debit_notes | List debit notes using text, amount, date, currency, supplier, and balance filters. |
get_credit_note | Get a credit note by ID with its line items, invoice applications, and attachments. |
list_credit_notes | List credit notes using text, amount, date, currency, customer, and balance filters. |
get_invoice | Get an invoice by ID with its line items and attachments. |
list_invoices | List invoices using text, amount, date, currency, customer, and balance filters. |
get_simplified_invoice | Get a cash (simplified) invoice by ID with its line items. |
list_simplified_invoices | List cash (simplified) invoices, the retail sales numbered like SINV-000123 that are paid on issue. |
get_quote | Get a quote by ID with its line items and attachments. |
list_quotes | List quotes using text, amount, date, currency, and customer filters. |
get_purchase_order | Get a purchase order by ID with its line items and attachments. |
list_purchase_orders | List purchase orders using text, amount, date, currency, and supplier filters. |
get_employee | Fetch a single employee. |
list_employees | List employees in the organization, newest first. |
get_payslip | Fetch a payslip with its pay items. |
list_payslips | List payslips using business filters, newest first. |
list_payrolls | List payroll templates in the organization, newest first. |
get_payroll | Fetch a payroll template with its pay items. |
list_projects | List projects in the organization, newest first. |
get_project | Fetch a single project. |
list_cost_centers | List cost centers in the organization, newest first. |
get_cost_center | Fetch a single cost center. |
list_branches | List branches in the organization, newest first. |
get_branch | Fetch a single branch. |
list_items | List items in deterministic newest-first order. |
get_item | Fetch an item by ID, with its configured units. |
list_inventory_counts | List inventory counts in newest-first order. |
get_inventory_count | Fetch an inventory count and its lines. |
list_inventory_adjustments | List inventory adjustments in newest-first order. |
get_inventory_adjustment | Fetch an inventory adjustment and its lines. |
list_bills_of_materials | List current bills of materials in newest-first order. |
get_bill_of_materials | Fetch the current bill of materials by its ID or parent-item ID. |
list_assembly_builds | List assembly builds and disassemblies in newest-first order. |
get_assembly_build | Fetch an assembly build with its component snapshot and additional costs. |
preview_assembly_build | Preview assembly consumption, costs, variances, and whether it can be posted without saving. |
list_production_orders | List production orders in deterministic newest-first order. |
get_production_order | Fetch a production order with material lines, completions, and costs. |
get_manufacturing_production_register_report | Production register: one row per posted assembly build/disassembly with its costs and variances. |
get_manufacturing_cost_of_goods_manufactured_report | Cost of goods manufactured: production cost per assembled product (optionally per month). |
get_manufacturing_cost_variance_report | Manufacturing cost variance: standard vs. actual cost, decomposed into the variances that caused the gap. |
get_manufacturing_work_in_progress_report | Work in process: open production orders and the WIP balance each is holding, reconciled to the GL. |
get_manufacturing_requirements_report | Material requirements: what every PLANNED production order needs, netted against stock and open supply. |
get_manufacturing_material_consumption_report | Material consumption: what raw material was consumed into production over a period, and into what. |
list_fixed_assets | List fixed assets in newest-first register order. |
get_fixed_asset | Fetch a fixed asset by ID. |
list_fixed_asset_depreciations | List fixed-asset depreciation entries in newest-first order. |
preview_fixed_asset_depreciation | Preview fixed-asset depreciation without writing anything. |
get_organization_sop | Read the organization's Standard Operating Procedure (SOP). |
get_organization | Get the current organization's profile and address. |
get_inbox_document | Fetch an inbox document by ID. |
list_inbox_documents | List organization inbox documents in deterministic newest-first order. |
list_expense_reports_for_approval | List expense reports visible to an approver in newest-first order. |
get_expense_report_for_approval | Fetch one expense report from the approval queue by public ID. |
list_journal_line_items | List general-ledger journal lines with public related-resource IDs. |
get_general_ledger_report | Build ad-hoc reports over the general ledger (journal line items). |
get_profit_and_loss_report | Generate a profit & loss (income statement) report. |
get_balance_sheet_report | Generate a balance sheet report for the current organization on the as_of date. |
get_trial_balance_report | Generate the trial balance: each account's opening balance, debits, credits and closing balance over a period. |
get_cash_flow_report | Generate the cash flow statement over a period, prepared with the indirect method. |
get_aged_receivables_report | Generate the aged receivables report: what each customer owes on a date, split into overdue buckets. |
get_aged_payables_report | Generate the aged payables report: what the organization owes each supplier on a date, split into overdue buckets. |
get_tax_report | Generate the tax report: each tax rate's taxable amount and tax over a period. |
download_invoice_pdf | Generate an invoice PDF and return a signed URL. |
download_cash_invoice_pdf | Generate a cash-invoice PDF and return a signed URL. |
download_quote_pdf | Generate a quote PDF and return a signed URL. |
download_credit_note_pdf | Generate a credit-note PDF and return a signed URL. |
download_bill_pdf | Generate a bill PDF and return a signed URL. |
download_expense_pdf | Generate an expense PDF and return a signed URL. |
download_manual_journal_pdf | Generate a manual-journal PDF and return a signed URL. |
download_payment_receipt_pdf | Generate a payment receipt PDF and return a signed URL. |
download_customer_statement_of_account | Download a customer statement of account. |
download_supplier_statement_of_account | Download a supplier statement of account. |
download_profit_and_loss_report | Download a profit and loss report. |
download_balance_sheet_report | Download a balance sheet report. |
download_general_ledger_report | Download every general ledger journal line in a date range as an Excel or CSV file, up to 5,000 lines. |
get_tax_rate | Fetch a single tax rate by ID. |
list_tax_rates | List tax rates in the organization. |
list_manual_journals | List manual journals in deterministic newest-first order. |
get_manual_journal | Fetch a manual journal by ID. |
list_period_statuses | List the organization's accounting periods, latest ending date first. |
list_bulk_reclassification_candidates | List the journal line items eligible for bulk reclassification off a source account. |
preview_bulk_reclassification | Preview a bulk reclassification: counts plus the lines that would be skipped and why. |
get_bulk_reclassification | Fetch a bulk reclassification batch: its status and succeeded/skipped/failed line counts. |
list_bulk_reclassification_lines | List the per-line audit records of a bulk reclassification batch. |
list_bulk_reclassifications | List the organization's bulk reclassification batches, newest first. |
list_amortizations | List amortization schedules. |
get_amortization | Fetch an amortization schedule. |
preview_amortization | Preview the events an amortization schedule would generate. |
preview_end_amortization_early | Preview the balance and events affected by ending an amortization early. |
list_revenue_recognitions | List revenue-recognition schedules. |
get_revenue_recognition | Fetch a revenue-recognition schedule. |
preview_revenue_recognition | Preview the events a revenue-recognition schedule would generate. |
preview_end_revenue_recognition_early | Preview ending a revenue-recognition schedule early. |
list_warehouses | Discover this organization's warehouses for inventory counts, builds, and production orders. |
list_units_of_measure | List the unit-of-measure definitions (for example Box, Kg, Hour) that items can use. |
list_item_units | Discover configured units for an item. |
Write tools (158)
See Permissions and confirmations before using these.
| Tool | What it does | Note |
|---|---|---|
fetch_bank_account_statement | Fetch a non-overlapping statement range from a connected bank feed. | Imports from the bank |
create_bank_account | Create a bank account and its linked ledger account. | |
update_bank_account | Update the provided bank-account fields; omitted fields stay unchanged. | |
delete_bank_account | Soft-delete a bank account; one with ledger activity cannot be deleted. | Can't be undone |
update_vat_filing_settings | Update the organization's VAT filing frequency and/or first filing due date. | |
classify_bank_transaction | Classify an unreconciled bank transaction and create its accounting entry. | |
match_bank_transaction_to_journal_lines | Reconcile a bank transaction to existing journal lines and optional adjustments. | |
match_bank_transaction_to_documents | Reconcile a bank transaction by creating payments against authorized or posted documents. | |
delete_bank_transaction | Delete a bank transaction. | Can't be undone |
create_payment | Create and post a payment against an authorized or posted document with an accounting journal. | |
delete_payment | Reverse and delete a payment. | Can't be undone |
create_contact | Create a new contact (customer, supplier, etc.) in the organization. | |
create_contact_person | Add a new person (additional email/phone recipient) to an existing contact. | |
import_contacts | Bulk-create contacts in one atomic transaction (e.g. from a spreadsheet): if any row fails, none are saved. | |
update_contact | Update an existing contact in the organization. | |
update_contact_person | Update an existing contact person. | |
delete_contact | Soft-delete a contact; existing documents keep their reference to it. | Can't be undone |
delete_contact_person | Soft-delete a contact person. | Can't be undone |
merge_contacts | Merge duplicate contacts into a single primary contact. | Can ask to confirm; can't be undone |
create_expense | Create a draft expense. | |
update_expense | Update provided fields on an expense without changing its lifecycle status. | |
post_expense | Post a complete draft expense. | |
revert_expense_to_draft | Revert an unreconciled posted cash expense to draft. | |
delete_expense | Delete an expense and reverse its accounting effects. | Can't be undone |
create_bill | Create a DRAFT supplier bill with line items. | |
update_bill | Update only the supplied fields on a bill without changing its lifecycle state. | |
authorize_bill | Authorize a complete DRAFT bill and post its accounting journal. | |
revert_bill_to_draft | Revert an AUTHORIZED bill to DRAFT so it can be edited or deleted. | |
delete_bill | Soft-delete a DRAFT or AUTHORIZED bill. | Can't be undone |
create_amortization | Create an amortization schedule on a bill line item, in the bill's currency. | |
update_amortization | Update only provided amortization fields. | |
end_amortization_early | End an active amortization early using the previewed balance. | Can ask to confirm; can't be undone |
delete_amortization | Delete an amortization schedule and its events. | Can't be undone |
create_revenue_recognition | Create a revenue-recognition schedule on an invoice line item, in the invoice's currency. | |
update_revenue_recognition | Update only provided revenue-recognition fields. | |
end_revenue_recognition_early | End an active revenue-recognition schedule using the previewed balance. | Can ask to confirm; can't be undone |
delete_revenue_recognition | Delete a revenue-recognition schedule and its events. | Can't be undone |
create_debit_note | Create a DRAFT supplier debit note with line items. | |
update_debit_note | Update only the supplied fields on a debit note without changing its lifecycle state. | |
post_debit_note | Post a complete DRAFT debit note and create its accounting impact. | |
revert_debit_note_to_draft | Revert a POSTED debit note to DRAFT so it can be edited or deleted. | |
delete_debit_note | Soft-delete a DRAFT or POSTED debit note. | Can't be undone |
create_credit_note | Create a DRAFT customer credit note with line items. | |
update_credit_note | Update only the supplied fields on a credit note without changing its lifecycle state. | |
finalize_credit_note | Finalize a complete DRAFT credit note and post its accounting journal. | |
report_credit_note | Report 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_draft | Revert a FINALIZED credit note to DRAFT so it can be edited or deleted. | |
send_credit_note | Email 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_note | Soft-delete a DRAFT or FINALIZED credit note. | Can't be undone |
create_invoice | Create a DRAFT customer invoice with line items. | |
update_invoice | Update only the supplied fields on an invoice without changing its lifecycle state. | |
revert_invoice_to_draft | Revert a FINALIZED invoice to DRAFT so it can be edited or deleted. | |
finalize_invoice | Move a complete DRAFT invoice to FINALIZED. | |
report_invoice | Report 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_invoice | Void a FINALIZED invoice and reverse its accounting impact. | Can ask to confirm; can report to ZATCA or the FTA; can't be undone |
send_invoice | Email 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_receipt | Email 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_invoice | Soft-delete a DRAFT invoice. | Can't be undone |
create_simplified_invoice | Create a DRAFT cash (simplified) invoice for a retail sale paid on issue. | |
update_simplified_invoice | Update only the supplied fields on a cash (simplified) invoice without changing its lifecycle state. | |
finalize_simplified_invoice | Move a complete DRAFT cash (simplified) invoice to PAID. | Can ask to confirm; can't be undone |
report_simplified_invoice | Report 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_quote | Create a DRAFT quote with line items. | |
update_quote | Update only the supplied fields on a quote without changing its lifecycle state. | |
mark_quote_as_sent | Mark a complete DRAFT quote as SENT. | |
revert_quote_to_draft | Revert a SENT quote to DRAFT so it can be edited or deleted. | |
delete_quote | Soft-delete a DRAFT, SENT, or INVOICED quote. | Can't be undone |
convert_quote_to_invoice | Convert a quote to a DRAFT invoice. | |
create_purchase_order | Create a DRAFT purchase order with line items. | |
update_purchase_order | Update only the supplied fields on a purchase order without changing its lifecycle state. | |
mark_purchase_order_as_sent | Mark a complete DRAFT purchase order as SENT. | |
revert_purchase_order_to_draft | Revert a SENT purchase order to DRAFT so it can be edited or deleted. | |
delete_purchase_order | Soft-delete a DRAFT or SENT purchase order. | Can't be undone |
convert_purchase_order_to_bill | Convert a purchase order to a DRAFT bill. | |
create_account | Create a new account in the chart of accounts. | |
update_account | Update the provided fields of an account in the chart of accounts; omitted fields stay unchanged. | |
delete_account | Delete (soft-delete) an account from the chart of accounts. | Can't be undone |
create_employee | Create a new employee in the organization. | |
update_employee | Update an existing employee in the organization. | |
delete_employee | Soft-delete an employee in the organization. | Can't be undone |
create_manual_journal | Create a balanced manual journal as a DRAFT. | |
import_manual_journals | Create draft manual journals from an uploaded spreadsheet (xlsx, xls, csv or tsv) in one all-or-nothing import. | |
update_manual_journal | Update provided manual-journal fields without changing lifecycle status. | |
post_manual_journal | Post a draft manual journal. | |
revert_manual_journal_to_draft | Revert a posted manual journal to draft. | |
delete_manual_journal | Soft-delete a manual journal. | Can't be undone |
submit_for_approval | Submit a complete draft for approval in an organization whose approval workflow is on for its area. | |
approve_document | Approve a draft; one never submitted, or rejected, is submitted first. | |
reject_document | Reject a submitted or approved draft. | |
revoke_approval | Withdraw your own pending submission, so the draft can be edited and submitted again. | |
create_payslip | Create a draft payslip with pay items. | |
update_payslip | Update provided fields on a draft payslip; omitted fields remain unchanged. | |
post_payslip | Post a draft payslip and create its accounting effects. | |
revert_payslip_to_draft | Revert a posted, unpaid payslip to draft and remove its accounting effects. | |
delete_payslip | Delete an unpaid payslip. | Can't be undone |
create_payroll | Create an active payroll template. | |
update_payroll | Update provided payroll fields; omitted fields remain unchanged. | |
generate_payslips_from_payrolls | Generate one draft payslip from each selected payroll template. | |
delete_payroll | Delete a payroll template. | Can't be undone |
create_project | Create a new project in the organization. | |
update_project | Update an existing project in the organization. | |
delete_project | Soft-delete a project in the organization. | Can't be undone |
update_period_status | Lock the books through a date, or unlock the period ending on that date. | |
create_cost_center | Create a new cost center in the organization. | |
update_cost_center | Update an existing cost center. | |
delete_cost_center | Soft-delete a cost center in the organization. | Can't be undone |
create_branch | Create a new branch in the organization. | |
update_branch | Update an existing branch in the organization. | |
delete_branch | Permanently delete a branch in the organization. | Can ask to confirm; can't be undone |
create_item | Create an active item. | |
create_unit_of_measure | Create a unit-of-measure definition that items can be quantified in. | |
update_item | Update item fields; omitted values are unchanged and explicit null clears a field. | |
delete_item | Delete an unreferenced item. | Can't be undone |
create_inventory_count | Create a draft inventory count and snapshot omitted expected quantities. | |
update_inventory_count | Update a draft inventory count; omitted values are unchanged and explicit null clears a field. | |
post_inventory_count | Post a draft inventory count and write its variance journal. | |
revert_inventory_count_to_draft | Revert a posted inventory count and unwind its variance journal. | |
delete_inventory_count | Delete an inventory count and unwind any posted journal. | Can't be undone |
create_inventory_adjustment | Create a draft manual stock adjustment. | |
update_inventory_adjustment | Update a draft inventory adjustment; omitted values are unchanged and explicit null clears a field. | |
post_inventory_adjustment | Post a draft inventory adjustment and write its inventory journal. | |
revert_inventory_adjustment_to_draft | Revert a posted inventory adjustment and unwind its journal. | |
delete_inventory_adjustment | Delete an inventory adjustment and unwind any posted journal. | Can't be undone |
create_bill_of_materials | Create an active bill of materials with BOM revision one. | |
update_bill_of_materials | Update a bill of materials; a current BOM revision that posted documents used is superseded atomically. | |
delete_bill_of_materials | Delete an unreferenced bill of materials and clear its parent assembly state. | Can't be undone |
create_assembly_build | Create a draft assembly build or direct disassembly. | |
update_assembly_build | Update an assembly build; ledger fields require draft status, omitted values are unchanged and null clears. | |
post_assembly_build | Post a draft assembly build and book its inventory journal. | |
revert_assembly_build_to_draft | Revert a posted assembly build and unwind its inventory journal. | |
delete_assembly_build | Delete an assembly build and unwind any posted journal. | Can't be undone |
create_production_order | Create a planned production order; lifecycle transitions are separate actions. | |
update_production_order | Update a production order; ledger fields require planned status, omitted values are unchanged and null clears. | |
release_production_order | Release a planned lifecycle order and issue materials into work in process. | |
produce_production_order | Produce a planned instant order in one posting step. | |
record_production_order_completion | Post a completion against a released or in-progress lifecycle order. | |
update_production_order_completion | Change one posted production-order completion and post it again; omitted values keep what it recorded. | |
revert_production_order_completion | Revert one posted production-order completion. | |
close_production_order | Close an order short and return unused issued material. | |
cancel_production_order | Cancel a production order and unwind its release journal. | |
revert_production_order_to_planned | Revert a released or cancelled order to planned status. | |
delete_production_order | Delete a production order and unwind its material issue. | Can't be undone |
create_fixed_asset | Create a draft fixed asset without posting depreciation. | |
update_fixed_asset | Update provided fixed-asset fields without directly changing lifecycle status. | |
register_fixed_asset | Register a complete draft fixed asset so it can be depreciated. | |
revert_fixed_asset_to_draft | Revert a fixed asset to draft and reverse its depreciation schedule. | |
run_fixed_asset_depreciation | Post fixed-asset depreciation through the requested month. | |
delete_fixed_asset | Soft-delete a fixed asset; allowed even after the plan loses fixed assets, so the data stays removable. | Can't be undone |
update_organization | Update the current organization's profile and address. | |
update_organization_sop | Replace the organization's Standard Operating Procedure (SOP) with content. | |
update_inbox_document | Mark an inbox document processed or unprocessed. | |
delete_inbox_document | Delete an inbox document. | Can't be undone |
start_bulk_reclassification | Start 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_approval | Update approver-editable header fields on an expense report; omitted fields remain unchanged. | |
set_expense_report_claim_account | Assign an expense account to one pending-approval claim. | |
approve_expense_report | Approve a pending expense report and post its journal. | |
reject_expense_report | Reject an expense report and unpost any approval journal. | |
revert_expense_report_to_pending_approval | Revert an approved or rejected expense report to pending approval. |
Updated about 1 hour ago