gomag-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOMAG_API_KEY | Yes | Your Gomag API key (Apikey header) — from Admin → API Settings | |
| GOMAG_API_SHOP | Yes | Your shop URL, e.g. https://yourshop.gomag.ro (ApiShop header) | |
| GOMAG_BASE_URL | No | Gomag API base URL | https://api.gomag.ro |
| GOMAG_USER_AGENT | No | Custom User-Agent (must not be PostmanRuntime/…) | GomagMCP/1.0 |
| GOMAG_MAX_RETRIES | No | Retry attempts for 429 / 5xx responses | 3 |
| GOMAG_AUDIT_LOG_FILE | No | Path to the rotating JSON Lines audit log | gomag_audit.jsonl |
| GOMAG_REQUEST_TIMEOUT | No | HTTP timeout in seconds | 30.0 |
| GOMAG_AUDIT_LOG_MAX_BYTES | No | Max log file size before rotation (10 MB) | 10485760 |
| GOMAG_AUDIT_LOG_TO_STDERR | No | Also emit audit events to stderr | true |
| GOMAG_RETRY_BACKOFF_FACTOR | No | Exponential back-off multiplier (seconds) | 1.0 |
| GOMAG_AUDIT_LOG_BACKUP_COUNT | No | Number of rotated backup files to keep | 5 |
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 |
|---|---|
| product_listA | List products from the Gomag store. Parameterspage : Page number (pagination). limit : Results per page (1–100). id : Filter by internal product ID. sku : Filter by product SKU/code. category : Filter by category ID. brand : Filter by brand ID. updated : Filter products modified on/after this date (YYYY-MM-DD). add_versions : Include product variants/versions (true/false). include_files: Include attached files (true/false). include_videos: Include attached videos (true/false). promo_tag : Filter by promotional tag key (e.g. "new", "recommended"). view : Language code for localised fields (e.g. "ro", "en", "hu"). |
| product_createA | Create one or more products. Parametersdata : JSON array of product objects. Each object may include: - name (dict, keyed by language code e.g. {"ro": "...", "en": "..."}) - description (dict, keyed by language) - enabled (0 or 1) - vat (VAT percentage, e.g. 19) - currency (e.g. "RON") - brand (brand name string) - categories (array of category path arrays) - versions (array of variant objects with sku, price, stock, weight, ean, ...) Example'[{"name": {"ro": "Produs test", "en": "Test product"}, "enabled": 1, "vat": 19, "currency": "RON", "versions": [{"sku": "TEST-001", "price": 99.99, "stock": 10}]}]' |
| product_updateA | Update (patch) existing products. Parametersdata : JSON array of partial product objects. Must include an identifier field (id or sku) plus the fields to update. Example'[{"sku": "TEST-001", "versions": [{"sku": "TEST-001", "price": 79.99}]}]' |
| product_update_inventoryA | Bulk-update product price and/or stock (inventory sync). Parametersdata : JSON array of inventory update objects, each containing: - sku (required) product SKU - price (optional) new price - stock (optional) new stock quantity - specialPrice (optional) discounted price Example'[{"sku": "TEST-001", "price": 89.99, "stock": 50}]' |
| product_deleteA | Delete products by SKU or ID. Parametersdata : JSON array of objects identifying the products to delete. Each object should contain either "id" or "sku". Example'[{"sku": "TEST-001"}, {"id": 42}]' |
| category_listA | List product categories. Parametersid : Filter by specific category ID. parent_id : Filter by parent category ID (0 = root categories). view : Language code for localised names (e.g. "ro", "en"). page : Page number for pagination. limit : Results per page (1–100). |
| category_createA | Create one or more categories. Parametersdata : JSON array of category objects. Each object may include: - name (dict, keyed by language e.g. {"ro": "...", "en": "..."}) - description (dict, keyed by language) - parent_id (int, ID of parent category; omit or 0 for root) - enabled (0 or 1) - image (URL string) Example'[{"name": {"ro": "Electrocasnice", "en": "Appliances"}, "enabled": 1}]' |
| category_updateA | Update (patch) existing categories. Parametersdata : JSON array of partial category objects. Must include "id" plus the fields to change. Example'[{"id": 12, "name": {"ro": "Electronice", "en": "Electronics"}}]' |
| category_deleteA | Delete categories. Only empty categories (no products, no sub-categories) can be deleted. Parametersdata : JSON array of objects with "id" fields. Example'[{"id": 12}]' |
| order_listB | List orders from the Gomag store. Parametersid : Filter by internal order ID. number : Filter by order number. status : Filter by status key (e.g. "sale", "return", "cancel"). date_from : Include orders placed on/after this date (YYYY-MM-DD). date_to : Include orders placed on/before this date (YYYY-MM-DD). email : Filter by customer e-mail. phone : Filter by customer phone number. page : Page number. limit : Results per page (1–100). |
| order_status_typesA | Return the list of available order status types defined in the store. |
| order_createA | Create a new order. Parametersdata : JSON object describing the order. Key fields: - number (string) order reference number - date (YYYY-MM-DD) - payment (string) payment method key - currency (e.g. "RON") - shippingValue (string/number) - subtotal (string/number) - billing (object: lastname, firstname, address, city, region, country, phone, email) - shipping (object: same fields + zipcode) - products (array: sku, name, price, quantity, tax, weight) - discounts (array: name, voucher, value) — optional Example'{"number": "ORD-001", "date": "2026-03-27", "payment": "cod", "currency": "RON", "shippingValue": "20", "subtotal": "199.99", "billing": {"lastname": "Doe", "firstname": "John", "address": "Str. Test 1", "city": "Bucharest", "region": "Ilfov", "country": "Romania", "phone": "0721000000", "email": "john@example.com"}, "shipping": {"lastname": "Doe", "firstname": "John", "address": "Str. Test 1", "city": "Bucharest", "region": "Ilfov", "country": "Romania", "zipcode": "010101", "phone": "0721000000", "email": "john@example.com"}, "products": [{"sku": "PROD-1", "name": "Product", "price": "199.99", "quantity": "1", "tax": "19", "weight": "500"}]}' |
| order_update_statusA | Update the status of an existing order. Parametersorder_id : Internal order ID. status : New status key (e.g. "sale", "return", "cancel"). Use order_status_types() to see available values. notify_customer : Send a notification e-mail to the customer (true/false). note : Optional internal note to attach to the status change. |
| order_add_noteA | Add a note to an order. Parametersorder_id : Internal order ID. note : Note text. is_public : If true the note is visible to the customer (default false). |
| order_add_fileA | Attach a file (by URL) to an order. Parametersorder_id : Internal order ID. file_url : Publicly accessible URL of the file to attach. file_name : Display name for the file (optional, defaults to the URL filename). |
| customer_listA | List customers registered in the Gomag store. Parametersid : Filter by internal customer ID. email : Filter by e-mail address. phone : Filter by phone number. updated : Filter customers modified on/after this date (YYYY-MM-DD). page : Page number. limit : Results per page (1–100). |
| customer_ordered_productsA | Get a list of products that a specific customer has ordered. Parameterscustomer_id : Internal customer ID. email : Customer e-mail (alternative to customer_id). page : Page number. limit : Results per page. |
| customer_createA | Create a new customer account. Parametersemail : Customer e-mail address (unique).
firstname : First name.
lastname : Last name.
password : Account password (plain text — only use over HTTPS; never logged).
confirm_password : Must match |
| customer_updateB | Update an existing customer's details. Parametersdata : JSON object with customer fields to update. Must include "id" or "email" to identify the customer, plus the fields to change. Example'{"id": 123, "phone": "0721000001", "newsletter": false}' |
| customer_loginA | Authenticate a customer and return session/token data. Parametersemail : Customer e-mail address. password : Customer password (plain text — only use over HTTPS; never logged). Returns the API response which typically includes a session token or authentication confirmation. |
| customer_change_passwordA | Change a customer's password. Parametersemail : Customer e-mail address.
old_password : Current password for verification (plain text — never logged).
new_password : New password to set (plain text — never logged).
confirm_new_password : Must match |
| customer_password_recoveryB | Trigger a password recovery e-mail for a customer. Parametersemail : Customer e-mail address to send the recovery link to. |
| customer_delete_requestA | Submit a GDPR account-deletion request for a customer. The customer will be flagged for deletion in the store's admin panel. This does NOT immediately delete the account. Parametersemail : Customer e-mail address. |
| awb_carrier_listA | Return the list of configured shipping carriers/couriers available in the store. |
| awb_listA | List AWB (Air Waybill / tracking numbers) records. Parametersorder_id : Filter by the order's internal ID. awb_number : Filter by specific AWB tracking number. carrier_id : Filter by carrier/courier ID. page : Page number. limit : Results per page (1–100). |
| awb_createA | Manually create an AWB record for an order. Parametersdata : JSON object with AWB details. Key fields: - orderId (int) internal order ID - carrierId (int) carrier ID from awb_carrier_list() - awbNumber (string) tracking number issued by the carrier - packages (int) number of packages - weight (float) total shipment weight in kg Example'{"orderId": 100, "carrierId": 3, "awbNumber": "1Z999AA10123456784", "packages": 1, "weight": 1.5}' |
| awb_generateA | Generate an AWB automatically through the carrier's integrated API. Parametersdata : JSON object with generation details. Key fields: - orderId (int) internal order ID - carrierId (int) carrier ID from awb_carrier_list() - packages (int) number of packages (default 1) - weight (float) total weight in kg Example'{"orderId": 100, "carrierId": 3, "packages": 1, "weight": 2.0}' |
| awb_deleteB | Delete an AWB record. Parametersawb_id : Internal AWB record ID. |
| awb_printA | Generate a printable shipping label (PDF or similar) for an AWB. Parametersawb_id : Internal AWB record ID. Returns a response typically containing a URL or base64-encoded label content. |
| awb_update_statusA | Update the delivery status of an AWB. Parametersawb_id : Internal AWB record ID. status : New status string (carrier-specific, e.g. "delivered", "in_transit", "returned"). update_order_status : If true, also update the parent order's status accordingly. |
| invoice_createB | Create (register) an invoice for an order. Parametersdata : JSON object with invoice details. Key fields: - orderId (int) internal order ID - number (string) invoice number/series - date (YYYY-MM-DD) invoice date - series (string) invoice series (e.g. "FCT") - dueDate (YYYY-MM-DD) payment due date (optional) Example'{"orderId": 100, "series": "FCT", "number": "0001234", "date": "2026-03-27"}' |
| invoice_generateB | Auto-generate an invoice for an order using the store's configured invoicing settings. Parametersorder_id : Internal order ID. series : Invoice series to use (optional; uses store default if omitted). |
| invoice_cancelC | Cancel (void) an invoice. Parametersinvoice_id : Internal invoice ID to cancel. |
| attribute_listA | List product attributes defined in the store. Parametersid : Filter by specific attribute ID. page : Page number. limit : Results per page (1–100). |
| attribute_createA | Create one or more product attributes. Parametersdata : JSON array of attribute objects. Each object may include: - name (dict, keyed by language e.g. {"ro": "Culoare", "en": "Color"}) - type (string) attribute type (e.g. "select", "text", "multiselect") - values (array of value objects, each with a localised "name" dict) Example'[{"name": {"ro": "Culoare", "en": "Color"}, "type": "select", "values": [{"name": {"ro": "Rosu", "en": "Red"}}, {"name": {"ro": "Albastru", "en": "Blue"}}]}]' |
| attribute_updateA | Update (patch) existing product attributes. Parametersdata : JSON array of partial attribute objects. Must include "id" plus the fields to update. Example'[{"id": 5, "name": {"ro": "Marime", "en": "Size"}}]' |
| review_listA | List product reviews. Parametersproduct_id : Filter by product ID. customer_id : Filter by customer ID. approved : Filter by approval status (true = approved only). page : Page number. limit : Results per page (1–100). |
| review_createB | Submit a product review. Parametersproduct_id : ID of the product being reviewed. rating : Star rating (1–5). title : Short review title/summary. content : Full review text. author_name : Reviewer's display name. author_email : Reviewer's e-mail address. approved : Set approval status immediately (true/false; defaults to store's moderation setting). |
| wishlist_listA | List a customer's saved (wishlist) products. Parameterscustomer_id : Customer's internal ID. email : Customer e-mail (alternative identifier). page : Page number. limit : Results per page (1–100). |
| wishlist_addC | Add a product to a customer's wishlist. Parameterscustomer_id : Customer's internal ID. product_id : Product's internal ID. |
| wishlist_removeB | Remove a product from a customer's wishlist. Parameterscustomer_id : Customer's internal ID. product_id : Product's internal ID. |
| currency_listA | Return the list of currencies configured in the Gomag store. |
| payment_listA | Return the list of payment methods available in the store. |
| brand_listC | Return the list of brands (manufacturers) defined in the store. Parameterspage : Page number. limit : Results per page (1–100). |
| filter_listA | Return the filterable attributes for a specific category. Parameterscategory_id : Category ID to retrieve filters for (required). view : Language code (e.g. "ro", "en"). |
| banner_listB | Return banners (promotional images/links) defined in the store. Parametersposition : Filter by banner position/zone (store-defined key). page : Page number. limit : Results per page. |
| fidelity_readC | Retrieve a customer's fidelity (loyalty) points balance. Parameterscustomer_id : Customer's internal ID. email : Customer e-mail (alternative identifier). |
| rulecart_addA | Create a shopping cart rule (discount / promotion). Parametersdata : JSON object describing the cart rule. Key fields: - name (string) rule name - discount (float) discount amount or percentage - type (string) "fixed" | "percent" - code (string) voucher code (leave empty for auto-apply) - dateFrom (YYYY-MM-DD) start date (optional) - dateTo (YYYY-MM-DD) end date (optional) - usesPerCode (int) maximum total uses (0 = unlimited) - usesPerCustomer (int) maximum uses per customer (0 = unlimited) - enabled (0 or 1) Example'{"name": "Spring Sale 10%", "discount": 10, "type": "percent", "code": "SPRING10", "enabled": 1, "usesPerCode": 100}' |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| rate_limit_resource | Current API rate-limit state (updated after every request). Returns the most recently observed values from the Gomag API response headers: - read_remaining — read requests remaining before throttling - write_remaining — write requests remaining before throttling - read_burst — max read burst capacity - write_burst — max write burst capacity - read_rate — read requests processed per second - write_rate — write requests processed per second |
| health_resource | Server health status. Returns configuration info (without secrets) and the rate-limit state. Use this to confirm the server started correctly and the API shop is set. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/florinel-chis/gomag-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server