@post-ripple/mcp 0.10.0 → 0.11.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 CHANGED
@@ -60,7 +60,7 @@ env = { POSTRIPPLE_API_KEY = "pr_..." }
60
60
  | `list_slideshows` | read | Photo-carousel slideshows |
61
61
  | `list_slideshow_templates` | read | Slideshow layout templates, fonts, and text treatments |
62
62
  | `get_slideshow` | read | One slideshow with per-slide render state and progress |
63
- | `list_posts` | read | Posts with status, approval state, schedule, and errors |
63
+ | `list_posts` | read | Posts with status, approval state (including rejection), schedule, and errors |
64
64
  | `list_reviews` | read | Posts waiting for team approval or changes |
65
65
  | `get_post_metrics` | read | Per-post engagement time series |
66
66
  | `get_account_metrics` | read | Follower growth history |
@@ -80,7 +80,7 @@ env = { POSTRIPPLE_API_KEY = "pr_..." }
80
80
 
81
81
  Notes for agents:
82
82
 
83
- - `schedule_post` and `publish_slideshow` publish to **real** social accounts when the workspace allows direct publishing. If the team has enabled approval, these tools submit review items instead and return `submittedForReview: true`; use `list_reviews` to inspect them, and have an owner/admin approve them from the Post Ripple Review page. Always pass `idempotencyKey`, and pass `tiktokSettings` if the post should be public on TikTok (the default is private/`SELF_ONLY`).
83
+ - `schedule_post` and `publish_slideshow` publish to **real** social accounts when the workspace allows direct publishing. If the team has enabled approval, these tools submit review items instead and return `submittedForReview: true`; use `list_reviews` to inspect them, and have an owner/admin approve, reject, or request changes from the Post Ripple Review page. Always pass `idempotencyKey`, and pass `tiktokSettings` if the post should be public on TikTok (the default is private/`SELF_ONLY`).
84
84
  - The typical slideshow flow: `import_image_from_url` (or `get_image_upload_url` + PUT) per image → `create_slideshow` → poll `get_slideshow` until `ready` (template slides render server-side) → `publish_slideshow`. Pre-rendered JPEG slideshows are ready instantly.
85
85
  - TikTok `settings.postMode: "inbox"` sends the photo post to the account's TikTok app drafts inbox instead of publishing directly — useful when a human finishes posts from a real device.
86
86
  - Imports and publishes are asynchronous. Poll `list_videos` / `list_posts` to observe progress.
package/dist/index.js CHANGED
@@ -223,13 +223,13 @@ register("get_creation", "Get the render status of a video created with create_v
223
223
  register("list_slideshows", "List photo-carousel slideshows with status ('draft' = still being composed, 'ready' = publishable) and a signed coverUrl thumbnail (first rendered slide, or a background for drafts).", { ...orgParam, limit: z.number().min(1).max(200).optional() });
224
224
  register("list_slideshow_templates", "List the slideshow layout templates: canvas size, each template's text slots with exact geometry (x/y anchor, maxWidth, fontSize, lineHeight — all normalized to the canvas) and defaults (font, color, treatment), the template's default overlay scrim, available fonts and text treatments, and the max slide count. Call before create_slideshow when composing template-based slides — use the slot geometry rather than inventing your own placement.", {});
225
225
  register("get_slideshow", "Get one slideshow in full detail: per-slide render state, each text field's text AND its style overrides (font, color, treatment, fontScale, x/y position, maxWidth, align, rotation — null style means the template slot defaults apply), the slide's overlay scrim, and signed image URLs (renderedUrl = the finished slide, backgroundUrl = the photo behind it; both expire in ~1h). Use it to study how existing slides are actually styled before composing new ones, or poll it after create_slideshow returns status 'rendering' — publish once status is 'ready'.", { ...orgParam, slideshowId: z.string() });
226
- register("list_posts", "List posts (including review drafts, scheduled, publishing, published, failed, and canceled), newest first. Review posts include approvalStatus, submittedByName, and reviewNote; scheduled posts include scheduledFor; published posts include platformPostId and publishedAt.", {
226
+ register("list_posts", "List posts (including review drafts, rejected posts, scheduled, publishing, published, failed, and canceled), newest first. Review posts include approvalStatus, submittedByName, and reviewNote; scheduled posts include scheduledFor; published posts include platformPostId and publishedAt.", {
227
227
  ...orgParam,
228
228
  status: postStatusEnum.optional(),
229
229
  platform: platformEnum.optional(),
230
230
  limit: z.number().min(1).max(200).optional(),
231
231
  });
232
- register("list_reviews", "List posts waiting for team review. When approval is required, schedule_post and publish_slideshow submit work here instead of publishing or scheduling it. Use this to see approvalStatus, reviewer notes, target account, planned publish time, and a preview URL. Human approval is completed from Post Ripple's Review page.", {
232
+ register("list_reviews", "List posts waiting for team review. When approval is required, schedule_post and publish_slideshow submit work here instead of publishing or scheduling it. Use this to see approvalStatus, reviewer notes, target account, planned publish time, and a preview URL. Owners and admins approve, reject, or request changes from Post Ripple's Review page; terminal decisions remain visible through list_posts.", {
233
233
  ...orgParam,
234
234
  status: z
235
235
  .enum(["in_review", "changes_requested"])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@post-ripple/mcp",
3
- "version": "0.10.0",
3
+ "version": "0.11.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": {