MCP Agent
All Tools

All MCP Tools

The agent exposes 111 tools organized into 15 domain modules. Each tool maps to one or more REST API endpoints.

Tool Count by Domain

DomainToolsDescription
Inventory13Products, categories, stock
Suppliers13Vendors, deliveries, payments
Analytics10KPIs, trends, dashboards
Staff10Employees, stats, permissions
Reports9Generate, schedule, export
Accounts8Profile, org, users
Credits7Madeni tabs, payments
Stores7Branches, status, performance
Transactions7POS sales, refunds
Expenses6CRUD expenses
Customers5Customer profiles
Notebook5Notes and reminders
Notifications5In-app alerts
Communicate4SMS and email
Images1Product image suggestion
Total111

Tool Naming Convention

Tools use snake_case and are prefixed by domain:

  • list_products, create_product, update_product
  • list_transactions, refund_transaction
  • send_sms, send_email

Shared Helpers

All tools use these shared utilities from _base.py:

  • tzs(amount): Format integer as TZS with thousands separators
  • today(): Get today's date in Africa/Dar_es_Salaam
  • param(**kwargs): Build query params, dropping None/empty values

Inventory (13 tools)

ToolDescription
list_categoriesList product categories
create_categoryCreate a category
update_categoryUpdate a category
delete_categoryDelete a category
list_productsList products with filters
create_productCreate a product
get_productGet product by ID
update_productUpdate a product
delete_productDelete a product
get_product_by_barcodeLook up product by barcode
adjust_stockManually adjust stock level
list_stock_adjustmentsView adjustment history
list_low_stock_productsProducts below reorder point

Suppliers (13 tools)

ToolDescription
list_suppliersList suppliers
create_supplierCreate a supplier
get_supplierGet supplier detail
update_supplierUpdate a supplier
deactivate_supplierDeactivate a supplier
get_supplier_statsSupplier overview stats
list_deliveriesList all deliveries
create_deliveryRecord a delivery
get_deliveryGet delivery detail
update_deliveryUpdate a delivery
delete_deliveryDelete a delivery
list_paymentsList supplier payments
pay_supplierRecord a payment

Analytics (10 tools)

ToolDescription
get_analytics_overviewCombined dashboard with section selection
get_analytics_summaryKPI summary
get_analytics_trendRevenue trend
get_payment_mixPayment method distribution
get_top_productsTop selling products
get_sales_reportFull sales report
get_product_performancePer-product analytics
get_customer_analyticsCustomer analytics
get_cashflowCashflow analysis
get_dashboardReal-time dashboard

Staff (10 tools)

ToolDescription
list_staffList staff members
create_staffHire a staff member
get_staffGet staff detail
update_staffUpdate staff profile
deactivate_staffDeactivate staff
get_staff_kpisStore-level KPIs
get_staff_statsPer-cashier stats
get_staff_activityDaily activity log
update_staff_shiftUpdate shift assignment
update_staff_permissionsUpdate POS permissions

Reports (9 tools)

ToolDescription
list_report_typesAvailable report types
generate_reportGenerate a report
list_report_exportsPast export history
download_report_exportRe-download an export
list_scheduled_reportsScheduled reports
create_scheduled_reportCreate a schedule
update_scheduled_reportUpdate a schedule
delete_scheduled_reportDelete a schedule
send_scheduled_reportSend immediately

Accounts (8 tools)

ToolDescription
get_profileGet current user profile
update_profileUpdate own profile
get_organisationGet org details
update_organisationUpdate org settings
switch_storeSwitch active store
list_usersList org users
create_userCreate staff user
get_ai_creditsCheck AI credit balance

Credits (7 tools)

ToolDescription
list_credit_tabsList credit tabs
get_customer_creditCustomer credit profile
record_credit_paymentRecord a payment
send_credit_reminderSend SMS reminder
log_credit_communicationLog a communication
add_credit_noteAdd internal note
write_off_creditWrite off a debt

Stores (7 tools)

ToolDescription
list_storesList stores with KPIs
create_storeCreate a new store
get_storeGet store detail
update_storeUpdate a store
get_store_statsAggregate stats
set_store_statusOpen/close store
get_store_weekly_performance7-day sales

Transactions (7 tools)

ToolDescription
complete_saleComplete a POS sale
list_transactionsList transactions
get_transactionGet transaction detail
refund_transactionRefund a transaction
void_transactionVoid a transaction
get_sales_summaryDaily sales summary
get_hourly_salesHourly breakdown

Expenses (6 tools)

ToolDescription
list_expensesList expenses
create_expenseRecord an expense
get_expenseGet expense detail
update_expenseUpdate an expense
delete_expenseDelete an expense
get_expense_summaryExpense summary

Customers (5 tools)

ToolDescription
list_customersList customers
create_customerCreate a customer
get_customerGet customer detail
update_customerUpdate a customer
list_credit_customersCustomers with open credit

Notebook (5 tools)

ToolDescription
list_notesList notes
create_noteCreate a note
get_noteGet note detail
update_noteUpdate a note
delete_noteDelete a note

Notifications (5 tools)

ToolDescription
list_notificationsList notifications
get_unread_countUnread count
mark_notification_readMark as read
mark_all_readMark all as read
delete_notificationDelete notification

Communicate (4 tools)

ToolDescription
send_smsSend SMS via SendAfrica
get_sms_balanceCheck SMS credit balance
send_emailSend email via MailAfrica
get_email_balanceCheck email wallet balance

Images (1 tool)

ToolDescription
suggest_product_imageSearch Wikimedia Commons, download, upload to MinIO

Destructive/Guarded Tools

These 15 tools require user confirmation before execution:

refund_transaction, void_transaction, write_off_credit, delete_category, delete_product, deactivate_supplier, delete_delivery, delete_expense, deactivate_staff, delete_scheduled_report, delete_notification, delete_note, deactivate_user, send_sms, send_email