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 +5 -2
- package/dist/index.js +1 -1
- package/dist/lib/api-client.d.ts +33 -0
- package/dist/tools/create-post.d.ts +557 -2
- package/dist/tools/create-post.js +91 -3
- package/dist/tools/update-post.d.ts +557 -2
- package/dist/tools/update-post.js +67 -2
- package/dist/tools/upload-media.d.ts +2 -2
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/lib/api-client.ts +27 -0
- package/src/tools/create-post.ts +95 -3
- package/src/tools/update-post.ts +71 -2
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.
|
|
23
|
+
version: '0.8.0',
|
|
24
24
|
});
|
|
25
25
|
let client;
|
|
26
26
|
try {
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -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
|
}>;
|