@productmaker/mcp 2.3.2 → 2.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -70,9 +70,11 @@ Sign up at [productmaker.app](https://productmaker.app) and create a key (prefix
70
70
  | `get_task_status` | Check task progress (optional `waitSeconds` for near-sync polling) |
71
71
  | `list_tasks` | List recent tasks |
72
72
  | `edit_task_draft` | Edit angle / pain point / persona before generation |
73
+ | `create_service_video` | Video for a *service* built from its landing page URL. **Paid action** — `automatic` generates directly, `guided` returns concepts to approve via `resolve_pending_action` |
73
74
  | `generate_video_creative` | Standalone UGC video creative |
74
75
  | `generate_free_video` | One free-form video from an exact prompt/script, optionally with a reference image (async: returns a `taskId`) |
75
76
  | `generate_image_creatives` | Standalone image creatives (multiple variants) |
77
+ | `edit_image_creative` | Fix ONE already-generated image of a creatives task (pick it with `variantIndex`, describe the change in `instruction`) without regenerating the whole set. **Paid action** — charges a single image; requires the task to be `done` |
76
78
  | `generate_landing` | Standalone landing page |
77
79
  | `get_video_script` | Read the pending video script when a task was created with script review paused (returns scenes + per-scene word limits) |
78
80
  | `approve_video_script` | Approve the video script (with optional per-scene edits); render starts and consumes credits |
@@ -83,10 +85,13 @@ Sign up at [productmaker.app](https://productmaker.app) and create a key (prefix
83
85
  | `list_shopify_shops` | List connected Shopify stores |
84
86
  | `list_shopify_products` | Search products in a connected Shopify store before choosing `targetProductId` for `publish_to_shopify` |
85
87
  | `list_meta_ad_accounts` | List connected Meta ad accounts |
88
+ | `list_meta_destinations` | List Meta Business portfolios, ad accounts per portfolio, and Facebook Pages; use the returned IDs to choose the exact publication destination |
89
+ | `request_meta_media_upload` | Create a one-click ProductMaker upload page for up to ten mixed image/video files on the user's laptop; ChatGPT may attach optional `files` references for the UI bridge, but the MCP never downloads them and still uses the secure ProductMaker page |
90
+ | `check_meta_media_upload` | Check whether the user finished the browser upload and return every owner-scoped staged asset with its media kind |
86
91
  | `list_tiktok_advertisers` | List connected TikTok Ads advertiser accounts |
87
92
  | `publish_to_shopify` | Publish a completed task to a Shopify store (returns markdown with landing + product URLs) |
88
- | `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 |
89
- | `publish_creatives_to_meta` | Group creatives from several tasks (or raw media) into ONE paused Meta campaign across multiple ad sets |
93
+ | `publish_to_meta` | Create a Meta Ads campaign from a task (always PAUSED) after selecting exact `portfolioId`, `adAccountId`, and `pageId` with `list_meta_destinations` |
94
+ | `publish_creatives_to_meta` | Group task creatives or user media into ONE paused Meta campaign; user media is staged on ProductMaker's CDN and removed after successful publication or TTL expiry |
90
95
  | `publish_to_tiktok` | Create a TikTok Ads campaign from a task (always created PAUSED). Same `angleIndexes` + `campaignConfig` shape as Meta |
91
96
  | `get_meta_campaign_status` | Read-only status + lifetime insights (spend/impressions/clicks/reach) of a Meta campaign |
92
97
  | `get_tiktok_campaign_status` | Read-only status + lifetime report of a TikTok campaign (requires `advertiserId`) |
@@ -96,6 +101,31 @@ Sign up at [productmaker.app](https://productmaker.app) and create a key (prefix
96
101
  | `start_dropshipping_project` | Start or resume a guided dropshipping project. Idempotent, costs no credits |
97
102
  | `cost_dropshipping_project` | Save the project's costing inputs (the backend recomputes the canonical result and owns versioning) |
98
103
  | `guide_dropshipping_launch` | Read-only launch guidance: the project's phase and the single computed `nextAction`. Never activates Meta |
104
+ | `list_actors` | List the user's saved personajes (AI-generated people who can star in videos and images). Returns the `id` to pass as `actorId`. Read-only, free |
105
+
106
+ ### Uploading personal media from a remote chat
107
+
108
+ When a user says “sube estos archivos de mi Desktop a Meta”, the hosted MCP
109
+ cannot open the laptop filesystem. Call `request_meta_media_upload` with its
110
+ default `mediaKind: "mixed"`; it returns a secure one-click ProductMaker page
111
+ for up to ten images and videos. In ChatGPT the tool may also receive top-level
112
+ `files` references from the host, but ProductMaker treats them only as UI
113
+ bridge metadata: it never downloads those URLs and it still requires the user
114
+ to complete the secure upload page. Ask the user to select the files there,
115
+ then call `check_meta_media_upload` with the returned `sessionId`. For every
116
+ reported entry in `assets[]`, use its `mediaKind` as the creative `type` and
117
+ its `stagingAssetId` as:
118
+
119
+ ```json
120
+ { "type": "staged", "stagingAssetId": "..." }
121
+ ```
122
+
123
+ inside `publish_creatives_to_meta`. A partial batch may include only the assets
124
+ that `assets[]` actually reports as uploaded. The browser uploads directly to
125
+ the presigned CDN object; the chat never receives file bytes, base64, or a
126
+ local path, and ProductMaker deletes the staging object after a successful
127
+ paused Meta publication (or via the 24-hour TTL cleanup if the flow is
128
+ abandoned).
99
129
 
100
130
  ## Video duration and winner review
101
131