@productmaker/mcp 12.1.7 → 12.1.8

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
@@ -14,67 +14,86 @@ MCP 6.7.0 also carries optional per-angle and script-regeneration `narrativeSele
14
14
  [![npm downloads](https://img.shields.io/npm/dm/@productmaker/mcp.svg)](https://www.npmjs.com/package/@productmaker/mcp)
15
15
  [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
16
16
 
17
- **ProductMaker MCP** is the official **Model Context Protocol (MCP) server** for [ProductMaker](https://productmaker.app), published by BONNIE TECH S.A.S. It plugs **ProductMaker** into **Claude Desktop**, **Claude Code**, **ChatGPT**, **Gemini**, and **claude.ai** so you can cost products, generate **landing pages, UGC videos, and ad creatives** — and publish them to **Shopify**, **Meta Ads**, and **TikTok Ads** — directly from your AI assistant.
17
+ **ProductMaker MCP** is the official **Model Context Protocol (MCP) server** for [ProductMaker](https://productmaker.app), published by BONNIE TECH S.A.S. It plugs **ProductMaker** into **Claude**, **ChatGPT**, **Claude Code**, and **Gemini CLI** so you can cost products, generate **landing pages, UGC videos, and ad creatives** — and publish them to **Shopify**, **Meta Ads**, and **TikTok Ads** — directly from your AI assistant.
18
18
 
19
19
  > 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.
20
20
 
21
21
  ## Quick install
22
22
 
23
- ### Claude Desktop (local-only stdio/direct API; `PM_API_KEY`)
23
+ Use the hosted MCP with **OAuth**. New connections need no API key, local server,
24
+ or package download. The [illustrated install guide](https://productmaker.app/install)
25
+ keeps manual instructions available alongside the supported shortcuts.
24
26
 
25
- This snippet is for local stdio/direct API use only. It is not the hosted OAuth connection.
27
+ - **Server URL:** `https://mcp.productmaker.app/mcp`
28
+ - Click **Authenticate**, sign in to ProductMaker, and approve access.
26
29
 
27
- Add this to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
30
+ ### Claude
28
31
 
29
- ```json
30
- {
31
- "mcpServers": {
32
- "productmaker": {
33
- "command": "npx",
34
- "args": ["-y", "@productmaker/mcp@latest"],
35
- "env": { "PM_API_KEY": "pm_live_..." }
36
- }
37
- }
38
- }
39
- ```
32
+ [Connect ProductMaker](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=ProductMaker&connectorUrl=https%3A%2F%2Fmcp.productmaker.app%2Fmcp)
33
+ opens Claude's prefilled custom-connector form. Review it, add the connector, and
34
+ authenticate. You can also paste the URL into Claude's custom-connector settings.
40
35
 
41
- Then restart Claude Desktop. Requires Node.js 18+.
36
+ ### ChatGPT
42
37
 
43
- ### Claude Code (local-only stdio/direct API; `PM_API_KEY`)
38
+ Open **Plugins → Add → Create MCP app**, enter **ProductMaker** and the server URL,
39
+ and keep **OAuth**. Review the acknowledgement, create the app, sign in, and approve
40
+ access. Screenshots are available in the install guide. Availability and labels
41
+ depend on the app version, plan, and workspace policy. An installation request in
42
+ chat is not proof of plugin installation or official directory publication.
44
43
 
45
- This command is for local stdio/direct API use only. It is not the hosted OAuth connection.
44
+ ### Claude Code
45
+
46
+ With the same Claude subscription account, a connector added in Claude can appear
47
+ in Claude Code's `/mcp`. Otherwise use its HTTP OAuth setup:
46
48
 
47
49
  ```bash
48
- claude mcp add productmaker -e PM_API_KEY=pm_live_... -- npx -y @productmaker/mcp@latest
50
+ claude mcp add --scope user --transport http productmaker https://mcp.productmaker.app/mcp
49
51
  ```
50
52
 
51
- Verify with `claude mcp list`. Use `--scope user` for a global install.
53
+ Open `/mcp`, select ProductMaker, and authenticate.
52
54
 
53
- ### ChatGPT, Gemini, claude.ai web, Claude Desktop custom connector (hosted OAuth + legacy compatibility)
55
+ ### Gemini CLI
54
56
 
55
- No install needed — connect to the hosted endpoint:
57
+ This flow is for Gemini CLI in a terminal:
56
58
 
57
- - **Server URL:** `https://mcp.productmaker.app/mcp`
59
+ ```bash
60
+ gemini mcp add --scope user --transport http productmaker https://mcp.productmaker.app/mcp
61
+ ```
58
62
 
59
- Then click **Authenticate**, sign in to Product Maker, and approve access.
63
+ Run `/mcp auth productmaker`, sign in, and approve access. This does not install a
64
+ connector in the Gemini web or mobile app.
60
65
 
61
- Existing hosted connections created with a ProductMaker API key remain supported
62
- during the compatibility period, so users do not lose access or need to rebuild
63
- their connector immediately. New connections should always use OAuth; once the
64
- client supports it, replace the saved connection with the clean URL above.
66
+ After authenticating, enable ProductMaker in the conversation and ask it to list
67
+ your recent tasks without creating or modifying anything. A successful tool call
68
+ with tasks or an empty list confirms access; saving settings alone does not.
65
69
 
66
- In claude.ai: _Settings → Integrations → Add MCP server_.
67
- In ChatGPT: _Plugins (sidebar) → Add → Create MCP app_ (OAuth).
68
- In Claude Desktop: _Settings → Connectors → Add custom connector_.
70
+ ### Legacy local stdio/direct API compatibility (`PM_API_KEY`)
69
71
 
