@productmaker/mcp 1.13.0 → 1.14.0
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 +1 -0
- package/dist/http.js +18 -1
- package/dist/stdio.js +18 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -78,6 +78,7 @@ Sign up at [productmaker.app](https://productmaker.app) and create a key (prefix
|
|
|
78
78
|
| `regenerate_video_script` | Re-roll the pending video script (optionally with a different narrative style) |
|
|
79
79
|
| `resolve_pending_action` | Resolve a gate the pipeline is waiting on (product-reference confirmation or angle-review approval) when `get_task_status` returns `pendingUserAction` |
|
|
80
80
|
| `list_shopify_shops` | List connected Shopify stores |
|
|
81
|
+
| `list_shopify_products` | Search products in a connected Shopify store before choosing `targetProductId` for `publish_to_shopify` |
|
|
81
82
|
| `list_meta_ad_accounts` | List connected Meta ad accounts |
|
|
82
83
|
| `list_tiktok_advertisers` | List connected TikTok Ads advertiser accounts |
|
|
83
84
|
| `publish_to_shopify` | Publish a completed task to a Shopify store (returns markdown with landing + product URLs) |
|
package/dist/http.js
CHANGED
|
@@ -113,7 +113,7 @@ var ApiClient = class {
|
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
// src/index.ts
|
|
116
|
-
var MCP_VERSION = "1.
|
|
116
|
+
var MCP_VERSION = "1.14.0";
|
|
117
117
|
|
|
118
118
|
// src/tools/tasks.ts
|
|
119
119
|
import { z as z2 } from "zod";
|
|
@@ -1695,6 +1695,23 @@ function registerConnectionTools(server, api) {
|
|
|
1695
1695
|
throw translateError(e);
|
|
1696
1696
|
}
|
|
1697
1697
|
});
|
|
1698
|
+
server.tool("list_shopify_products", 'Busca productos en una tienda Shopify conectada para elegir el target de una republicaci\xF3n. Usa el `id` devuelto junto con `publicationMode="existing"` en `publish_to_shopify`. Si `taskId` se proporciona, la respuesta tambi\xE9n indica el producto publicado actualmente para esa tarea y tienda. No modifica Shopify.', z5.object({
|
|
1699
|
+
shopDomain: z5.string().min(3).max(120),
|
|
1700
|
+
query: z5.string().trim().max(120).optional(),
|
|
1701
|
+
taskId: z5.string().uuid().optional()
|
|
1702
|
+
}).shape, async ({ shopDomain, query, taskId }) => {
|
|
1703
|
+
try {
|
|
1704
|
+
const params = new URLSearchParams({
|
|
1705
|
+
shopDomain
|
|
1706
|
+
});
|
|
1707
|
+
if (query) params.set("query", query);
|
|
1708
|
+
if (taskId) params.set("taskId", taskId);
|
|
1709
|
+
const r = await api.getJson(`/v1/shopify/products?${params.toString()}`);
|
|
1710
|
+
return asText(r);
|
|
1711
|
+
} catch (e) {
|
|
1712
|
+
throw translateError(e);
|
|
1713
|
+
}
|
|
1714
|
+
});
|
|
1698
1715
|
server.tool("list_meta_ad_accounts", "Lista las cuentas publicitarias de Meta conectadas. Si est\xE1 vac\xEDa, ind\xEDcale al usuario conectar Meta en productmaker.app/integrations.", z5.object({}).shape, async () => {
|
|
1699
1716
|
try {
|
|
1700
1717
|
const r = await api.getJson("/v1/facebook/ad-accounts");
|
package/dist/stdio.js
CHANGED
|
@@ -110,7 +110,7 @@ var ApiClient = class {
|
|
|
110
110
|
};
|
|
111
111
|
|
|
112
112
|
// src/index.ts
|
|
113
|
-
var MCP_VERSION = "1.
|
|
113
|
+
var MCP_VERSION = "1.14.0";
|
|
114
114
|
|
|
115
115
|
// src/tools/tasks.ts
|
|
116
116
|
import { z as z2 } from "zod";
|
|
@@ -1651,6 +1651,23 @@ function registerConnectionTools(server, api) {
|
|
|
1651
1651
|
throw translateError(e);
|
|
1652
1652
|
}
|
|
1653
1653
|
});
|
|
1654
|
+
server.tool("list_shopify_products", 'Busca productos en una tienda Shopify conectada para elegir el target de una republicaci\xF3n. Usa el `id` devuelto junto con `publicationMode="existing"` en `publish_to_shopify`. Si `taskId` se proporciona, la respuesta tambi\xE9n indica el producto publicado actualmente para esa tarea y tienda. No modifica Shopify.', z5.object({
|
|
1655
|
+
shopDomain: z5.string().min(3).max(120),
|
|
1656
|
+
query: z5.string().trim().max(120).optional(),
|
|
1657
|
+
taskId: z5.string().uuid().optional()
|
|
1658
|
+
}).shape, async ({ shopDomain, query, taskId }) => {
|
|
1659
|
+
try {
|
|
1660
|
+
const params = new URLSearchParams({
|
|
1661
|
+
shopDomain
|
|
1662
|
+
});
|
|
1663
|
+
if (query) params.set("query", query);
|
|
1664
|
+
if (taskId) params.set("taskId", taskId);
|
|
1665
|
+
const r = await api.getJson(`/v1/shopify/products?${params.toString()}`);
|
|
1666
|
+
return asText(r);
|
|
1667
|
+
} catch (e) {
|
|
1668
|
+
throw translateError(e);
|
|
1669
|
+
}
|
|
1670
|
+
});
|
|
1654
1671
|
server.tool("list_meta_ad_accounts", "Lista las cuentas publicitarias de Meta conectadas. Si est\xE1 vac\xEDa, ind\xEDcale al usuario conectar Meta en productmaker.app/integrations.", z5.object({}).shape, async () => {
|
|
1655
1672
|
try {
|
|
1656
1673
|
const r = await api.getJson("/v1/facebook/ad-accounts");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@productmaker/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Product Maker MCP server — cost products, generate dropshipping landing pages, UGC videos, and ad creatives, and publish to Shopify and Meta Ads from Claude, ChatGPT, or Gemini.",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"tsx": "^4.16.0",
|
|
64
64
|
"typescript": "^7.0.2",
|
|
65
65
|
"vitest": "^2.1.9",
|
|
66
|
-
"@packages/
|
|
67
|
-
"@packages/
|
|
66
|
+
"@packages/types": "0.1.0",
|
|
67
|
+
"@packages/product-economics": "0.1.0"
|
|
68
68
|
},
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|