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
| Domain | Tools | Description |
|---|---|---|
| Inventory | 13 | Products, categories, stock |
| Suppliers | 13 | Vendors, deliveries, payments |
| Analytics | 10 | KPIs, trends, dashboards |
| Staff | 10 | Employees, stats, permissions |
| Reports | 9 | Generate, schedule, export |
| Accounts | 8 | Profile, org, users |
| Credits | 7 | Madeni tabs, payments |
| Stores | 7 | Branches, status, performance |
| Transactions | 7 | POS sales, refunds |
| Expenses | 6 | CRUD expenses |
| Customers | 5 | Customer profiles |
| Notebook | 5 | Notes and reminders |
| Notifications | 5 | In-app alerts |
| Communicate | 4 | SMS and email |
| Images | 1 | Product image suggestion |
| Total | 111 |
Tool Naming Convention
Tools use snake_case and are prefixed by domain:
list_products,create_product,update_productlist_transactions,refund_transactionsend_sms,send_email
Shared Helpers
All tools use these shared utilities from _base.py:
tzs(amount): Format integer as TZS with thousands separatorstoday(): Get today's date inAfrica/Dar_es_Salaamparam(**kwargs): Build query params, dropping None/empty values
Inventory (13 tools)
| Tool | Description |
|---|---|
list_categories | List product categories |
create_category | Create a category |
update_category | Update a category |
delete_category | Delete a category |
list_products | List products with filters |
create_product | Create a product |
get_product | Get product by ID |
update_product | Update a product |
delete_product | Delete a product |
get_product_by_barcode | Look up product by barcode |
adjust_stock | Manually adjust stock level |
list_stock_adjustments | View adjustment history |
list_low_stock_products | Products below reorder point |
Suppliers (13 tools)
| Tool | Description |
|---|---|
list_suppliers | List suppliers |
create_supplier | Create a supplier |
get_supplier | Get supplier detail |
update_supplier | Update a supplier |
deactivate_supplier | Deactivate a supplier |
get_supplier_stats | Supplier overview stats |
list_deliveries | List all deliveries |
create_delivery | Record a delivery |
get_delivery | Get delivery detail |
update_delivery | Update a delivery |
delete_delivery | Delete a delivery |
list_payments | List supplier payments |
pay_supplier | Record a payment |
Analytics (10 tools)
| Tool | Description |
|---|---|
get_analytics_overview | Combined dashboard with section selection |
get_analytics_summary | KPI summary |
get_analytics_trend | Revenue trend |
get_payment_mix | Payment method distribution |
get_top_products | Top selling products |
get_sales_report | Full sales report |
get_product_performance | Per-product analytics |
get_customer_analytics | Customer analytics |
get_cashflow | Cashflow analysis |
get_dashboard | Real-time dashboard |
Staff (10 tools)
| Tool | Description |
|---|---|
list_staff | List staff members |
create_staff | Hire a staff member |
get_staff | Get staff detail |
update_staff | Update staff profile |
deactivate_staff | Deactivate staff |
get_staff_kpis | Store-level KPIs |
get_staff_stats | Per-cashier stats |
get_staff_activity | Daily activity log |
update_staff_shift | Update shift assignment |
update_staff_permissions | Update POS permissions |
Reports (9 tools)
| Tool | Description |
|---|---|
list_report_types | Available report types |
generate_report | Generate a report |
list_report_exports | Past export history |
download_report_export | Re-download an export |
list_scheduled_reports | Scheduled reports |
create_scheduled_report | Create a schedule |
update_scheduled_report | Update a schedule |
delete_scheduled_report | Delete a schedule |
send_scheduled_report | Send immediately |
Accounts (8 tools)
| Tool | Description |
|---|---|
get_profile | Get current user profile |
update_profile | Update own profile |
get_organisation | Get org details |
update_organisation | Update org settings |
switch_store | Switch active store |
list_users | List org users |
create_user | Create staff user |
get_ai_credits | Check AI credit balance |
Credits (7 tools)
| Tool | Description |
|---|---|
list_credit_tabs | List credit tabs |
get_customer_credit | Customer credit profile |
record_credit_payment | Record a payment |
send_credit_reminder | Send SMS reminder |
log_credit_communication | Log a communication |
add_credit_note | Add internal note |
write_off_credit | Write off a debt |
Stores (7 tools)
| Tool | Description |
|---|---|
list_stores | List stores with KPIs |
create_store | Create a new store |
get_store | Get store detail |
update_store | Update a store |
get_store_stats | Aggregate stats |
set_store_status | Open/close store |
get_store_weekly_performance | 7-day sales |
Transactions (7 tools)
| Tool | Description |
|---|---|
complete_sale | Complete a POS sale |
list_transactions | List transactions |
get_transaction | Get transaction detail |
refund_transaction | Refund a transaction |
void_transaction | Void a transaction |
get_sales_summary | Daily sales summary |
get_hourly_sales | Hourly breakdown |
Expenses (6 tools)
| Tool | Description |
|---|---|
list_expenses | List expenses |
create_expense | Record an expense |
get_expense | Get expense detail |
update_expense | Update an expense |
delete_expense | Delete an expense |
get_expense_summary | Expense summary |
Customers (5 tools)
| Tool | Description |
|---|---|
list_customers | List customers |
create_customer | Create a customer |
get_customer | Get customer detail |
update_customer | Update a customer |
list_credit_customers | Customers with open credit |
Notebook (5 tools)
| Tool | Description |
|---|---|
list_notes | List notes |
create_note | Create a note |
get_note | Get note detail |
update_note | Update a note |
delete_note | Delete a note |
Notifications (5 tools)
| Tool | Description |
|---|---|
list_notifications | List notifications |
get_unread_count | Unread count |
mark_notification_read | Mark as read |
mark_all_read | Mark all as read |
delete_notification | Delete notification |
Communicate (4 tools)
| Tool | Description |
|---|---|
send_sms | Send SMS via SendAfrica |
get_sms_balance | Check SMS credit balance |
send_email | Send email via MailAfrica |
get_email_balance | Check email wallet balance |
Images (1 tool)
| Tool | Description |
|---|---|
suggest_product_image | Search 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