# @apparelhub/mcp-server

Run a custom-merch store from an agent: design, build products, list on every channel, fulfill.

- **Type:** MCP server
- **Trust:** 85/100 (A), scored on the package rubric
- **Verification:** verified (build provenance)
- **Version:** 0.15.2
- **Author:** io.github.ApparelHub-AI
- **License:** MIT
- **npm:** @apparelhub/mcp-server
- **Endpoints:** streamable-http https://mcp.apparelhub.ai
- **Source:** https://github.com/ApparelHub-AI/apparelhub-mcp
- **Endpoint health:** reachable (last checked 2026-10-10T07:02:03.437Z, 1 sample) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

85/100 (A), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- npm trusted publishing (OIDC): yes
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-10-10T18:32:31.281Z
- **Version scanned:** 0.15.2
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `analytics_summary` — Headline order/merch KPIs for a date range (gross revenue, orders, units, AOV, COGS,
- `analytics_timeseries` — KPI trend series over a date range, bucketed by day, week, or month (zero-filled). Each
- `analytics_breakdown` — Aggregate KPIs broken down by one dimension: product_type, sales_channel,
- `analytics_ops` — Operational health for a date range: fulfillment velocity (payment→submit→ship→deliver
- `analytics_portfolio` — Cross-client portfolio: per-workspace (per-client) KPIs plus rolled-up totals — the
- `get_api_reference` — Discover the full ApparelHub agent API: returns a compact index of every
- `api_request` — Escape hatch: make an authenticated request to any ApparelHub agent API
- `browse_catalog`
- `get_garment_details` — Full detail for one garment: the variant matrix (colors/sizes/costs), print templates, ApparelHub pricing floor, and quality tier. Read-only.
- `find_garments`
- `recommend_garment` — Recommend a garment type for a design/use-case, encoding ApparelHub's garment trade-offs (BC 3001 vs Comfort Colors, budget vs premium, pricing floors). Returns
- `list_catalog_providers` — List the fulfillment providers this account can browse catalogs from. Use this to discover valid `provider` values for browse_catalog / get_garment_details — th
- `channel_performance` — What the sales channel reports about each of your listings: impressions, clicks,
- `channel_opportunities` — The listings wasting the most demand: proven traffic, broken conversion, ranked by
- `channel_coverage` — Which of your connected sales channels report performance data, and which metrics
- `listing_changes` — What has been changed on your listings, and whether it worked. The other
- `describe_listing_attributes` — Discover the channel-defined listing fields you can set — TikTok product
- `set_listing_attributes` — Set channel-defined listing attributes on ONE product (Material, Style,
- `set_channel_settings` — Set SHOP-WIDE listing settings for one connected sales channel: product
- `import_size_measurements` — Get the blank's real per-size measurements from its fulfillment provider, in
- `list_collections` — List a store's product collections (categories/groups), each with its product count and per-channel sync status. Read-only.
- `get_collection` — Get a single collection by uuid, including its member products and per-channel sync status. Read-only.
- `create_collection` — Create a new (empty) collection in a store. Provide a name (sent to the platform as the collection title) and an optional description. Add products with add_pro
- `update_collection` — Update a collection's name and/or description. A name change is sent to the platform as the collection title. Editing a synced collection marks it for re-sync.
- `delete_collection` — Delete a collection. If it is synced to any sales channel, the platform unsyncs it there first. The member products are NOT deleted, only the grouping.
- `add_products_to_collection` — Add one or more products (by uuid) to a collection. The products must already be associated with the store. If the collection is synced to a channel, the produc
- `remove_product_from_collection` — Remove a single product from a collection (the product itself is not deleted). If the collection is synced to a channel, the product is removed there too.
- `sync_collection` — Sync a collection to a sales channel (creates/updates the channel-side category and places all products in it that are already synced there). integration_uuid s
- `generate_image` — Generate a design image (split primitive of design_apparel). Returns the raw generated image; follow with process_transparency for apparel that needs a transpar
- `process_transparency` — Key a solid background out of a generated image to true RGBA transparency (flood-fill + enclosed-region sweep + tight crop) and upload the result. Runs server-s
- `verify_design_text` — Read the text in a design with local OCR (tesseract) when available, so the agent can confirm spelling. Advisory: pass expected_text to get a match verdict, oth
- `design_apparel`
- `iterate_design` — Generate a variation of an existing design via img2img (e.g. "make the cactus blue"). Almost every source supports editing; only Google Imagen 4 is text-to-imag
- `fit_aspect`
- `archive_design` — Archive a design so it stops showing in the default gallery listing. Reversible with
- `restore_design` — Restore a previously archived design so it appears in the default gallery listing again.
- `delete_design` — Permanently delete a design and its stored files. Irreversible. Refused with
- `report_fulfillment_issue` — Report a post-sale fulfillment issue (defect) on an order: the item does not match the
- `list_fulfillment_issues` — List fulfillment issues. With order_uuid: that order's issues plus its report-window
- `check_fulfillment_issue` — Fetch one fulfillment issue in full (affected items, evidence attachments, provider claim

## Install

**Verdict: install** — No blocking findings and no open coverage gaps — safe to install as configured.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@apparelhub/mcp-server\"\n      ],\n      \"env\": {\n        \"APPARELHUB_API_KEY\": \"<YOUR_APPARELHUB_API_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `APPARELHUB_API_KEY` — Apparelhub API Key (required)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 1 credential (1 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; runs locally and hosted.
- Floor 58, ceiling 58 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/%40apparelhub%2Fmcp-server
- Install plan: https://forgeregistry.com/api/v1/packages/%40apparelhub%2Fmcp-server/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/%40apparelhub%2Fmcp-server
- HTML page: https://forgeregistry.com/registry/%40apparelhub%2Fmcp-server
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
