posterly-mcp-server 0.46.0 → 0.47.1
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 +4 -3
- package/dist/lib/api-client.d.ts +28 -1
- package/dist/lib/api-client.js +12 -2
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/tools/create-post.d.ts +882 -6
- package/dist/tools/create-post.js +49 -1
- package/dist/tools/create-posts-batch.d.ts +318 -4
- package/dist/tools/delete-post.d.ts +4 -0
- package/dist/tools/delete-post.js +10 -5
- package/dist/tools/list-analytics.js +4 -1
- package/dist/tools/list-posts.d.ts +4 -0
- package/dist/tools/list-posts.js +5 -1
- package/dist/tools/update-post.d.ts +414 -2
- package/dist/tools/update-post.js +63 -1
- package/dist/tools/validate-post.d.ts +480 -4
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/lib/api-client.ts +41 -2
- package/src/lib/version.ts +1 -1
- package/src/tools/create-post.ts +47 -1
- package/src/tools/delete-post.ts +16 -7
- package/src/tools/list-analytics.ts +4 -1
- package/src/tools/list-posts.ts +6 -1
- package/src/tools/update-post.ts +82 -1
- package/tool-registry.json +40 -0
package/README.md
CHANGED
|
@@ -123,7 +123,7 @@ Add the same server definition to your Cursor MCP settings:
|
|
|
123
123
|
|
|
124
124
|
## Available tools
|
|
125
125
|
|
|
126
|
-
`posterly-mcp-server@0.
|
|
126
|
+
`posterly-mcp-server@0.47.1` exposes 62 tools covering 95 actions. The hosted HTTP endpoint exposes the same catalog minus the three signup tools: 59 tools covering 92 actions.
|
|
127
127
|
|
|
128
128
|
Many tools pick what to do with one parameter: `view` (reads), `action` (writes), or `type`. A few pick their mode from which parameters you pass (for example `update_post` with `status` changes the status instead of editing). Every tool description names all of its views and actions.
|
|
129
129
|
|
|
@@ -211,13 +211,14 @@ Accounts, posting, media, schedule, analytics, and support. What most assistants
|
|
|
211
211
|
| `edit` (default) | Edit caption, media, schedule, or settings |
|
|
212
212
|
| `status` (pass `status`) | Pause, resume, schedule, or move to draft |
|
|
213
213
|
| `release_id` (pass `release_id`) | Set a release or group ID |
|
|
214
|
+
| `approval` (pass `approval_action`) | Request, approve, request changes, or reject client review (owner or admin only) |
|
|
214
215
|
|
|
215
216
|
**`delete_post`**: Delete posts
|
|
216
217
|
|
|
217
218
|
| Mode (picked by params) | What it does |
|
|
218
219
|
| --- | --- |
|
|
219
|
-
| `post` (default) | Delete one post |
|
|
220
|
-
| `group` (pass `group_id`) | Delete a post group (preview then confirm) |
|
|
220
|
+
| `post` (default) | Delete one post. Published Instagram or Facebook posts also need `confirm_published` |
|
|
221
|
+
| `group` (pass `group_id`) | Delete a post group (preview then confirm). Never deletes published posts |
|
|
221
222
|
|
|
222
223
|
**`upload_media`**: Upload media
|
|
223
224
|
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -145,6 +145,7 @@ export interface ApiPostApproval {
|
|
|
145
145
|
asset_status: ApiPostApprovalStatus;
|
|
146
146
|
caption_status: ApiPostApprovalStatus;
|
|
147
147
|
waiting_on: 'client' | 'team' | null;
|
|
148
|
+
pending_client_approval: boolean;
|
|
148
149
|
requested_at: string | null;
|
|
149
150
|
completed_at: string | null;
|
|
150
151
|
}
|
|
@@ -193,6 +194,23 @@ export interface InstagramPostSettings {
|
|
|
193
194
|
}>;
|
|
194
195
|
reel_cover_url?: string;
|
|
195
196
|
reel_thumb_offset?: number;
|
|
197
|
+
is_ai_generated?: boolean;
|
|
198
|
+
audio_id?: string;
|
|
199
|
+
caption_addon?: {
|
|
200
|
+
type?: 'none' | 'poll' | 'comment_prompt';
|
|
201
|
+
kind?: 'none' | 'poll' | 'comment_prompt';
|
|
202
|
+
options?: string[];
|
|
203
|
+
extended_duration?: boolean;
|
|
204
|
+
} | null;
|
|
205
|
+
poll_attachment?: {
|
|
206
|
+
option_a?: string;
|
|
207
|
+
option_b?: string;
|
|
208
|
+
option_c?: string;
|
|
209
|
+
option_d?: string;
|
|
210
|
+
options?: string[];
|
|
211
|
+
};
|
|
212
|
+
is_comment_prompt_used?: boolean;
|
|
213
|
+
is_poll_duration_extended?: boolean;
|
|
196
214
|
}
|
|
197
215
|
export type PlatformPostSettings = Record<string, unknown>;
|
|
198
216
|
export type CreatePostPayload = {
|
|
@@ -1212,6 +1230,7 @@ export declare class PosterlyClient {
|
|
|
1212
1230
|
offset?: number;
|
|
1213
1231
|
workspace_id?: string;
|
|
1214
1232
|
approval_status?: string;
|
|
1233
|
+
approval_waiting_on?: string;
|
|
1215
1234
|
brand_id?: string;
|
|
1216
1235
|
}): Promise<{
|
|
1217
1236
|
posts: Post[];
|
|
@@ -1244,10 +1263,18 @@ export declare class PosterlyClient {
|
|
|
1244
1263
|
}): Promise<{
|
|
1245
1264
|
post: Post;
|
|
1246
1265
|
}>;
|
|
1247
|
-
deletePost(id: number
|
|
1266
|
+
deletePost(id: number, options?: {
|
|
1267
|
+
confirmPublished?: boolean;
|
|
1268
|
+
}): Promise<{
|
|
1248
1269
|
deleted: boolean;
|
|
1249
1270
|
id: number;
|
|
1271
|
+
platform_delete?: string;
|
|
1250
1272
|
}>;
|
|
1273
|
+
setPostApproval(id: number, data: {
|
|
1274
|
+
action: 'request' | 'approve' | 'request_changes' | 'reject';
|
|
1275
|
+
axis?: 'asset' | 'caption';
|
|
1276
|
+
note?: string;
|
|
1277
|
+
}): Promise<Record<string, unknown>>;
|
|
1251
1278
|
updatePostStatus(id: number, data: {
|
|
1252
1279
|
status: 'scheduled' | 'paused' | 'draft';
|
|
1253
1280
|
scheduled_at?: string;
|
package/dist/lib/api-client.js
CHANGED
|
@@ -340,6 +340,8 @@ export class PosterlyClient {
|
|
|
340
340
|
searchParams.set('workspace_id', params.workspace_id);
|
|
341
341
|
if (params?.approval_status)
|
|
342
342
|
searchParams.set('approval_status', params.approval_status);
|
|
343
|
+
if (params?.approval_waiting_on)
|
|
344
|
+
searchParams.set('approval_waiting_on', params.approval_waiting_on);
|
|
343
345
|
if (params?.brand_id)
|
|
344
346
|
searchParams.set('brand_id', params.brand_id);
|
|
345
347
|
const qs = searchParams.toString();
|
|
@@ -375,8 +377,16 @@ export class PosterlyClient {
|
|
|
375
377
|
async updatePost(id, data) {
|
|
376
378
|
return this.request('PATCH', `/posts/${id}`, data);
|
|
377
379
|
}
|
|
378
|
-
async deletePost(id) {
|
|
379
|
-
|
|
380
|
+
async deletePost(id, options) {
|
|
381
|
+
const qs = options?.confirmPublished ? '?confirm_published=true' : '';
|
|
382
|
+
return this.request('DELETE', `/posts/${id}${qs}`);
|
|
383
|
+
}
|
|
384
|
+
async setPostApproval(id, data) {
|
|
385
|
+
return this.request('POST', `/posts/${id}/approval`, {
|
|
386
|
+
action: data.action,
|
|
387
|
+
...(data.axis ? { axis: data.axis } : {}),
|
|
388
|
+
...(data.note ? { note: data.note } : {}),
|
|
389
|
+
});
|
|
380
390
|
}
|
|
381
391
|
async updatePostStatus(id, data) {
|
|
382
392
|
return this.request('PUT', `/posts/${id}/status`, data);
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const POSTERLY_MCP_VERSION = "0.
|
|
1
|
+
export declare const POSTERLY_MCP_VERSION = "0.47.1";
|
package/dist/lib/version.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
// tool set (minus the intentional pre-auth signup tools that only this stdio
|
|
6
6
|
// package exposes). `npm run check:mcp-parity` enforces both the version match
|
|
7
7
|
// and the tool-list match, and runs in the pre-commit hook.
|
|
8
|
-
export const POSTERLY_MCP_VERSION = '0.
|
|
8
|
+
export const POSTERLY_MCP_VERSION = '0.47.1';
|