posterly-mcp-server 0.7.0 → 0.8.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
@@ -103,8 +103,8 @@ Add the same server definition to your Cursor MCP settings:
103
103
  - `get_brand_profile`
104
104
  - `list_posts`
105
105
  - `get_post`
106
- - `create_post`
107
- - `update_post`
106
+ - `create_post` (supports `thread_posts: string[]` for X / Threads reply chains, plus `platform_settings` for platform-specific composer controls)
107
+ - `update_post` (also accepts `platform_settings`)
108
108
  - `delete_post`
109
109
  - `upload_media`
110
110
  - `find_available_slot`
@@ -138,6 +138,9 @@ much more reliable than forcing the agent to guess from raw account handles alon
138
138
  - `Show me the brand profile for Grassroots`
139
139
  - `Find the next 3 posting slots for my LinkedIn account`
140
140
  - `Schedule a post for tomorrow at 9am for the Posterly Instagram account`
141
+ - `Schedule this as an Instagram Story with a first comment and @partner as collaborator`
142
+ - `Schedule this YouTube video as unlisted, add the thumbnail URL, and put it in our launch playlist`
143
+ - `Post this TikTok with direct-post privacy set to public and stitch disabled`
141
144
  - `How did Grassroots perform on Instagram in the last 30 days?`
142
145
 
143
146
  ## Pricing
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ import { getAccountAnalyticsTool } from './tools/get-account-analytics.js';
20
20
  import { getPostAnalyticsTool } from './tools/get-post-analytics.js';
21
21
  const server = new McpServer({
22
22
  name: 'posterly',
23
- version: '0.7.0',
23
+ version: '0.8.0',
24
24
  });
25
25
  let client;
26
26
  try {
@@ -53,7 +53,32 @@ export interface Post {
53
53
  platform_post_url?: string;
54
54
  published_at?: string;
55
55
  workspace_id?: string | null;
56
+ metadata?: Record<string, unknown> | null;
57
+ reel_cover_url?: string | null;
58
+ reel_cover_method?: string | null;
59
+ reel_thumb_offset?: number | null;
56
60
  }
61
+ export interface InstagramPostSettings {
62
+ __type?: 'instagram' | 'instagram-standalone';
63
+ post_type?: 'post' | 'feed' | 'story' | 'reel' | 'carousel';
64
+ is_trial_reel?: boolean;
65
+ graduation_strategy?: 'MANUAL' | 'SS_PERFORMANCE';
66
+ collaborators?: Array<string | {
67
+ label?: string;
68
+ username?: string;
69
+ handle?: string;
70
+ }>;
71
+ user_tags?: Array<string | {
72
+ username?: string;
73
+ label?: string;
74
+ handle?: string;
75
+ }>;
76
+ first_comment?: string;
77
+ media_alt_texts?: Record<string, string>;
78
+ reel_cover_url?: string;
79
+ reel_thumb_offset?: number;
80
+ }
81
+ export type PlatformPostSettings = Record<string, unknown>;
57
82
  export interface Slot {
58
83
  time: string;
59
84
  local_time: string;
@@ -198,6 +223,10 @@ export declare class PosterlyClient {
198
223
  media_url?: string;
199
224
  media_urls?: string[];
200
225
  metadata?: Record<string, unknown>;
226
+ settings?: PlatformPostSettings;
227
+ reel_cover_url?: string;
228
+ reel_cover_method?: string;
229
+ reel_thumb_offset?: number;
201
230
  workspace_id?: string;
202
231
  }): Promise<{
203
232
  post: Post;
@@ -218,6 +247,10 @@ export declare class PosterlyClient {
218
247
  media_urls?: string[];
219
248
  post_type?: string;
220
249
  metadata?: Record<string, unknown>;
250
+ settings?: PlatformPostSettings;
251
+ reel_cover_url?: string | null;
252
+ reel_cover_method?: string | null;
253
+ reel_thumb_offset?: number | null;
221
254
  }): Promise<{
222
255
  post: Post;
223
256
  }>;