mintsoft-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MINTSOFT_AUDIT | No | Audit-log every API call. | 1 |
| MINTSOFT_API_KEY | Yes | Your Mintsoft API key. | |
| MINTSOFT_AUDIT_LOG | No | Audit log path. | ~/.mintsoft-mcp/mintsoft_api_audit.jsonl |
| MINTSOFT_SECRET_NAME | No | Optional: GCP Secret Manager secret name. | |
| MINTSOFT_ENABLE_WRITES | No | Register the write tools. | 0 |
| MINTSOFT_SECRET_PROJECT | No | Optional: GCP Secret Manager project ID. | |
| MINTSOFT_AUDIT_WRITES_ONLY | No | Log only PUT/POST/DELETE. | 0 |
| MINTSOFT_WRITE_CLIENT_ALLOWLIST | No | Comma-separated ClientIds writes may touch. Empty = all writes refused. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_orderA | Get full detail for one Mintsoft order by its numeric order ID. |
| search_ordersA | Search orders by order number. exact=True does an exact match (recommended). |
| get_order_idC | Resolve an exact order number to its internal Mintsoft order ID. |
| list_ordersB | List orders by status ID (e.g. NEW=1, DESPATCHED=4, QUERYRAISED=13, AWAITINGPICKING=15, PICKED=17). limit max 100. |
| list_order_statusesA | List all order status names and their IDs. |
| get_order_itemsB | Get the line items for an order. |
| get_order_commentsB | Get the comments logged against an order. |
| track_order_by_tracking_numberB | Find an order by its courier tracking number. |
| list_order_channelsA | List the sales channels (Shopify, Amazon, etc.) configured in Mintsoft. |
| get_productA | Get full detail for one product by its numeric product ID. |
| lookup_product_idC | Resolve a primary SKU to its internal product ID. |
| search_productsB | Search products by SKU or name. |
| list_productsA | List products (paged). limit max 100. client_id filters to one client (0 = all). Unlike search_products, this listing INCLUDES bundles — use it to find a bundle's product ID. |
| get_alt_codesB | List the alternative SKUs / barcodes (AltCodes) mapped to a product. |
| get_bundleA | Read a bundle's make-up: SKU, Name, and Components (each with ProductId, SKU, Quantity). NB: bundles are hidden from Product/Search — find them via list_products(client_id=…) or by ID. |
| get_product_inventoryC | Get inventory (stock by location) for a product. |
| get_stock_levels_by_warehouseB | Stock levels for a warehouse, for products updated in the last N days (default 31). |
| get_stock_levels_updated_sinceA | Stock levels for products changed in the last N days (default 7). Prefer this over the full StockLevels (which can time out). |
| get_stock_flowC | Stock-flow (movement) history for a product over the last N days (default 30). |
| list_suppliersB | List product suppliers. |
| precheck_discontinueA | READ-ONLY discontinue footprint for a SKU before retiring it: stock on hand, live-order
allocations, inbound/backorder, bundle membership, plus alt-code & replen info. Returns a
blocker list and a |
| list_asnsB | List ASNs (inbound goods-in / advance shipping notices). |
| get_asnB | Get one ASN (inbound) by ID. |
| list_returnsD | List returns. |
| get_returnB | Get one return by ID. |
| list_warehousesC | List warehouses. |
| list_locationsB | List all storage locations in a warehouse. |
| list_warehouse_zonesB | List the zones (location-charge zones) of a warehouse. |
| list_clientsB | List clients (brands) in the account. |
| list_couriersA | List courier services. |
| list_invoicesB | List accounting invoices (needs Accounting permission on the API key). |
| get_invoiceA | Get one invoice by ID (needs Accounting permission). |
| list_order_rulesA | List order rules (needs OrderRules permission on the API key). |
| run_reportA | Run a Mintsoft report. kind = 'courier_despatch' | 'products_in_location' | 'product_usage'. Dates are YYYY-MM-DD; default to the last 7 days when omitted. warehouse_id/client_id are optional filters (0 = all). |
| get_ref_dataB | Reference data. kind = 'countries' | 'currencies' | 'picking_types' | 'price_types'. |
| mintsoft_getA | Generic READ-ONLY passthrough: GET any Mintsoft API path (e.g. 'Order/123/Shipments'). Path is relative to /api/. Only GETs — for safety this tool cannot perform writes. |
| get_api_audit_logA | Read the most recent entries from the Mintsoft API audit log — the append-only history of EVERY call this tooling/server makes (ts, method, write flag, path, body, status, success, affected_id). Use to trace or recover from changes. writes_only=True → only PUT/POST/DELETE; contains → only lines whose path/body matches the substring (e.g. a SKU or 'Bundle'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 37 tools
Most tools have clearly distinct purposes, with descriptions clarifying differences (e.g., get_order vs search_orders vs get_order_id). However, multiple stock-related tools (get_stock_levels_by_warehouse, get_stock_levels_updated_since, get_product_inventory, get_stock_flow) could cause confusion despite descriptions.
The majority follow a verb_noun snake_case pattern (get_*, list_*, search_*). Inconsistencies include 'mintsoft_get' (prefix+verb), 'precheck_discontinue' (unclear noun), and 'track_order_by_tracking_number' (extra word). Overall pattern is recognizable but not uniform.
37 tools is on the high side for typical MCP servers, but given the breadth of entities (orders, products, inventory, ASNs, invoices, reports, etc.), the count is borderline acceptable. Some redundancy (multiple stock methods) could be consolidated.
The tool set is heavily read-focused with get/list/search operations and no create/update/delete tools for core entities. Missing write capabilities for orders, products, and other entities limit the server to monitoring rather than full lifecycle management, creating significant gaps.