hertwill-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HERTWILL_API_KEY | No | Hertwill API key (hw_live_...). Enables import list and sync tools. | |
| HERTWILL_MCP_LOG_LEVEL | No | Log level: fatal, error, warn, info, debug, trace | info |
| HERTWILL_MCP_TELEMETRY | No | Set to true to enable opt-in telemetry (no PII collected) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_productsA | Hybrid keyword + semantic search over the Hertwill catalog. Use when the user expresses intent with words or a natural-language query. Do NOT use for filter-only browsing (use list_products) or single-product detail (use get_product). Returns a paginated envelope with items carrying structured price {amount, currency} and bucketed stock; ships_to is not in list items — call get_product for shipping detail. Supplier text is wrapped in <untrusted_supplier_content>. No auth required. |
| list_productsA | Browse and filter the Hertwill catalog without a search query (category, brand, price range, stock status, shipping region). Use for filter-driven enumeration. Do NOT use when the request has keywords or natural-language intent (use search_products), or when the user wants one product's detail (use get_product). Returns a paginated envelope with structured prices and bucketed stock; ships_to is absent from list items — use get_product for shipping. No auth required. |
| get_productA | Return full detail for a single Hertwill product by ID, including variations and shipping coverage (ships_to as ISO country codes). Use when you already have a product ID and need variants or shipping detail. Do NOT use to search (use search_products), browse (use list_products), or score viability (use evaluate_product). Supplier text is wrapped in <untrusted_supplier_content>. No auth required. |
| evaluate_productA | Produce a factual structured viability scorecard for one product — margin inputs, shipping coverage, variant spread, and stock signal. Use when the user wants a comparable decision summary. Do NOT use when the user only wants product details (use get_product), pure margin math (use calculate_margin), or to find candidates first (use search_products). No auth required. |
| calculate_marginA | Pure math utility: given cost, retail, ad spend, and VAT rate, return margin amount, margin %, and break-even ad-spend band. Makes zero API calls. Do NOT use when the user wants a real product evaluation (use evaluate_product) or to find products (use search_products). No auth required. |
| check_healthA | Report server version, Hertwill API reachability, and remaining rate-limit budget for both the public (60/min) and authenticated (300/min) buckets. Use for connectivity and capacity diagnostics. Do NOT use to search products (use search_products). No auth required. |
| list_import_listA | Return the authenticated store's current Hertwill import list, paginated. Use to audit what's staged for sync. Do NOT use to search the catalog (use search_products), stage new products (use add_to_import_list), or check sync status (use get_sync_jobs). Returns a paginated envelope; ships_to is not in list items — use get_product for shipping. Requires HERTWILL_API_KEY. |
| add_to_import_listA | Stage 1-50 Hertwill products into the authenticated store's import list in a single batch. Pass up to 50 product IDs in a single call. Do NOT call this tool in a loop for individual products. Do NOT use before the user has chosen products (use search_products or list_products) or to push staged products to the store (use sync_products). Returns {added, skipped, import_list_size}. Requires HERTWILL_API_KEY. |
| remove_from_import_listA | Remove 1-50 products from the authenticated store's import list in a single batch call. Pass IDs in one call rather than looping. Do NOT use to view the current list (use list_import_list) or to add items (use add_to_import_list). Returns {removed, skipped, import_list_size}. Requires HERTWILL_API_KEY. |
| sync_productsA | Trigger a Shopify or WooCommerce sync for one product already staged in the import list, with a specified markup. Use to push a single staged product to the connected store. Do NOT use to check sync progress (use get_sync_jobs); if the product isn't yet staged, call add_to_import_list first. Returns {sync_job_id, product_id, status: "queued", markup_applied}. Requires HERTWILL_API_KEY. |
| get_sync_jobsA | Return paginated sync job status for the authenticated store. Use to poll or review previously triggered syncs. Do NOT use to trigger a new sync (use sync_products) or to inspect the import list (use list_import_list). Returns a paginated envelope of {sync_job_id, product_id, status, created_at, finished_at, error}. Requires HERTWILL_API_KEY. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| hw-winner-scan | Find winning Hertwill products with high margin potential. Searches the catalog, evaluates top candidates, and calculates margins to produce a ranked shortlist. |
| hw-niche-research | Research profitable niches in the Hertwill catalog. Analyzes categories, brands, and SKU counts to suggest sub-niches worth exploring. |
| hw-eu-winners | Find winning EU-shippable products. Pre-filtered for European fulfillment with VAT-aware margin calculations. |
| hw-seasonal-picks | Source products for an upcoming season or event. Finds themed products and evaluates margin potential. |
| hw-competitor-match | Find Hertwill equivalents to a competitor product. Uses semantic search to surface matching products with factual comparisons. |
| hw-margin-check | Check margin and break-even for a specific product by ID. |
| hw-import-batch | Batch import products to your store. Validates stock and price, shows a confirmation summary, then imports. |
| hw-store-health | Run a full diagnostic on your Hertwill store connection, rate limits, import list, and sync status. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| categories | Current Hertwill category tree. Read once per session instead of calling list_categories. Cached 60 minutes in-process; falls back to last-known-good with stale:true when upstream is unreachable. |
| brands | Current Hertwill brand list. Read once per session instead of calling list_brands. Cached 60 minutes in-process; falls back to last-known-good with stale:true when upstream is unreachable. |
| product-schema | JSON Schema 2020-12 document describing the shape of Hertwill product detail responses. Read to reason about field shapes without making a probe tool call. |
| rate-limits | Bucket structure (60/min public, 300/min authenticated), Retry-After behavior, and mitigation guidance. Read at session start so the agent can quote limits to the user before hitting a 429. |
| eu-shipping | EU VAT bands (20-27%), DDP vs DDU shipping terms, warehouse coverage, and shipping-time expectations. Read before quoting delivery times or pricing to end buyers. |
Latest Blog Posts
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/Hertwill/hw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server