Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENCART_ROOTNoPath to your OpenCart root directory (containing index.php)
OPENCART_DB_NAMENoYour OpenCart database name
OPENCART_DB_PASSNoYour OpenCart database password
OPENCART_DB_USERNoYour OpenCart database username
OPENCART_SSH_KEYNoPath to your SSH private key
OPENCART_STORAGENoPath to your OpenCart storage directory
OPENCART_SSH_HOSTNoYour server IP or hostname (or 'ddev' for DDEV local development)
OPENCART_SSH_USERNoYour SSH username

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_productsA

List products with stock, prices, and SEO data. Search by name. Optionally filter by category_id. Set include_description=True to include full HTML descriptions.

get_productC

Get full details for a single product including images, options, and attributes.

get_ordersA

Get recent orders. Filter by status name (e.g. 'Complete', 'Pending'). Default: last 30 days, 20 orders.

get_orderC

Get full order details including line items and totals.

get_customersC

Search customers by name or email.

get_categoriesB

Get category tree. Set parent_id=0 for top-level categories.

get_settingsB

Get OpenCart settings. Filter by group (e.g. 'config') and/or key pattern (SQL LIKE).

get_j3_settingsA

Get Journal3 theme settings. Filter by setting_name pattern (SQL LIKE).

get_j3_skin_settingsB

Get Journal3 skin settings. Filter by setting_name pattern (SQL LIKE).

get_modulesA

List Journal3 modules. Filter by type (e.g. 'products', 'slider', 'product_tabs'). Search module_data content with search parameter.

get_j3_moduleA

Get full Journal3 module data for a single module by ID. Returns full JSON config — can be large for complex modules.

get_order_statusesA

List all order statuses with their IDs.

get_product_attributesB

Get all attributes for a product (e.g. CAS number, molecular weight, storage).

sales_summaryB

Get sales summary: total revenue, order count, top selling products. Covers the last N days. Excludes cancelled/failed/refunded orders.

get_modificationsB

List all OCMOD modifications with status.

get_extensionsB

List installed OpenCart extensions.

queryA

Execute a read-only SQL query. Only SELECT statements allowed. Use this for custom queries not covered by other tools.

get_table_schemaA

Show columns for an OpenCart table. The install's prefix (e.g. 'oc_') is added automatically if missing.

list_tablesB

List database tables matching pattern. Default: all OpenCart tables (using detected prefix).

get_fileA

Read a file from the VPS. Path is relative to OpenCart root unless absolute.

By default returns the first max_lines lines (head). Set from_end=True for the last max_lines (tail) — preferred for large logs such as error.log. Optional grep is a fixed substring filter (not a regex). With from_end=True, grep only searches the last ~50k lines so huge logs stay fast; with from_end=False, grep scans the whole file then takes the first max_lines matches (can be slow on very large files). max_lines is capped at 2000. Requires SSH or DDEV.

update_productB

Update product fields. Only specified fields are changed.

update_settingC

Update an OpenCart setting.

update_j3_settingC

Update a Journal3 theme setting.

update_j3_skin_settingD

Update a Journal3 skin setting.

update_j3_moduleA

Update text within a Journal3 module's JSON data using find/replace. Safer than rewriting the entire module — only changes the matched text. Use get_j3_module first to see the current content.

update_seo_urlB

Update or create an SEO URL mapping. Query is e.g. 'product_id=123' or 'category_id=45'. Keyword is the URL slug (e.g. 'bpc-157-5mg').

update_categoryC

Update category fields. Only specified fields are changed.

write_fileA

Write content to a file on the VPS via SFTP. Path is relative to OpenCart root unless absolute. Creates parent directories if needed. Use with caution. Requires SSH or DDEV.

clear_cacheA

Clear OpenCart and Journal3 caches on VPS. Requires SSH or DDEV.

run_sqlB

Execute a write SQL statement (INSERT/UPDATE/DELETE). Use with caution — changes the database directly.

refresh_modificationsA

Clear the OCMOD modification cache so OpenCart serves unmodified files. Run Admin > Extensions > Modifications > Refresh afterwards for the full recompile — this tool cannot do that step.

get_information_pagesA

List CMS/information pages (About Us, FAQ, T&Cs, etc.) with title and content preview. Search by title text.

get_information_pageC

Get full content of a single information/CMS page by ID.

update_informationB

Update text within an information/CMS page using find/replace. Works on the HTML description field. Use get_information_page first to see current content.

get_seo_urlsC

Get SEO URL mappings. Filter by query pattern (e.g. 'product_id=%').

get_stock_reportB

Get stock levels for active products, sorted by quantity (lowest first).

update_order_statusA

Change an order's status and append an order-history entry — the same thing the admin status dropdown does. notify=True marks the history row as customer-notified but does NOT send the email itself. Use get_order_statuses to look up status IDs.

get_couponsA

List discount coupons with usage counts. Search by code or name. Default: enabled, unexpired coupons only.

create_couponC

Create a discount coupon, enabled and valid from today. type: 'P' = percentage, 'F' = fixed amount. uses_total=0 = unlimited total uses; uses_per_customer=0 = unlimited per customer.

update_couponA

Update a coupon: enable/disable (status 1/0), change discount, extend date_end (YYYY-MM-DD), adjust total-use limit, or rename. Only specified fields are changed.

get_vouchersB

List gift vouchers with amount, sender/recipient, and status.

dashboardA

One-call store overview: revenue today / 7 days / 30 days, order status breakdown, stock alerts, and the latest orders. The 'give me a store summary' tool. Excludes cancelled/failed/refunded orders from revenue.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 42 tools

Disambiguation4/5

Most tools target distinct resources (products, orders, coupons, settings) with clear read/write separation. Minor overlaps exist: dashboard vs sales_summary both report revenue, and the three settings tools (OpenCart vs Journal3 theme vs skin) could confuse without Journal3 familiarity.

Naming Consistency4/5

The set predominantly uses a consistent verb_noun convention (get_*, update_*, list_*, create_*). A few exceptions like query, dashboard, sales_summary, and clear_cache break the pattern but remain readable and unambiguous.

Tool Count3/5

42 tools is heavy for any single server, exceeding the 25-tool threshold where agents may struggle to scan the surface. The broad domain (OpenCart core, Journal3 theme, DB, VPS files) justifies many tools, but the count is still on the high side.

Completeness4/5

Read coverage is broad and write operations cover updates for products, categories, settings, SEO, and content, with run_sql as a fallback for missing writes. However, no create/delete tools exist for products, categories, customers, or vouchers, which are notable gaps for full lifecycle management.

Maintenance

ActivityMaintained
ResponsivenessResponsive