posterly-mcp-server 0.7.0 → 0.8.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 +8 -3
- package/dist/index.js +1 -1
- package/dist/lib/api-client.d.ts +36 -0
- package/dist/tools/create-post.d.ts +581 -2
- package/dist/tools/create-post.js +94 -3
- package/dist/tools/get-account-analytics.js +9 -1
- package/dist/tools/get-post-analytics.js +11 -1
- package/dist/tools/update-post.d.ts +581 -2
- package/dist/tools/update-post.js +70 -2
- package/dist/tools/upload-media.d.ts +2 -2
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/lib/api-client.ts +30 -0
- package/src/tools/create-post.ts +98 -3
- package/src/tools/get-account-analytics.ts +8 -1
- package/src/tools/get-post-analytics.ts +15 -1
- package/src/tools/update-post.ts +74 -2
package/README.md
CHANGED
|
@@ -93,7 +93,7 @@ Add the same server definition to your Cursor MCP settings:
|
|
|
93
93
|
|
|
94
94
|
## Available tools
|
|
95
95
|
|
|
96
|
-
`posterly-mcp-server@0.
|
|
96
|
+
`posterly-mcp-server@0.8.1` exposes 16 tools:
|
|
97
97
|
|
|
98
98
|
- `whoami`
|
|
99
99
|
- `list_accounts`
|
|
@@ -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`
|
|
@@ -112,6 +112,8 @@ Add the same server definition to your Cursor MCP settings:
|
|
|
112
112
|
- `get_account_analytics`
|
|
113
113
|
- `get_post_analytics`
|
|
114
114
|
|
|
115
|
+
Analytics tools currently support Instagram, LinkedIn, Google Business Profile, and Pinterest.
|
|
116
|
+
|
|
115
117
|
## What the brand tools are for
|
|
116
118
|
|
|
117
119
|
Posterly workspaces often have multiple connected accounts under one client or brand.
|
|
@@ -138,6 +140,9 @@ much more reliable than forcing the agent to guess from raw account handles alon
|
|
|
138
140
|
- `Show me the brand profile for Grassroots`
|
|
139
141
|
- `Find the next 3 posting slots for my LinkedIn account`
|
|
140
142
|
- `Schedule a post for tomorrow at 9am for the Posterly Instagram account`
|
|
143
|
+
- `Schedule this as an Instagram Story with a first comment and @partner as collaborator`
|
|
144
|
+
- `Schedule this YouTube video as unlisted, add the thumbnail URL, and put it in our launch playlist`
|
|
145
|
+
- `Post this TikTok with direct-post privacy set to public and stitch disabled`
|
|
141
146
|
- `How did Grassroots perform on Instagram in the last 30 days?`
|
|
142
147
|
|
|
143
148
|
## 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;
|
|
@@ -83,6 +108,7 @@ export interface AccountAnalyticsSummary {
|
|
|
83
108
|
followers_change: number;
|
|
84
109
|
total_reach: number | null;
|
|
85
110
|
total_views: number | null;
|
|
111
|
+
total_profile_views?: number | null;
|
|
86
112
|
total_accounts_engaged: number | null;
|
|
87
113
|
total_follows_gained: number;
|
|
88
114
|
total_follows_lost: number;
|
|
@@ -137,6 +163,8 @@ export interface PostAnalyticsRow {
|
|
|
137
163
|
shares: number;
|
|
138
164
|
plays: number;
|
|
139
165
|
total_interactions: number;
|
|
166
|
+
url_link_clicks?: number;
|
|
167
|
+
user_profile_clicks?: number;
|
|
140
168
|
media_type: string | null;
|
|
141
169
|
media_url: string | null;
|
|
142
170
|
permalink: string | null;
|
|
@@ -198,6 +226,10 @@ export declare class PosterlyClient {
|
|
|
198
226
|
media_url?: string;
|
|
199
227
|
media_urls?: string[];
|
|
200
228
|
metadata?: Record<string, unknown>;
|
|
229
|
+
settings?: PlatformPostSettings;
|
|
230
|
+
reel_cover_url?: string;
|
|
231
|
+
reel_cover_method?: string;
|
|
232
|
+
reel_thumb_offset?: number;
|
|
201
233
|
workspace_id?: string;
|
|
202
234
|
}): Promise<{
|
|
203
235
|
post: Post;
|
|
@@ -218,6 +250,10 @@ export declare class PosterlyClient {
|
|
|
218
250
|
media_urls?: string[];
|
|
219
251
|
post_type?: string;
|
|
220
252
|
metadata?: Record<string, unknown>;
|
|
253
|
+
settings?: PlatformPostSettings;
|
|
254
|
+
reel_cover_url?: string | null;
|
|
255
|
+
reel_cover_method?: string | null;
|
|
256
|
+
reel_thumb_offset?: number | null;
|
|
221
257
|
}): Promise<{
|
|
222
258
|
post: Post;
|
|
223
259
|
}>;
|