@post-ripple/mcp 0.9.0 → 0.10.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.
Files changed (2) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -352,18 +352,18 @@ const captionStyleSchema = z
352
352
  y: z.number().min(0).max(1).optional(),
353
353
  })
354
354
  .describe("Caption styling; defaults to white TikTok-bold text with a black outline");
355
- register("create_video", "Render a short-form (9:16) video from library ingredients. Two types: 'hook_demo' stitches a hook clip (list_hooks) in front of your demo/product video (a completed library video via demoVideoId, or a raw upload via demoFileId from get_video_upload_url), with optional background music (musicId from list_music). 'green_screen_meme' composites a green-screen clip (list_green_screens) over a background image (list_backgrounds). Both take an optional caption with styling. Rendering is asynchronous — poll get_creation with the returned creationId until 'completed', then publish resultVideoId with schedule_post. Uses one 'creations' credit from the plan.", {
355
+ register("create_video", "Render a short-form (9:16) video from library ingredients. Two types: 'hook_demo' takes a hook clip (list_hooks) and either stitches it in front of your demo/product video (a completed library video via demoVideoId, or a raw upload via demoFileId from get_video_upload_url) or — when BOTH demo params are omitted — renders the hook clip ALONE with the caption burned onto it (caption required in that mode; useful for posting a library clip with on-video text). Optional background music via musicId from list_music. 'green_screen_meme' composites a green-screen clip (list_green_screens) over a background image (list_backgrounds). Both take an optional caption with styling. Rendering is asynchronous — poll get_creation with the returned creationId until 'completed', then publish resultVideoId with schedule_post. Uses one 'creations' credit from the plan.", {
356
356
  ...orgParam,
357
357
  type: z.enum(["hook_demo", "green_screen_meme"]),
358
358
  title: z.string().optional().describe("Library title for the finished video"),
359
- caption: z.string().optional().describe("Text overlaid on the video (hook part only for hook_demo)"),
359
+ caption: z.string().optional().describe("Text overlaid on the video (over the hook part when a demo follows; over the whole clip in hook-only mode, where it is required)"),
360
360
  captionPosition: z.enum(["top", "middle", "bottom"]).optional(),
361
361
  captionStyle: captionStyleSchema.optional(),
362
362
  hookId: z.string().optional().describe("hook_demo: hook clip id from list_hooks (required)"),
363
363
  demoVideoId: z
364
364
  .string()
365
365
  .optional()
366
- .describe("hook_demo: a COMPLETED library video id (list_videos) to play after the hook. Exactly one of demoVideoId/demoFileId."),
366
+ .describe("hook_demo: a COMPLETED library video id (list_videos) to play after the hook. At most one of demoVideoId/demoFileId; omit both for a hook-only caption-burn render."),
367
367
  demoFileId: z
368
368
  .string()
369
369
  .optional()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@post-ripple/mcp",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "MCP server that lets AI agents (Claude Code, Codex, opencode) manage a Post Ripple workspace: content, scheduling, publishing, and analytics.",
5
5
  "type": "module",
6
6
  "bin": {