70
- If your saved connection still uses an API key, it continues to use the latest
71
- MCP tools through the legacy compatibility path. When convenient, replace it
72
- with `https://mcp.productmaker.app/mcp` and click **Authenticate**. API keys
73
- remain supported for local stdio and direct API use.
72
+ Already issued credentials remain supported for existing local stdio/direct API
73
+ clients during the compatibility period. This is not the setup for new users.
74
+ Do not paste a legacy key into the hosted URL. New connections should use the
75
+ clean hosted URL and OAuth above; removing key creation from onboarding does not
76
+ revoke existing credentials or remove the backend compatibility path.
74
77
 
75
- ### Local advanced setup (`PM_API_KEY`)
78
+ A saved hosted connector that still carries a ProductMaker API key keeps working
79
+ through the legacy compatibility path during the compatibility period. When
80
+ convenient, replace it with `https://mcp.productmaker.app/mcp` and click
81
+ **Authenticate**; do not paste a legacy key into the hosted URL.
82
+
83
+ ### Local-only features (stdio, `PM_API_KEY`)
84
+
85
+ A few capabilities need the MCP process to run on your own machine, such as
86
+ `import_orders_file` and uploads from local file paths. Those are not part of the
87
+ hosted OAuth connection. Run the local stdio server with an already issued
88
+ `PM_API_KEY` (requires Node.js 18+):
89
+
90
+ ```bash
91
+ claude mcp add productmaker -e PM_API_KEY=pm_live_... -- npx -y @productmaker/mcp@latest
92
+ ```
76
93
 
77
- `PM_API_KEY` is only for the local stdio server, local/advanced setup, or direct API calls. It is not a credential for the hosted OAuth connector and must not be pasted into the hosted MCP URL. Sign up at [productmaker.app](https://productmaker.app) and create a key (prefix `pm_live_`) at [productmaker.app/account/api-keys](https://productmaker.app/account/api-keys). Full setup walkthrough: [productmaker.app/install](https://productmaker.app/install).
94
+ For Claude Desktop, register the same `npx -y @productmaker/mcp@latest` command
95
+ and `PM_API_KEY` environment variable under `mcpServers`. New users should keep
96
+ using the hosted URL and OAuth above for everything else.
78
97
 
79
98
  Hosted OAuth runtime reference: [MCP OAuth (Auth0) SOP](../../.agent/SOP/mcp-oauth-auth0.md). End users only provide the hosted URL above; the following variables are operator-managed by the Cloud Run deployment. `loadMcpOAuthConfig` requires every variable in this table explicitly; it does not supply runtime defaults for the hosted OAuth configuration:
80
99
 
package/dist/http.js CHANGED
@@ -6190,7 +6190,13 @@ var RapidScriptBlueprintShotForApproval = z30.object({
6190
6190
  durationSec: z30.number().positive(),
6191
6191
  role: z30.string().min(1).max(120),
6192
6192
  text: z30.string().min(1).max(320),
6193
- visualIntent: z30.string().min(1).max(500).optional(),
6193
+ // No per-field cap: the planner writes it uncapped, the status response
6194
+ // returns it uncapped and the editor echoes it back. The server never
6195
+ // persists this value (unedited approval keeps the STORED shots, an edit
6196
+ // strips visualIntent), so a cap only 400ed the server's own script
6197
+ // (509–708 chars seen in prod). Remaining bound: ≤10 shots and the
6198
+ // global request bodyLimit.
6199
+ visualIntent: z30.string().min(1).optional(),
6194
6200
  variantKey: z30.string().min(1).max(120).optional(),
6195
6201
  targetWords: z30.number().int().positive().optional(),
6196
6202
  minWords: z30.number().int().positive(),
@@ -26144,7 +26150,7 @@ var ApiClient = class {
26144
26150
  };
26145
26151
 
26146
26152
  // src/index.ts
26147
- var MCP_VERSION = "12.1.7";
26153
+ var MCP_VERSION = "12.1.8";
26148
26154
 
26149
26155
  // src/meta-upload-app.ts
26150
26156
  import { readFileSync } from "fs";
package/dist/stdio.js CHANGED
@@ -6212,7 +6212,13 @@ var RapidScriptBlueprintShotForApproval = z30.object({
6212
6212
  durationSec: z30.number().positive(),
6213
6213
  role: z30.string().min(1).max(120),
6214
6214
  text: z30.string().min(1).max(320),
6215
- visualIntent: z30.string().min(1).max(500).optional(),
6215
+ // No per-field cap: the planner writes it uncapped, the status response
6216
+ // returns it uncapped and the editor echoes it back. The server never
6217
+ // persists this value (unedited approval keeps the STORED shots, an edit
6218
+ // strips visualIntent), so a cap only 400ed the server's own script
6219
+ // (509–708 chars seen in prod). Remaining bound: ≤10 shots and the
6220
+ // global request bodyLimit.
6221
+ visualIntent: z30.string().min(1).optional(),
6216
6222
  variantKey: z30.string().min(1).max(120).optional(),
6217
6223
  targetWords: z30.number().int().positive().optional(),
6218
6224
  minWords: z30.number().int().positive(),
@@ -24471,7 +24477,7 @@ var ApiClient = class {
24471
24477
  };
24472
24478
 
24473
24479
  // src/index.ts
24474
- var MCP_VERSION = "12.1.7";
24480
+ var MCP_VERSION = "12.1.8";
24475
24481
 
24476
24482
  // src/meta-upload-app.ts
24477
24483
  import { readFileSync } from "fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productmaker/mcp",
3
- "version": "12.1.7",
3
+ "version": "12.1.8",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "ProductMaker MCP server — cost products, generate landing pages, UGC videos, and ad creatives, and publish to Shopify, Meta Ads, and TikTok Ads.",