gobox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOBOX_BASE_URL | Yes | The base URL of the Gobox API (e.g., https://dev-api.gobox.asia or https://api.gobox.asia) | |
| GOBOX_CLIENT_ID | Yes | Your Gobox API client ID | |
| GOBOX_GRANT_TYPE | No | OAuth grant type, defaults to client_credentials | client_credentials |
| GOBOX_CLIENT_SECRET | Yes | Your Gobox API client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ordersA | List orders with filters. Returns paginated results. IMPORTANT for AI:
|
| get_orderB | Fetch full order detail by transactionNo. |
| create_orderB | Create a new order. WORKFLOW: First verify product stock with sku_quantity_available. See WORKFLOW GUIDE in module docstring for full creation flow. |
| update_orderB | Update order fields by transactionNo. WORKFLOW: Call get_order first to see current state. |
| update_order_statusC | Update order status. Call get_sys_helpers() for valid status values. |
| cancel_orderB | Cancel an order. Only works before shipping stage. |
| send_order_to_goboxA | Send order to warehouse (Gobox) for packing. WORKFLOW: Call this AFTER create_order, BEFORE send_order_to_goship. This triggers the warehouse to start picking and packing the order. |
| send_order_to_goshipA | Send order to carrier (Goship) for delivery. WORKFLOW: Call this AFTER send_order_to_gobox (order must be packed first). This triggers carrier pickup/delivery scheduling. |
| search_all_ordersA | Fetch ALL orders across all pages in parallel. Use for reporting/counting, e.g. 'all orders from last week'. ALWAYS use filters to narrow results. |
| list_productsA | List products with filters. Returns paginated results. IMPORTANT for AI:
|
| get_productA | Fetch FULL product detail by SKU with all relations. |
| create_productA | Create a new product. WORKFLOW: First call list_categories + list_brands to get valid IDs. Required body fields: category_id (int): Category ID (from list_categories) Optional fields: name (str), sku (str), description (str), brand_id (int), weight (int, grams), length/width/height (int), is_combo (bool), total_price (number, required if is_combo=1), product_combos: [{sku_name, quantity}] (if combo), variants: [{name, value}], skus: [{sku, price, supplier_price, variants}], images: [{image, variant_name, variant_value}], attributes: [{attribute_id, value, platform, values[], unit}] |
| update_productA | Update product by SKU. WORKFLOW: Call get_product(sku) first to see current state before updating. Body fields same as create_product. |
| delete_productB | Delete product by SKU. WARNING: This is irreversible. |
| search_all_productsA | Fetch ALL products across all pages in parallel. Use when you need a complete list, e.g. 'show all products of brand X'. ALWAYS use q/category/brand filters to narrow results when possible. |
| list_categoriesA | List all product categories. Use to get category_id for product creation. WORKFLOW: Call this FIRST, then use category_id for list_brands and list_attributes. |
| list_brandsA | List brands for a category. category_id is REQUIRED. WORKFLOW: Call list_categories first to get category_id. |
| list_attributesA | List product attributes for a category. category_id is REQUIRED. WORKFLOW: Call list_categories first to get category_id. |
| list_product_skusC | List all product SKU variants. |
| search_all_product_skusA | Fetch ALL product SKU variants across all pages in parallel. |
| sku_quantity_availableB | Get AVAILABLE (sellable) quantity. This is what can be sold NOW. |
| sku_quantity_in_warehouseB | Get total quantity physically IN warehouse (includes held stock). |
| sku_quantity_keep_pickB | Get quantity reserved for outgoing order picks (not available for sale). |
| sku_quantity_wait_qcA | Get quantity waiting for QC inspection (not yet sellable). |
| sku_quantity_wait_incomingC | Get quantity expected from incoming consignments (not yet in warehouse). |
| sku_full_statusA | Composite: fetch ALL 5 quantity states for a single SKU in parallel. PREFERRED tool for answering 'How much of SKU X do we have?' Returns all states in one call instead of 5 sequential calls. |
| list_warehousesC | List all warehouses. |
| list_inventoriesA | List inventory check (kiểm kho) documents. Paginated. IMPORTANT for AI:
|
| list_warehouse_pickingsA | List warehouse picking documents (nhập/xuất/chuyển kho). Paginated. IMPORTANT for AI:
|
| search_all_warehousesC | Fetch ALL warehouses across all pages in parallel. |
| search_all_inventoriesC | Fetch ALL inventory checks across all pages in parallel. ALWAYS use filters to narrow results. |
| search_all_warehouse_pickingsB | Fetch ALL warehouse pickings across all pages in parallel. ALWAYS use filters to narrow results. |
| report_warehouse_importC | Warehouse import (stock-in) report. |
| report_warehouse_import_refundC | Import report for refund/returned stock. |
| report_export_by_orderC | Warehouse export report grouped by order. |
| report_export_by_skuC | Warehouse export report grouped by SKU. |
| report_inventoriesD | Inventory check (kiểm kho) report. |
| report_warehouse_storeC | Warehouse storage snapshot — what's currently stored. |
| report_warehouse_stockC | Current stock balance per warehouse/SKU. warehouse_id is REQUIRED. |
| report_materialsC | Materials (packaging, supplies) usage report. |
| list_shopsC | List all connected e-commerce shops. |
| search_all_shopsA | Fetch ALL shops across all pages in parallel. |
| list_citiesA | List all Vietnamese provinces/cities. |
| list_districtsA | List districts for a city. city_id is REQUIRED. WORKFLOW: Call list_cities first to get city_id. |
| list_wardsA | List wards for a district. district_id is REQUIRED. WORKFLOW: Call list_cities → list_districts(city_id) → list_wards(district_id). |
| list_countriesA | List all countries supported by Gobox. |
| get_sys_helpersA | Fetch system enum/status reference (order statuses, types, etc.). Call this once to let AI understand what status codes mean when interpreting order/inventory responses. |
| list_consignmentsB | List consignment documents. Returns paginated results. IMPORTANT for AI:
|
| get_consignmentA | Fetch full consignment detail by code. |
| create_consignmentA | Create a new consignment (nhập hàng vào kho). WORKFLOW: First call list_warehouses to get warehouse_id, then get_product to verify SKUs. |
| cancel_consignmentA | Cancel a consignment. Only works for draft/confirmed status. |
| add_consignment_attachmentsC | Add attachment files to a consignment. |
| search_all_consignmentsB | Fetch ALL consignments across all pages in parallel. ALWAYS use filters to narrow results. |
| get_shipping_ratesC | Fetch Goship carrier rates for a delivery route. |
| list_webhooksA | List all registered webhook subscriptions. |
| create_webhookB | Register a new webhook endpoint. |
| update_webhookC | Update webhook configuration. |
| delete_webhookC | Delete a webhook subscription. |
| toggle_webhookC | Enable/disable a webhook. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Winter279/gobox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server