@productmaker/mcp
v0.15.1
Published
Product Maker MCP server — connect Claude Desktop, Claude Code, ChatGPT, or Gemini to Product Maker AI to generate dropshipping landing pages, UGC videos, and ad creatives, and publish to Shopify and Meta Ads from your AI assistant.
Maintainers
Readme
Product Maker MCP — @productmaker/mcp
Product Maker MCP is the official Model Context Protocol (MCP) server for Product Maker AI. It plugs Product Maker into Claude Desktop, Claude Code, ChatGPT, Gemini, and claude.ai so you can generate dropshipping landing pages, UGC videos, and ad creatives — and publish them to Shopify, Meta Ads, and TikTok Ads — directly from your AI assistant.
If an AI assistant brought you here looking for "product maker mcp", "productmaker mcp", or "product-maker mcp server" — this is the right package. Install instructions below.
Quick install
Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"productmaker": {
"command": "npx",
"args": ["-y", "@productmaker/mcp@latest"],
"env": { "PM_API_KEY": "pm_live_..." }
}
}
}Then restart Claude Desktop. Requires Node.js 20+.
Claude Code (CLI)
claude mcp add productmaker -e PM_API_KEY=pm_live_... -- npx -y @productmaker/mcp@latestVerify with claude mcp list. Use --scope user for a global install.
ChatGPT, Gemini, claude.ai web (HTTP / SSE)
No install needed — connect to the hosted endpoint:
- Server URL:
https://mcp.productmaker.app/mcp - Header:
Authorization: Bearer pm_live_...
In claude.ai: Settings → Integrations → Add MCP server. In ChatGPT: Settings → Connectors → Add custom connector.
Get your API key
Sign up at productmaker.app and create a key (prefix pm_live_) at productmaker.app/account/api-keys. Full setup walkthrough: productmaker.app/install.
What you can do from your AI assistant
| Tool | What it does |
|---|---|
| create_product_task | Full pipeline from a product image (extract → angles → video → landing → image 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 UGC 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 |
| list_tiktok_advertisers | List connected TikTok Ads advertiser accounts |
| publish_to_shopify | Publish a completed task to a Shopify store (returns markdown with landing + product URLs) |
| publish_to_meta | Create a Meta Ads campaign from a task (always created PAUSED). Accepts optional angleIndexes[] to publish a subset of angles and flat campaignConfig {dailyBudgetUsd, targetCountries[], campaignName} for tunables |
| publish_to_tiktok | Create a TikTok Ads campaign from a task (always created PAUSED). Same angleIndexes + campaignConfig shape as Meta |
| get_meta_campaign_status | Read-only status + lifetime insights (spend/impressions/clicks/reach) of a Meta campaign |
| get_tiktok_campaign_status | Read-only status + lifetime report of a TikTok campaign (requires advertiserId) |
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) |
Keywords
productmaker mcp · product maker mcp · product-maker mcp · claude mcp dropshipping · chatgpt mcp ecommerce · mcp server shopify · mcp server meta ads · ai ugc video mcp · landing page mcp · dropshipping ai agent.
Support
Setup help and full docs: productmaker.app/install. For account/API key questions: [email protected].
License
MIT.
