tekweld-ecommerce-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tekweld-ecommerce-mcplist menu items for men"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 optionalquery/body/headers.
Related MCP server: Procore MCP Server
Setup
cd tekweld-ecommerce-mcp
npm install
npm run buildThis produces build/index.js, a stdio MCP server.
Run standalone (for testing)
npm startIt 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.jsRun 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:
Push this folder to a GitHub repo (Render deploys from a repo, not a local folder).
On render.com, New → Blueprint, point it at your repo. It will read
render.yamlin 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 Commandnpm run start:http.
Deploy. Render gives you a URL like
https://tekweld-ecommerce-mcp.onrender.com.Confirm it's up:
curl https://<your-app>.onrender.com/healthshould return{"status":"ok",...}.In Claude, go to Customize > Connectors (claude.ai) → "+" → "Add custom connector" → enter
https://<your-app>.onrender.com/mcpas the server URL.Enable it for a conversation via the "+" button → Connectors, then ask Claude to use
get_mega_menuorlist_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:httpThis 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 toolscall_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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON body to send (for POST/PUT/PATCH requests) | |
| path | Yes | Path relative to the base URL, e.g. '/home/get_mega_menu' or '/product/list' | |
| query | No | Query string parameters to append to the URL | |
| method | No | HTTP method to use | GET |
| headers | No | Extra headers to send, e.g. an Authorization token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool acts as a generic HTTP passthrough and lists the parameters that control behavior. However, it does not mention error handling, rate limits, authentication requirements (though headers allow auth token), or the response format. This is adequate but lacks full transparency on potential risks or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each adding essential information without redundancy. The first sentence states the purpose, the second gives usage instructions. Every word earns its place, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain what the response will contain (e.g., JSON). It also lacks information on authentication or error handling. However, since it is a generic passthrough, the response format is inherently variable. The description is adequate but could be more complete by noting that responses are JSON and that errors may be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by contextualizing parameters: it gives the base URL, shows a relative path example, and explains that query/body/headers are optional. This goes beyond the individual schema descriptions by tying them together into a usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a generic passthrough tool for calling endpoints under a specific base URL, intended for endpoints not covered by dedicated tools. It specifies the verb 'call' and resource 'any Tekweld ecommerce API endpoint', distinguishing it from siblings like get_mega_menu and list_menu_items which cover specific endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to reach endpoints not covered by a dedicated tool', providing clear when-to-use guidance and implicit when-not-to-use (when a dedicated tool exists). It also explains what to provide (path, method, query, body, headers), giving comprehensive usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
call_ecommerce_api - First observed
get_mega_menu - First observed
list_menu_items
TDQS
Scored across 3 tools
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
MCP server for Product Management
MCP server to assist with JxBrowser development.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server to help manage a WHMCS installation.623920MIT
- AlicenseAqualityAmaintenanceMCP Server to communite with the Procore API79MIT
- AlicenseAqualityDmaintenanceA standalone MCP server for API debugging, login authentication, API configuration management, and indexed API execution.58MIT
- FlicenseNot gradedqualityCmaintenanceConsumer-side MCP server for Webless storefront operations, enabling catalog browsing, product search, and order lookup via tools.-