Skip to main content
Glama
tekweld-ecommerce-mcp

tekweld-ecommerce-mcp

tekweld-ecommerce-mcp

MCP server that wraps the Tekweld ecommerce test API (https://ecommercetest.tekweld.com/api/v1).

Tools

  • get_mega_menu — raw payload from GET /home/get_mega_menu (nested category/collection tree).

  • list_menu_items — same data, flattened into a simple list with a readable path (e.g. Men > Shirts > Casual), link, login-required flag, and whether it has sub-items.

  • call_ecommerce_api — generic passthrough for any other endpoint under the same base URL. Pass path, method, and optional query / body / headers.

Related MCP server: Procore MCP Server

Setup

cd tekweld-ecommerce-mcp
npm install
npm run build

This produces build/index.js, a stdio MCP server.

Run standalone (for testing)

npm start

It will print tekweld-ecommerce-mcp server running on stdio to stderr and wait for MCP JSON-RPC messages on stdin.

Connect to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "tekweld-ecommerce": {
      "command": "node",
      "args": ["/absolute/path/to/tekweld-ecommerce-mcp/build/index.js"]
    }
  }
}

Restart Claude Desktop, then ask it to use the get_mega_menu or list_menu_items tool.

Connect to Claude Code

claude mcp add tekweld-ecommerce -- node /absolute/path/to/tekweld-ecommerce-mcp/build/index.js

Run claude mcp list afterward to confirm it registered, then start a new claude session (existing sessions won't pick it up) and check /mcp.

Deploying as a remote server (for Cowork / claude.ai custom connectors)

Cowork and claude.ai can only reach remote MCP servers (a public HTTPS URL) — they cannot see a local stdio server on your machine, even one registered in claude_desktop_config.json. To use these tools from Cowork or claude.ai, deploy the HTTP entrypoint (src/http.ts / build/http.js) somewhere public. Render's free tier works well for this:

  1. Push this folder to a GitHub repo (Render deploys from a repo, not a local folder).

  2. On render.com, New → Blueprint, point it at your repo. It will read render.yaml in this folder and configure everything automatically (build command, start command, health check).

    • Alternatively, without the blueprint: New → Web Service → connect repo → Build Command npm install && npm run build → Start Command npm run start:http.

  3. Deploy. Render gives you a URL like https://tekweld-ecommerce-mcp.onrender.com.

  4. Confirm it's up: curl https://<your-app>.onrender.com/health should return {"status":"ok",...}.

  5. In Claude, go to Customize > Connectors (claude.ai) → "+" → "Add custom connector" → enter https://<your-app>.onrender.com/mcp as the server URL.

  6. Enable it for a conversation via the "+" button → Connectors, then ask Claude to use get_mega_menu or list_menu_items.

Note: Render's free tier spins the service down after ~15 minutes of inactivity. The first request after a gap will be slow (30-60s) while it wakes back up — that's normal, not a bug.

Run the HTTP server locally (optional, for testing before deploy)

npm run build
npm run start:http

This starts an Express server on $PORT (defaults to 3000) with:

  • POST /mcp — the MCP Streamable HTTP endpoint (stateless mode)

  • GET /health — health check

Extending

The API has more endpoints under /home/..., /product/..., etc. Rather than hardcoding each one, use call_ecommerce_api to hit them directly, or add a new server.registerTool(...) block in src/tools.ts (shared by both the stdio and HTTP entrypoints) following the pattern used for get_mega_menu.

If the API later requires an auth token, pass it via the headers argument of call_ecommerce_api, or add an Authorization header default in fetchJson() in src/tools.ts.

Available Tools

3 tools
call_ecommerce_apiCall any Tekweld ecommerce API endpointA

Generic passthrough tool for calling other endpoints under https://ecommercetest.tekweld.com/api/v1. Use this to reach endpoints not covered by a dedicated tool. Provide a path relative to the base URL (e.g. '/home/get_banners'), an HTTP method, and optional query params / JSON body / headers.

Inputs: path (required), body, query, method, +1 more.

get_mega_menuGet mega menuA

Fetches the raw mega menu payload from the Tekweld ecommerce test API (GET /home/get_mega_menu). Returns the full nested collections tree as-is.

Inputs: no named parameters.

list_menu_itemsList mega menu items (flattened)A

Fetches the mega menu and returns a flattened, human-readable list of every menu item with its hierarchy path (e.g. 'Men > Shirts > Casual'), link, and whether it requires login or has sub-items. Easier to scan than the raw tree.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 3 tools

    Disambiguation4/5

    The three tools are clearly distinct: `get_mega_menu` and `list_menu_items` serve different presentation needs for menu data, while `call_ecommerce_api` is a generic fallback. No overlapping functionality, though the two menu tools share a domain.

    Naming Consistency4/5

    All tool names follow a consistent `verb_noun` pattern using snake_case. However, `call_ecommerce_api` is less specific than the menu-focused names, causing a slight deviation in specificity.

    Tool Count3/5

    With only 3 tools, the server feels thin for a general ecommerce API, but the inclusion of a generic passthrough mitigates the need for many dedicated tools. Still, it is borderline small.

    Completeness2/5

    The server provides dedicated tools only for the menu domain, lacking tools for products, cart, checkout, etc. The generic `call_ecommerce_api` fills some gaps but leaves the surface feeling incomplete for typical ecommerce workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers