posterly-mcp-server 0.44.0 → 0.45.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 +310 -111
- package/dist/index.js +190 -894
- package/dist/lib/alias-transport.d.ts +84 -0
- package/dist/lib/alias-transport.js +193 -0
- package/dist/lib/api-client.d.ts +18 -0
- package/dist/lib/api-client.js +55 -0
- package/dist/lib/preview-token-core.d.ts +62 -0
- package/dist/lib/preview-token-core.js +131 -0
- package/dist/lib/preview-token.d.ts +23 -0
- package/dist/lib/preview-token.js +44 -0
- package/dist/lib/tool-registry.d.ts +246 -0
- package/dist/lib/tool-registry.js +394 -0
- package/dist/lib/tool-runtime.d.ts +68 -0
- package/dist/lib/tool-runtime.js +85 -0
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/tools/audit-google-business-profile.js +1 -1
- package/dist/tools/connect-account.d.ts +4 -4
- package/dist/tools/connect-account.js +2 -2
- package/dist/tools/create-connect-session.d.ts +2 -2
- package/dist/tools/create-connect-session.js +2 -2
- package/dist/tools/create-post.d.ts +6 -6
- package/dist/tools/create-post.js +3 -3
- package/dist/tools/create-posts-batch.d.ts +4 -4
- package/dist/tools/create-webhook.d.ts +2 -2
- package/dist/tools/delete-post.d.ts +34 -10
- package/dist/tools/delete-post.js +52 -16
- package/dist/tools/generate-captions.d.ts +2 -2
- package/dist/tools/generate-image.d.ts +4 -4
- package/dist/tools/generate-image.js +2 -2
- package/dist/tools/generate-video.d.ts +6 -6
- package/dist/tools/generate-video.js +1 -1
- package/dist/tools/get-agent-signup-info.js +2 -2
- package/dist/tools/get-post.d.ts +16 -1
- package/dist/tools/get-post.js +35 -19
- package/dist/tools/list-accounts.d.ts +49 -3
- package/dist/tools/list-accounts.js +148 -33
- package/dist/tools/list-analytics.d.ts +111 -0
- package/dist/tools/list-analytics.js +393 -0
- package/dist/tools/list-brands.d.ts +38 -3
- package/dist/tools/list-brands.js +138 -20
- package/dist/tools/list-comments.d.ts +29 -9
- package/dist/tools/list-comments.js +75 -34
- package/dist/tools/list-conversations.d.ts +32 -9
- package/dist/tools/list-conversations.js +63 -27
- package/dist/tools/list-google-business-media.js +1 -1
- package/dist/tools/list-google-business-reviews.d.ts +32 -9
- package/dist/tools/list-google-business-reviews.js +77 -52
- package/dist/tools/list-jobs.d.ts +60 -0
- package/dist/tools/list-jobs.js +81 -0
- package/dist/tools/list-platforms.d.ts +62 -3
- package/dist/tools/list-platforms.js +118 -9
- package/dist/tools/list-posts.d.ts +2 -2
- package/dist/tools/manage-comment.d.ts +102 -0
- package/dist/tools/manage-comment.js +125 -0
- package/dist/tools/manage-conversation.d.ts +79 -0
- package/dist/tools/manage-conversation.js +75 -0
- package/dist/tools/manage-google-business-media.d.ts +103 -0
- package/dist/tools/manage-google-business-media.js +126 -0
- package/dist/tools/manage-google-business-review.d.ts +146 -0
- package/dist/tools/manage-google-business-review.js +115 -0
- package/dist/tools/manage-oauth-client.d.ts +121 -0
- package/dist/tools/manage-oauth-client.js +94 -0
- package/dist/tools/manage-webhook.d.ts +99 -0
- package/dist/tools/manage-webhook.js +87 -0
- package/dist/tools/start-signup.d.ts +2 -2
- package/dist/tools/submit-agent-feedback.d.ts +4 -4
- package/dist/tools/trigger-platform-helper.d.ts +2 -2
- package/dist/tools/update-post.d.ts +62 -11
- package/dist/tools/update-post.js +79 -26
- package/dist/tools/upload-media.d.ts +32 -9
- package/dist/tools/upload-media.js +54 -18
- package/dist/tools/validate-post.d.ts +4 -4
- package/dist/tools/whoami.d.ts +15 -2
- package/dist/tools/whoami.js +221 -25
- package/package.json +5 -3
- package/scripts/test-alias-transport.mjs +368 -0
- package/scripts/test-client-header-sanitization.mjs +78 -0
- package/scripts/test-tool-annotations.mjs +38 -17
- package/server.json +9 -2
- package/src/index.ts +227 -1443
- package/src/lib/alias-transport.ts +233 -0
- package/src/lib/api-client.ts +65 -0
- package/src/lib/preview-token-core.ts +157 -0
- package/src/lib/preview-token.ts +54 -0
- package/src/lib/tool-registry.ts +538 -0
- package/src/lib/tool-runtime.ts +117 -0
- package/src/lib/version.ts +1 -1
- package/src/tools/audit-google-business-profile.ts +1 -1
- package/src/tools/connect-account.ts +2 -2
- package/src/tools/create-connect-session.ts +2 -2
- package/src/tools/create-post.ts +3 -3
- package/src/tools/delete-post.ts +60 -19
- package/src/tools/generate-image.ts +2 -2
- package/src/tools/generate-video.ts +1 -1
- package/src/tools/get-agent-signup-info.ts +2 -2
- package/src/tools/get-post.ts +35 -21
- package/src/tools/list-accounts.ts +187 -39
- package/src/tools/list-analytics.ts +444 -0
- package/src/tools/list-brands.ts +162 -26
- package/src/tools/list-comments.ts +86 -43
- package/src/tools/list-conversations.ts +81 -39
- package/src/tools/list-google-business-media.ts +1 -1
- package/src/tools/list-google-business-reviews.ts +93 -64
- package/src/tools/list-jobs.ts +91 -0
- package/src/tools/list-platforms.ts +135 -11
- package/src/tools/manage-comment.ts +142 -0
- package/src/tools/manage-conversation.ts +89 -0
- package/src/tools/manage-google-business-media.ts +147 -0
- package/src/tools/manage-google-business-review.ts +139 -0
- package/src/tools/manage-oauth-client.ts +116 -0
- package/src/tools/manage-webhook.ts +103 -0
- package/src/tools/update-post.ts +106 -39
- package/src/tools/upload-media.ts +76 -28
- package/src/tools/whoami.ts +253 -30
- package/tool-annotations.json +76 -149
- package/tool-registry.json +2085 -0
- package/src/tools/add-google-business-media.ts +0 -50
- package/src/tools/create-oauth-client.ts +0 -36
- package/src/tools/delete-comment.ts +0 -29
- package/src/tools/delete-google-business-media.ts +0 -30
- package/src/tools/delete-google-business-review-reply.ts +0 -30
- package/src/tools/delete-oauth-client.ts +0 -23
- package/src/tools/delete-post-group.ts +0 -17
- package/src/tools/delete-webhook.ts +0 -17
- package/src/tools/get-account-analytics.ts +0 -171
- package/src/tools/get-brand-profile.ts +0 -86
- package/src/tools/get-brand.ts +0 -34
- package/src/tools/get-comment.ts +0 -47
- package/src/tools/get-connect-link.ts +0 -61
- package/src/tools/get-connect-session.ts +0 -63
- package/src/tools/get-conversation.ts +0 -44
- package/src/tools/get-google-business-review-link.ts +0 -30
- package/src/tools/get-image-job.ts +0 -36
- package/src/tools/get-learned-voice.ts +0 -31
- package/src/tools/get-mcp-status.ts +0 -212
- package/src/tools/get-performance-profile.ts +0 -47
- package/src/tools/get-platform-schema.ts +0 -56
- package/src/tools/get-post-analytics.ts +0 -243
- package/src/tools/get-post-insights.ts +0 -60
- package/src/tools/get-post-missing.ts +0 -16
- package/src/tools/get-video-job.ts +0 -36
- package/src/tools/list-brand-accounts.ts +0 -36
- package/src/tools/reply-google-business-review.ts +0 -32
- package/src/tools/reply-to-comment.ts +0 -30
- package/src/tools/send-message.ts +0 -28
- package/src/tools/suggest-google-business-review-reply.ts +0 -44
- package/src/tools/sync-inbox.ts +0 -28
- package/src/tools/test-webhook.ts +0 -18
- package/src/tools/update-comment.ts +0 -31
- package/src/tools/update-oauth-client.ts +0 -38
- package/src/tools/update-post-release-id.ts +0 -25
- package/src/tools/update-post-status.ts +0 -31
- package/src/tools/update-webhook.ts +0 -36
- package/src/tools/upload-media-from-url.ts +0 -33
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ name is `io.github.awpthorp/posterly`, matching this package's `mcpName`.
|
|
|
33
33
|
## Requirements
|
|
34
34
|
|
|
35
35
|
- Node.js `20+`
|
|
36
|
-
- No API key is required for the public setup tools: `
|
|
36
|
+
- No API key is required for the public setup tools: `whoami` with `view: "status"`, `get_agent_signup_info`, `start_signup`, and `get_signup_session`
|
|
37
37
|
- A posterly account, API add-on, and API key are required for authenticated tools like `whoami`, `list_accounts`, `create_connect_session`, and `create_post`
|
|
38
38
|
|
|
39
39
|
## Install
|
|
@@ -76,9 +76,9 @@ After paid signup is complete and posterly shows an API key, add `POSTERLY_API_K
|
|
|
76
76
|
3. Pay in Stripe Checkout and set your posterly password in the browser.
|
|
77
77
|
4. When posterly shows your API key, add it as `POSTERLY_API_KEY`.
|
|
78
78
|
5. Restart your AI client.
|
|
79
|
-
6. Ask the AI to call `
|
|
79
|
+
6. Ask the AI to call `whoami` with `view: "status"`, then `whoami`, then continue by connecting your first social account.
|
|
80
80
|
|
|
81
|
-
The signup and connect tools return user-facing next steps by default, so agents should report progress in plain language instead of showing raw curl, HTTP payloads, or JSON. Pass `debug: true` to `start_signup`, `get_signup_session`, `
|
|
81
|
+
The signup and connect tools return user-facing next steps by default, so agents should report progress in plain language instead of showing raw curl, HTTP payloads, or JSON. Pass `debug: true` to `start_signup`, `get_signup_session`, `create_connect_session`, `list_platforms` (`view: "connect_link"`), or `list_accounts` (`view: "connect_session"`) only when troubleshooting.
|
|
82
82
|
|
|
83
83
|
Post tools return `View in posterly` dashboard links. After scheduling, listing, reading, or deleting posts, share the returned link with the user. Current-month scheduled posts open in Calendar with the post selected; broader/future post views use Table.
|
|
84
84
|
|
|
@@ -122,116 +122,314 @@ Add the same server definition to your Cursor MCP settings:
|
|
|
122
122
|
|
|
123
123
|
## Available tools
|
|
124
124
|
|
|
125
|
-
`posterly-mcp-server@0.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
Analytics
|
|
125
|
+
`posterly-mcp-server@0.45.0` exposes 62 tools covering 94 actions. The hosted HTTP endpoint exposes the same catalog minus the three signup tools: 59 tools covering 91 actions.
|
|
126
|
+
|
|
127
|
+
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.
|
|
128
|
+
|
|
129
|
+
Public setup tools work before `POSTERLY_API_KEY` exists: `whoami` with `view: "status"` (installed version, latest npm version, endpoint and API key health, update guidance), `get_agent_signup_info`, `start_signup`, and `get_signup_session`. Every other tool needs `POSTERLY_API_KEY`.
|
|
130
|
+
|
|
131
|
+
### Preview then confirm
|
|
132
|
+
|
|
133
|
+
Actions that post publicly or delete things work in two steps: call once without `confirm` to get a preview and a `preview_id`, show the preview to the user, then call again with the same fields plus `confirm: true` and that `preview_id`. A preview expires after 10 minutes, only works for exactly the same fields, and a public post (a comment reply, a DM, a Google review reply, new Google profile media) can be confirmed once. Other writes keep the single `confirm: true` after explicit user confirmation.
|
|
134
|
+
|
|
135
|
+
### Tool sets
|
|
136
|
+
|
|
137
|
+
Tools are grouped into sets: `core`, `creative`, `inbox`, `google_business`, `admin`, and `billing`, plus `signup` (always on). Every set is listed by default. To list fewer, set `POSTERLY_TOOLSETS=core,inbox` (or pass `--toolsets=core,inbox`). Sets only change what is listed; any tool can still be called by name.
|
|
138
|
+
|
|
139
|
+
### Core (`core`)
|
|
140
|
+
|
|
141
|
+
Accounts, posting, media, schedule, analytics, and support. What most assistants need.
|
|
142
|
+
|
|
143
|
+
| Tool | What it does |
|
|
144
|
+
| --- | --- |
|
|
145
|
+
| `disconnect_account` | Disconnect an account |
|
|
146
|
+
| `connect_account` | Connect with credentials |
|
|
147
|
+
| `create_connect_session` | Start a connect session |
|
|
148
|
+
| `trigger_platform_helper` | Run a platform helper |
|
|
149
|
+
| `list_posts` | Posts |
|
|
150
|
+
| `ask_support` | Ask support |
|
|
151
|
+
| `find_available_slot` | Find a free slot |
|
|
152
|
+
| `submit_agent_feedback` | Agent feedback |
|
|
153
|
+
| `submit_product_feedback` | Product feedback |
|
|
154
|
+
| `validate_post` | Validate a post |
|
|
155
|
+
| `create_post` | Create a post |
|
|
156
|
+
| `create_posts_batch` | Create posts in bulk |
|
|
157
|
+
| `get_x_posting_quota` | X posting quota |
|
|
158
|
+
| `create_signed_upload` | Signed upload link |
|
|
159
|
+
| `create_media_drop` | Media drop link |
|
|
160
|
+
| `list_media` | Media library |
|
|
161
|
+
| `generate_captions` | Generate captions |
|
|
162
|
+
| `list_activity` | Activity feed |
|
|
163
|
+
| `get_credits` | AI credits |
|
|
164
|
+
| `get_updates` | Product updates |
|
|
165
|
+
|
|
166
|
+
**`whoami`**: Who am I
|
|
167
|
+
|
|
168
|
+
| View | What it does |
|
|
169
|
+
| --- | --- |
|
|
170
|
+
| `identity` (default) | You, your scopes, and your workspaces |
|
|
171
|
+
| `status` | MCP server and connection status |
|
|
172
|
+
|
|
173
|
+
**`list_accounts`**: Connected accounts
|
|
174
|
+
|
|
175
|
+
| View | What it does |
|
|
176
|
+
| --- | --- |
|
|
177
|
+
| `accounts` (default) | Connected accounts |
|
|
178
|
+
| `learned_voice` | Learned voice of an account |
|
|
179
|
+
| `performance_profile` | Performance profile of an account |
|
|
180
|
+
| `connect_session` | Check a connect session |
|
|
181
|
+
|
|
182
|
+
**`list_platforms`**: Platforms
|
|
183
|
+
|
|
184
|
+
| View | What it does |
|
|
185
|
+
| --- | --- |
|
|
186
|
+
| `platforms` (default) | Supported platforms |
|
|
187
|
+
| `schema` | Platform or account schema |
|
|
188
|
+
| `connect_link` | Connection links |
|
|
189
|
+
|
|
190
|
+
**`list_brands`**: Brands
|
|
191
|
+
|
|
192
|
+
| View | What it does |
|
|
193
|
+
| --- | --- |
|
|
194
|
+
| `brands` (default) | All brands |
|
|
195
|
+
| `brand` | One brand |
|
|
196
|
+
| `accounts` | Brand accounts |
|
|
197
|
+
| `profile` | Brand profile |
|
|
198
|
+
|
|
199
|
+
**`get_post`**: One post
|
|
200
|
+
|
|
201
|
+
| View | What it does |
|
|
202
|
+
| --- | --- |
|
|
203
|
+
| `post` (default) | One post |
|
|
204
|
+
| `missing` | What a post is missing |
|
|
205
|
+
|
|
206
|
+
**`update_post`**: Edit a post
|
|
207
|
+
|
|
208
|
+
| Mode (picked by params) | What it does |
|
|
209
|
+
| --- | --- |
|
|
210
|
+
| `edit` (default) | Edit caption, media, schedule, or settings |
|
|
211
|
+
| `status` (pass `status`) | Pause, resume, schedule, or move to draft |
|
|
212
|
+
| `release_id` (pass `release_id`) | Set a release or group ID |
|
|
213
|
+
|
|
214
|
+
**`delete_post`**: Delete posts
|
|
215
|
+
|
|
216
|
+
| Mode (picked by params) | What it does |
|
|
217
|
+
| --- | --- |
|
|
218
|
+
| `post` (default) | Delete one post |
|
|
219
|
+
| `group` (pass `group_id`) | Delete a post group (preview then confirm) |
|
|
220
|
+
|
|
221
|
+
**`upload_media`**: Upload media
|
|
222
|
+
|
|
223
|
+
| Mode (picked by params) | What it does |
|
|
224
|
+
| --- | --- |
|
|
225
|
+
| `file` (default) | Upload a file |
|
|
226
|
+
| `url` (pass `url`) | Upload from a URL |
|
|
227
|
+
|
|
228
|
+
**`list_analytics`**: Analytics
|
|
229
|
+
|
|
230
|
+
| View | What it does |
|
|
231
|
+
| --- | --- |
|
|
232
|
+
| `accounts` | Account analytics |
|
|
233
|
+
| `posts` | Post analytics |
|
|
234
|
+
| `insights` | Post insights |
|
|
235
|
+
|
|
236
|
+
### Creative (`creative`)
|
|
237
|
+
|
|
238
|
+
AI image and video generation, jobs, and post suggestions.
|
|
239
|
+
|
|
240
|
+
| Tool | What it does |
|
|
241
|
+
| --- | --- |
|
|
242
|
+
| `list_post_suggestions` | Post suggestions |
|
|
243
|
+
| `dismiss_suggestion` | Dismiss a suggestion |
|
|
244
|
+
| `get_video_options` | Video options |
|
|
245
|
+
| `run_video_function` | Video helper |
|
|
246
|
+
| `generate_video` | Generate a video |
|
|
247
|
+
| `generate_image` | Generate an image |
|
|
248
|
+
|
|
249
|
+
**`list_jobs`**: AI jobs
|
|
250
|
+
|
|
251
|
+
| Type | What it does |
|
|
252
|
+
| --- | --- |
|
|
253
|
+
| `image` | Image jobs |
|
|
254
|
+
| `video` | Video jobs |
|
|
255
|
+
|
|
256
|
+
### Inbox (`inbox`)
|
|
257
|
+
|
|
258
|
+
Social inbox comments and DMs.
|
|
259
|
+
|
|
260
|
+
**`list_conversations`**: Conversations
|
|
261
|
+
|
|
262
|
+
| Mode (picked by params) | What it does |
|
|
263
|
+
| --- | --- |
|
|
264
|
+
| `list` (default) | List conversations |
|
|
265
|
+
| `conversation` (pass `conversation_id`) | One conversation with its messages |
|
|
266
|
+
|
|
267
|
+
**`manage_conversation`**: Manage conversations
|
|
268
|
+
|
|
269
|
+
| Action | What it does |
|
|
270
|
+
| --- | --- |
|
|
271
|
+
| `send` | Send a DM (preview then confirm) |
|
|
272
|
+
| `sync` | Sync the inbox |
|
|
273
|
+
|
|
274
|
+
**`list_comments`**: Comments
|
|
275
|
+
|
|
276
|
+
| Mode (picked by params) | What it does |
|
|
277
|
+
| --- | --- |
|
|
278
|
+
| `list` (default) | List comments |
|
|
279
|
+
| `comment` (pass `comment_id`) | One comment with its replies |
|
|
280
|
+
|
|
281
|
+
**`manage_comment`**: Manage comments
|
|
282
|
+
|
|
283
|
+
| Action | What it does |
|
|
284
|
+
| --- | --- |
|
|
285
|
+
| `reply` | Reply to a comment (preview then confirm) |
|
|
286
|
+
| `update` | Hide or mark read |
|
|
287
|
+
| `delete` | Delete a comment (preview then confirm) |
|
|
288
|
+
|
|
289
|
+
### Google Business (`google_business`)
|
|
290
|
+
|
|
291
|
+
Google Business Profile reviews, media, and audits.
|
|
292
|
+
|
|
293
|
+
| Tool | What it does |
|
|
294
|
+
| --- | --- |
|
|
295
|
+
| `audit_google_business_profile` | Audit a Google profile |
|
|
296
|
+
| `list_google_business_media` | Google profile media |
|
|
297
|
+
|
|
298
|
+
**`list_google_business_reviews`**: Google reviews
|
|
299
|
+
|
|
300
|
+
| View | What it does |
|
|
301
|
+
| --- | --- |
|
|
302
|
+
| `reviews` (default) | Google reviews |
|
|
303
|
+
| `review_link` | Google review link |
|
|
304
|
+
|
|
305
|
+
**`manage_google_business_review`**: Manage Google reviews
|
|
306
|
+
|
|
307
|
+
| Action | What it does |
|
|
308
|
+
| --- | --- |
|
|
309
|
+
| `suggest_reply` | Suggest a reply (never posts) |
|
|
310
|
+
| `reply` | Reply to a review (preview then confirm) |
|
|
311
|
+
| `delete_reply` | Delete a review reply (preview then confirm) |
|
|
312
|
+
|
|
313
|
+
**`manage_google_business_media`**: Manage Google profile media
|
|
314
|
+
|
|
315
|
+
| Action | What it does |
|
|
316
|
+
| --- | --- |
|
|
317
|
+
| `add` | Add a photo or video (preview then confirm) |
|
|
318
|
+
| `delete` | Delete a photo or video (preview then confirm) |
|
|
319
|
+
|
|
320
|
+
### Admin (`admin`)
|
|
321
|
+
|
|
322
|
+
API keys, OAuth clients, webhooks, and workspace members.
|
|
323
|
+
|
|
324
|
+
| Tool | What it does |
|
|
325
|
+
| --- | --- |
|
|
326
|
+
| `create_api_key` | Create an API key |
|
|
327
|
+
| `delete_api_key` | Revoke an API key |
|
|
328
|
+
| `list_workspace_members` | Workspace members |
|
|
329
|
+
| `list_oauth_clients` | OAuth clients |
|
|
330
|
+
| `list_webhooks` | Webhooks |
|
|
331
|
+
| `create_webhook` | Create a webhook |
|
|
332
|
+
|
|
333
|
+
**`manage_workspace_member`**: Manage a workspace member
|
|
334
|
+
|
|
335
|
+
| Action | What it does |
|
|
336
|
+
| --- | --- |
|
|
337
|
+
| `invite` | Invite a colleague (preview then confirm) |
|
|
338
|
+
| `update` | Change role or brands (preview then confirm) |
|
|
339
|
+
| `remove` | Remove a member or invite (preview then confirm) |
|
|
340
|
+
|
|
341
|
+
**`manage_oauth_client`**: Manage an OAuth client
|
|
342
|
+
|
|
343
|
+
| Action | What it does |
|
|
344
|
+
| --- | --- |
|
|
345
|
+
| `create` | Create an OAuth client |
|
|
346
|
+
| `update` | Update an OAuth client |
|
|
347
|
+
| `delete` | Delete an OAuth client (preview then confirm) |
|
|
348
|
+
|
|
349
|
+
**`manage_webhook`**: Manage a webhook
|
|
350
|
+
|
|
351
|
+
| Action | What it does |
|
|
352
|
+
| --- | --- |
|
|
353
|
+
| `update` | Update a webhook |
|
|
354
|
+
| `delete` | Delete a webhook (preview then confirm) |
|
|
355
|
+
| `test` | Send a test delivery |
|
|
356
|
+
|
|
357
|
+
### Billing (`billing`)
|
|
358
|
+
|
|
359
|
+
Subscription changes.
|
|
360
|
+
|
|
361
|
+
| Tool | What it does |
|
|
362
|
+
| --- | --- |
|
|
363
|
+
| `get_subscription` | Subscription |
|
|
364
|
+
| `cancel_subscription` | Cancel subscription |
|
|
365
|
+
| `pause_subscription` | Pause subscription |
|
|
366
|
+
| `resume_subscription` | Resume subscription |
|
|
367
|
+
| `downgrade_subscription` | Downgrade subscription |
|
|
368
|
+
|
|
369
|
+
### Signup (`signup`)
|
|
370
|
+
|
|
371
|
+
Pre-auth signup for brand-new users. Local npm package only; always on.
|
|
372
|
+
|
|
373
|
+
| Tool | What it does |
|
|
374
|
+
| --- | --- |
|
|
375
|
+
| `get_agent_signup_info` | Signup info for agents |
|
|
376
|
+
| `start_signup` | Start a paid signup |
|
|
377
|
+
| `get_signup_session` | Check a signup session |
|
|
378
|
+
|
|
379
|
+
> Google Business tip: pass `account_id` (the integer `id` from `list_accounts`) to every Google Business tool. If you use `location_id` instead, it is the numeric `location_id` from `list_accounts` (the GBP location id), not the `ChIJ...` Place ID that `list_google_business_reviews` with `view: "review_link"` returns. Passing the Place ID resolves to no account and returns "Google Business Profile account not found".
|
|
380
|
+
|
|
381
|
+
Analytics (`list_analytics`) currently supports Instagram, Facebook Pages, LinkedIn, Google Business Profile, Pinterest, YouTube, and Threads.
|
|
382
|
+
|
|
383
|
+
## Renamed tools
|
|
384
|
+
|
|
385
|
+
In 0.45.0, the old tools below moved into the tools above. The old names still work (they are not listed, and each result ends with a short note naming the new call) and may stop working after 2027-01-12. Update scripts, prompts, and "always allow" permission lists to the new names. Full guide: [MCP tool changes](https://www.poster.ly/docs/integrations/mcp-tool-changes).
|
|
386
|
+
|
|
387
|
+
| Old name | New tool | Pass |
|
|
388
|
+
| --- | --- | --- |
|
|
389
|
+
| `get_mcp_status` | `whoami` | `view=status` |
|
|
390
|
+
| `get_connect_session` | `list_accounts` | `view=connect_session` |
|
|
391
|
+
| `get_learned_voice` | `list_accounts` | `view=learned_voice` |
|
|
392
|
+
| `get_performance_profile` | `list_accounts` | `view=performance_profile` |
|
|
393
|
+
| `get_platform_schema` | `list_platforms` | `view=schema` |
|
|
394
|
+
| `get_connect_link` | `list_platforms` | `view=connect_link` (the old `platform` param is now `target`) |
|
|
395
|
+
| `get_brand` | `list_brands` | `view=brand` |
|
|
396
|
+
| `list_brand_accounts` | `list_brands` | `view=accounts` |
|
|
397
|
+
| `get_brand_profile` | `list_brands` | `view=profile` |
|
|
398
|
+
| `get_post_missing` | `get_post` | `view=missing` |
|
|
399
|
+
| `update_post_status` | `update_post` | pass `status` |
|
|
400
|
+
| `update_post_release_id` | `update_post` | pass `release_id` |
|
|
401
|
+
| `delete_post_group` | `delete_post` | pass `group_id` (preview then confirm) |
|
|
402
|
+
| `upload_media_from_url` | `upload_media` | pass `url` |
|
|
403
|
+
| `get_account_analytics` | `list_analytics` | `view=accounts` |
|
|
404
|
+
| `get_post_analytics` | `list_analytics` | `view=posts` |
|
|
405
|
+
| `get_post_insights` | `list_analytics` | `view=insights` |
|
|
406
|
+
| `get_image_job` | `list_jobs` | `type=image` |
|
|
407
|
+
| `get_video_job` | `list_jobs` | `type=video` |
|
|
408
|
+
| `get_comment` | `list_comments` | pass `comment_id` |
|
|
409
|
+
| `reply_to_comment` | `manage_comment` | `action=reply` (preview then confirm) |
|
|
410
|
+
| `update_comment` | `manage_comment` | `action=update` |
|
|
411
|
+
| `delete_comment` | `manage_comment` | `action=delete` (preview then confirm) |
|
|
412
|
+
| `get_conversation` | `list_conversations` | pass `conversation_id` |
|
|
413
|
+
| `send_message` | `manage_conversation` | `action=send` (preview then confirm) |
|
|
414
|
+
| `sync_inbox` | `manage_conversation` | `action=sync` |
|
|
415
|
+
| `get_google_business_review_link` | `list_google_business_reviews` | `view=review_link` |
|
|
416
|
+
| `suggest_google_business_review_reply` | `manage_google_business_review` | `action=suggest_reply` |
|
|
417
|
+
| `reply_google_business_review` | `manage_google_business_review` | `action=reply` (preview then confirm) |
|
|
418
|
+
| `delete_google_business_review_reply` | `manage_google_business_review` | `action=delete_reply` (preview then confirm) |
|
|
419
|
+
| `add_google_business_media` | `manage_google_business_media` | `action=add` (preview then confirm) |
|
|
420
|
+
| `delete_google_business_media` | `manage_google_business_media` | `action=delete` (preview then confirm) |
|
|
421
|
+
| `update_webhook` | `manage_webhook` | `action=update` |
|
|
422
|
+
| `delete_webhook` | `manage_webhook` | `action=delete` (preview then confirm) |
|
|
423
|
+
| `test_webhook` | `manage_webhook` | `action=test` |
|
|
424
|
+
| `create_oauth_client` | `manage_oauth_client` | `action=create` |
|
|
425
|
+
| `update_oauth_client` | `manage_oauth_client` | `action=update` |
|
|
426
|
+
| `delete_oauth_client` | `manage_oauth_client` | `action=delete` (preview then confirm) |
|
|
229
427
|
|
|
230
428
|
## Media uploads
|
|
231
429
|
|
|
232
430
|
This npm/stdio server can read local file paths. When `upload_media` receives a larger local file, it automatically requests a signed upload URL and uploads the raw bytes before returning the public media URL.
|
|
233
431
|
|
|
234
|
-
The hosted HTTP MCP endpoint cannot do that for local files by itself because MCP tool calls are JSON-only. On hosted HTTP MCP, `upload_media` is for small base64 uploads up to 5MB decoded. For larger media there, use `
|
|
432
|
+
The hosted HTTP MCP endpoint cannot do that for local files by itself because MCP tool calls are JSON-only. On hosted HTTP MCP, `upload_media` is for small base64 uploads up to 5MB decoded. For larger media there, use `upload_media` with `url` for public direct media URLs, or call `create_signed_upload` only from clients that can also `PUT` the raw file bytes to the returned `upload_url`.
|
|
235
433
|
|
|
236
434
|
## What the brand tools are for
|
|
237
435
|
|
|
@@ -240,9 +438,9 @@ Posterly workspaces often have multiple connected accounts under one client or b
|
|
|
240
438
|
The brand tools let an assistant work at the same level a human does:
|
|
241
439
|
|
|
242
440
|
- `list_brands` lets the agent see clients/brands in the workspace
|
|
243
|
-
- `
|
|
244
|
-
- `
|
|
245
|
-
- `
|
|
441
|
+
- `list_brands` with `view: "brand"` returns summary info for one brand
|
|
442
|
+
- `list_brands` with `view: "accounts"` resolves a brand into the actual connected accounts
|
|
443
|
+
- `list_brands` with `view: "profile"` returns saved brand guidance like tone, audience, keywords, dos and don'ts, and visual notes
|
|
246
444
|
|
|
247
445
|
This makes prompts like:
|
|
248
446
|
|
|
@@ -316,3 +514,4 @@ The package reads:
|
|
|
316
514
|
|
|
317
515
|
- optional `POSTERLY_API_KEY` for authenticated posterly tools
|
|
318
516
|
- optional `POSTERLY_URL` if you need to point at a non-production environment
|
|
517
|
+
- optional `POSTERLY_TOOLSETS` (for example `core,inbox`) to list fewer tool sets
|