@productmaker/mcp 12.2.5 → 12.2.6
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 +19 -0
- package/dist/http.js +801 -29
- package/dist/stdio.js +801 -29
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -216,6 +216,15 @@ its service-page editor, including its generation progress.
|
|
|
216
216
|
| `import_product_controls` | Add selected store products to financial control. They remain `no_costing` until their real costs are saved. |
|
|
217
217
|
| `set_product_costing` | Save seller-provided supplier cost, freight and estimated cancellation/return rates; store price stays canonical and missing costs cannot be invented. |
|
|
218
218
|
| `report_product_counts` | Save only seller-observed daily counts as the final override. Omitted counts remain unmeasured; zero is an explicit observation. |
|
|
219
|
+
| `get_dropi_status` | Read whether the seller's Dropi account is connected and how far its order read got. Connecting or disconnecting is NOT done here — the Dropi key is pasted in Integrations, and saying so is part of the answer when `connected: false` comes back |
|
|
220
|
+
| `sync_dropi_orders` | Pull real orders from the seller's connected Dropi account into the ledger. Idempotent: re-reading the same window updates lines instead of duplicating them. If the answer stays `pending`, the read continues in the background — say so and offer `get_dropi_status` again instead of claiming a total that has not finished |
|
|
221
|
+
| `create_manual_product` | Create a product by hand in financial control: no store, no file, no task. Ask for ALL the data first — supplier cost and freight without inventing (a zero would make it infinitely profitable); the two rates are 0–1 proportions and the seller's estimate. Retrying with the same data returns the same product; the derived `requestId` never duplicates |
|
|
222
|
+
| `list_unmatched_products` | Read the products an import brought that still have no owner in the ledger. Their orders are already stored — this lists who needs `resolve_unmatched_product` next |
|
|
223
|
+
| `resolve_unmatched_product` | Give an owner to an unrecognized imported product: with `productControlId` the alias hangs off that record and its orders move there; without it a new record is created under `label`. Neither path discards orders — there is no "not mine" route because the information already came in |
|
|
224
|
+
| `list_linkable_campaigns` | Read the Meta/TikTok campaigns available to tie to a product, so identifiers never have to be typed. Empty means the ad account is not connected or has no campaigns — connecting happens in Integrations, not here |
|
|
225
|
+
| `link_product_campaign` | Tie an ad campaign to a product in financial control; its spend then feeds the product's cost-per-sale. The identifiers come from `list_linkable_campaigns` — never invent them. The product is said ONE way: `productControlId`, or `shopDomain` + `shopifyProductId` |
|
|
226
|
+
| `delete_monthly_expense` | Delete one fixed expense of the month by month + label. To change the amount do NOT delete — `set_monthly_expense` with the new value is the correction |
|
|
227
|
+
| `remove_product_control` | Remove a product from financial control together with its costs and its linked campaign. The id comes from `get_product_control` — confirm by NAME which product leaves |
|
|
219
228
|
| `get_actor_voice_capabilities` | Read whether custom voice cloning is enabled for an actor and which countries/presentations the draft may use. Read-only, free — call before `quote_actor_voice` |
|
|
220
229
|
| `quote_actor_voice` | Quote the paid custom-voice preview for an actor from a voice `draft` (prompt, country, presentation, tone…). Read-only, free |
|
|
221
230
|
| `generate_actor_voice_preview` | Start the paid contextual voice preview for a quoted draft (Gemini TTS reference → voice clone). Requires the fresh `acceptedQuoteId` and a unique `requestKey` for retry safety. Costs credits |
|
|
@@ -328,6 +337,16 @@ The `base64` field was removed. MCP JSON-RPC transports truncate large tool argu
|
|
|
328
337
|
|
|
329
338
|
## Version history
|
|
330
339
|
|
|
340
|
+
### 12.2.0 — Financial-control surfaces for chat
|
|
341
|
+
|
|
342
|
+
Nine financial-control tools open to chat: Dropi status and idempotent order
|
|
343
|
+
sync, manual product creation with a content-derived `requestId` (a retry
|
|
344
|
+
never duplicates), unmatched-product listing/resolution, campaign linking,
|
|
345
|
+
monthly-expense deletion and product removal. Dropi connect/disconnect stays
|
|
346
|
+
out on purpose: the integration key is a secret pasted in Integrations. All
|
|
347
|
+
nine are MCP-only (`whatsapp: "unavailable"`) and behind the `financial-control`
|
|
348
|
+
admin feature.
|
|
349
|
+
|
|
331
350
|
### 12.1.7 — Service website challenge recognition
|
|
332
351
|
|
|
333
352
|
- Recognize SiteGround robot challenge pages before accepting service website source content.
|