Files
homaroma/apps/mcp-server
2026-07-24 20:08:21 -04:00
..
x
2026-06-07 07:33:41 +07:00
x
2026-06-07 07:33:41 +07:00
x
2026-07-24 04:04:32 -04:00
x
2026-07-23 04:41:35 -04:00
x
2026-07-23 04:41:35 -04:00
2026-06-17 21:08:24 -04:00
x
2026-07-23 04:41:35 -04:00
2026-06-17 21:08:24 -04:00
x
2026-07-24 20:08:21 -04:00
x
2026-07-24 20:08:21 -04:00
x
2026-06-07 07:33:41 +07:00
x
2026-06-07 07:33:41 +07:00
x
2026-06-28 20:18:07 -04:00
x
2026-07-24 04:04:32 -04:00
x
2026-06-07 07:33:41 +07:00

HomAroma MCP Server

MCP server สำหรับเชื่อม AI tools เข้ากับ backend ของ HomAroma ผ่าน stdio transport

Run

bun install
bun run --cwd apps/mcp-server dev

หรือรันตรงจาก package:

cd apps/mcp-server
bun run dev

Environment

รองรับตัวแปรต่อไปนี้:

  • MCP_BACKEND_URL สำหรับกำหนด backend target ตรง ๆ
  • MCP_BACKEND_URL_LOCAL ค่าเริ่มต้นสำหรับ local
  • MCP_BACKEND_URL_PRODUCTION ค่าเริ่มต้นสำหรับ production
  • MCP_ADMIN_USERNAME
  • MCP_ADMIN_PASSWORD

ถ้าไม่ตั้งค่า MCP_BACKEND_URL server จะเริ่มที่ local backend และสลับเป็น production ได้ด้วย tool set_target_environment

Available tools

  • update_brand_name เปลี่ยนชื่อแบรนด์กลางที่ใช้ใน header/footer ของ apps/spa และ apps/website
  • update_store_settings_translation อัปเดตข้อความแปลของ store settings
  • update_footer_content อัปเดตเนื้อหา footer และลิงก์ที่เกี่ยวข้อง

Mega Menu LLM Workflow

Header Mega Menu uses the main menu payload tree. The website renders this structure:

Root -> Column -> Link -> Child Link

Supported localized text keys are:

th, en, ja, zh, vi, ko, lo, it

LLM agents should use this workflow for every menu edit:

  1. capture_menu_snapshot for main
  2. get_mega_menu_tree
  3. validate_mega_menu_tree
  4. Plan operations from diagnostics and current nodeId values
  5. bulk_menu_operations with dryRun: true
  6. Review preview.diff, preview.before, preview.after, issues, and warnings
  7. Apply only after approval
  8. Run validate_mega_menu_tree again
  9. Use restore_menu_snapshot if the applied result is wrong

Do not add a Link directly under root. Add a Column under Root first, then add Links under that Column.

Dry-run responses are expected to include path-based diffs such as:

{
  "path": "payload[0].columns[0].links[0].label.it",
  "before": null,
  "after": "Candele"
}

validate_mega_menu_tree reports:

  • missing locale keys, especially lo and it
  • unsupported translation keys
  • duplicate or missing nodeId
  • invalid URL shape
  • placeholder text
  • empty columns
  • featured card issues
  • desktop render limits such as hidden columns or links

Category Management LLM Workflow

Product categories are managed by backend /categories APIs through MCP. Supported localized text keys are:

th, en, ja, zh, vi, ko, lo, it

LLM agents should use this workflow for category edits:

  1. list_categories with lang: "all" to discover category IDs and current translations
  2. create_category, update_category, update_category_translations, or delete_category with dryRun: true
  3. Review the preview and product counts
  4. Apply only after the intended change is clear
  5. Run list_categories again to verify

Backend category support currently covers:

  • base name
  • imageUrl
  • localized names
  • product-count guarded soft delete (deletedAt)

Backend category support does not currently cover:

  • slug
  • nested parent/child hierarchy
  • sort order
  • active/inactive state
  • restore/undelete workflow

Scripts

  • bun run dev
  • bun run start
  • bun run check