Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@productmaker/mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@productmaker/mcp
MCP server for Product Maker — generate dropshipping creatives and publish to Shopify / Meta from any MCP-compatible AI client.
Install (Claude Desktop)
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (or the equivalent on Windows):
{
"mcpServers": {
"productmaker": {
"command": "npx",
"args": ["-y", "@productmaker/mcp@latest"],
"env": { "PM_API_KEY": "pm_live_..." }
}
}
}Get your API key at https://productmaker.app/account/api-keys.
Install (ChatGPT, Gemini, claude.ai web)
Connect to: https://mcp.productmaker.app/mcp
Header: Authorization: Bearer pm_live_...
Tools
| Tool | What it does |
|---|---|
create_product_task |
Full pipeline from product image (extract → angles → video → landing → creatives) |
get_task_status |
Check task progress (optional waitSeconds for near-sync polling) |
list_tasks |
List recent tasks |
edit_task_draft |
Edit angle / pain point / persona before generation |
generate_video_creative |
Standalone video creative |
generate_image_creatives |
Standalone image creatives (multiple variants) |
generate_landing |
Standalone landing page |
list_shopify_shops |
List connected Shopify stores |
list_meta_ad_accounts |
List connected Meta ad accounts |
publish_to_shopify |
Publish a completed task to a Shopify store |
publish_to_meta |
Create a Meta Ads campaign from a task (always created PAUSED) |
Multiple photos per product
Creative tools accept an images array of 1–5 photos of the same product. The first entry is the hero; the rest are alternate angles. Don't mix different products in one call — that's a separate task each time.
Each entry has exactly one of:
{ "url": "https://..." }— public HTTPS URL (Shopify CDN, Cloudinary, etc.). Use this whenever the photo is already hosted.{ "path": "/Users/maria/Desktop/foto.jpg" }— local filesystem path. The MCP process reads the file from disk and uploads its bytes.~/and%USERPROFILE%are expanded. Only works with the local stdio MCP (npm). The hostedmcp.productmaker.appendpoint rejectspathbecause Cloud Run has no access to your filesystem.
Mixed sources in the same call are fine: [{ "path": "~/Desktop/hero.jpg" }, { "url": "https://..." }].
Breaking change in 0.2.0
The base64 field was removed. MCP JSON-RPC transports truncate large tool arguments (~1 MB) and host-attached chat images never reach the model as raw bytes — base64 in practice never worked. Use path (local MCP) or url (hosted MCP) instead.
Downloading results
get_task_status returns short-lived (1 h) mcp.productmaker.app/assets/... URLs for every image and video. They stream R2 content through the MCP origin so clients with strict allowlists (claude.ai web, ChatGPT) can fetch them. Markdown image URLs auto-render in every major MCP client; videos are clickable download links.
Environment variables
| Var | Default | Required for |
|---|---|---|
PM_API_KEY |
— | stdio (required) |
PM_API_URL |
https://api.productmaker.app |
both |
PORT |
8080 |
http only |
MCP_PROXY_BASE_URL |
https://mcp.productmaker.app |
http only |
PM_PROXY_SECRET |
— | http only (32+ chars; enables asset proxy) |
Support
Issues with the MCP itself: see productmaker.app/install for setup help, or contact Product Maker support.
License
MIT.