posterly-mcp-server 0.44.0 → 0.45.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 +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 +30 -7
- package/dist/tools/create-post.js +75 -9
- package/dist/tools/create-posts-batch.d.ts +4 -4
- package/dist/tools/create-posts-batch.js +14 -2
- 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/validate-post.js +2 -2
- 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-payload-builders.mjs +143 -20
- 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 +87 -12
- package/src/tools/create-posts-batch.ts +13 -2
- 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/validate-post.ts +2 -1
- package/src/tools/whoami.ts +253 -30
- package/tool-annotations.json +76 -149
- package/tool-registry.json +2085 -0
- package/dist/tools/add-google-business-media.d.ts +0 -42
- package/dist/tools/add-google-business-media.js +0 -34
- package/dist/tools/create-oauth-client.d.ts +0 -40
- package/dist/tools/create-oauth-client.js +0 -20
- package/dist/tools/delete-comment.d.ts +0 -24
- package/dist/tools/delete-comment.js +0 -22
- package/dist/tools/delete-google-business-media.d.ts +0 -32
- package/dist/tools/delete-google-business-media.js +0 -17
- package/dist/tools/delete-google-business-review-reply.d.ts +0 -32
- package/dist/tools/delete-google-business-review-reply.js +0 -17
- package/dist/tools/delete-oauth-client.d.ts +0 -20
- package/dist/tools/delete-oauth-client.js +0 -13
- package/dist/tools/delete-post-group.d.ts +0 -20
- package/dist/tools/delete-post-group.js +0 -13
- package/dist/tools/delete-webhook.d.ts +0 -20
- package/dist/tools/delete-webhook.js +0 -13
- package/dist/tools/get-account-analytics.d.ts +0 -31
- package/dist/tools/get-account-analytics.js +0 -152
- package/dist/tools/get-brand-profile.d.ts +0 -16
- package/dist/tools/get-brand-profile.js +0 -73
- package/dist/tools/get-brand.d.ts +0 -16
- package/dist/tools/get-brand.js +0 -26
- package/dist/tools/get-comment.d.ts +0 -20
- package/dist/tools/get-comment.js +0 -36
- package/dist/tools/get-connect-link.d.ts +0 -28
- package/dist/tools/get-connect-link.js +0 -51
- package/dist/tools/get-connect-session.d.ts +0 -20
- package/dist/tools/get-connect-session.js +0 -54
- package/dist/tools/get-conversation.d.ts +0 -24
- package/dist/tools/get-conversation.js +0 -31
- package/dist/tools/get-google-business-review-link.d.ts +0 -24
- package/dist/tools/get-google-business-review-link.js +0 -19
- package/dist/tools/get-image-job.d.ts +0 -24
- package/dist/tools/get-image-job.js +0 -31
- package/dist/tools/get-learned-voice.d.ts +0 -16
- package/dist/tools/get-learned-voice.js +0 -22
- package/dist/tools/get-mcp-status.d.ts +0 -8
- package/dist/tools/get-mcp-status.js +0 -182
- package/dist/tools/get-performance-profile.d.ts +0 -16
- package/dist/tools/get-performance-profile.js +0 -39
- package/dist/tools/get-platform-schema.d.ts +0 -24
- package/dist/tools/get-platform-schema.js +0 -48
- package/dist/tools/get-post-analytics.d.ts +0 -39
- package/dist/tools/get-post-analytics.js +0 -222
- package/dist/tools/get-post-insights.d.ts +0 -28
- package/dist/tools/get-post-insights.js +0 -39
- package/dist/tools/get-post-missing.d.ts +0 -16
- package/dist/tools/get-post-missing.js +0 -12
- package/dist/tools/get-video-job.d.ts +0 -24
- package/dist/tools/get-video-job.js +0 -31
- package/dist/tools/list-brand-accounts.d.ts +0 -16
- package/dist/tools/list-brand-accounts.js +0 -24
- package/dist/tools/reply-google-business-review.d.ts +0 -36
- package/dist/tools/reply-google-business-review.js +0 -18
- package/dist/tools/reply-to-comment.d.ts +0 -32
- package/dist/tools/reply-to-comment.js +0 -17
- package/dist/tools/send-message.d.ts +0 -28
- package/dist/tools/send-message.js +0 -16
- package/dist/tools/suggest-google-business-review-reply.d.ts +0 -48
- package/dist/tools/suggest-google-business-review-reply.js +0 -27
- package/dist/tools/sync-inbox.d.ts +0 -24
- package/dist/tools/sync-inbox.js +0 -18
- package/dist/tools/test-webhook.d.ts +0 -20
- package/dist/tools/test-webhook.js +0 -14
- package/dist/tools/update-comment.d.ts +0 -28
- package/dist/tools/update-comment.js +0 -21
- package/dist/tools/update-oauth-client.d.ts +0 -44
- package/dist/tools/update-oauth-client.js +0 -21
- package/dist/tools/update-post-release-id.d.ts +0 -28
- package/dist/tools/update-post-release-id.js +0 -18
- package/dist/tools/update-post-status.d.ts +0 -28
- package/dist/tools/update-post-status.js +0 -23
- package/dist/tools/update-webhook.d.ts +0 -40
- package/dist/tools/update-webhook.js +0 -21
- package/dist/tools/upload-media-from-url.d.ts +0 -24
- package/dist/tools/upload-media-from-url.js +0 -26
- 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
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { PosterlyClient } from '../lib/api-client.js';
|
|
3
|
-
|
|
4
|
-
export const updatePostReleaseIdTool = {
|
|
5
|
-
name: 'update_post_release_id',
|
|
6
|
-
description:
|
|
7
|
-
'Set or repair an external release_id and optional group_id on a post. WRITE: call get_post first, show the target post and release/group IDs, then pass confirm=true only after explicit confirmation.',
|
|
8
|
-
inputSchema: z.object({
|
|
9
|
-
post_id: z.number().int().positive().describe('The post ID to update.'),
|
|
10
|
-
release_id: z.string().min(1).max(160).describe('External release ID to store on the post.'),
|
|
11
|
-
group_id: z.string().min(1).max(160).optional().describe('Optional external group/campaign ID.'),
|
|
12
|
-
confirm: z.literal(true).describe('Must be true after explicit user confirmation.'),
|
|
13
|
-
}),
|
|
14
|
-
|
|
15
|
-
async execute(
|
|
16
|
-
client: PosterlyClient,
|
|
17
|
-
input: { post_id: number; release_id: string; group_id?: string; confirm: true },
|
|
18
|
-
) {
|
|
19
|
-
const result = await client.updatePostReleaseId(input.post_id, {
|
|
20
|
-
release_id: input.release_id,
|
|
21
|
-
group_id: input.group_id,
|
|
22
|
-
});
|
|
23
|
-
return JSON.stringify(result, null, 2);
|
|
24
|
-
},
|
|
25
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { PosterlyClient } from '../lib/api-client.js';
|
|
3
|
-
|
|
4
|
-
export const updatePostStatusTool = {
|
|
5
|
-
name: 'update_post_status',
|
|
6
|
-
description:
|
|
7
|
-
'Pause, resume/schedule, or move a post back to draft. DESTRUCTIVE WRITE: changes whether content will publish.\n\n' +
|
|
8
|
-
'REQUIRED BEFORE CALLING: Fetch the post with `get_post`, show the user current status and proposed status/scheduled_at, then get explicit confirmation. Pass confirm=true only after that confirmation.',
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
post_id: z.number().describe('The post ID to update.'),
|
|
11
|
-
status: z.enum(['scheduled', 'paused', 'draft']).describe('Target status.'),
|
|
12
|
-
scheduled_at: z.string().optional().describe('ISO 8601 datetime. Required when scheduling a draft.'),
|
|
13
|
-
confirm: z.boolean().describe('Must be true after explicit user confirmation.'),
|
|
14
|
-
}),
|
|
15
|
-
|
|
16
|
-
async execute(
|
|
17
|
-
client: PosterlyClient,
|
|
18
|
-
input: { post_id: number; status: 'scheduled' | 'paused' | 'draft'; scheduled_at?: string; confirm: boolean },
|
|
19
|
-
) {
|
|
20
|
-
if (input.confirm !== true) {
|
|
21
|
-
throw new Error('Refusing to update post status without confirm=true after explicit user confirmation.');
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const result = await client.updatePostStatus(input.post_id, {
|
|
25
|
-
status: input.status,
|
|
26
|
-
scheduled_at: input.scheduled_at,
|
|
27
|
-
});
|
|
28
|
-
const transition = result.transition || {};
|
|
29
|
-
return `Post #${input.post_id} status changed from ${transition.old_status || 'unknown'} to ${transition.new_status || input.status}.`;
|
|
30
|
-
},
|
|
31
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { PosterlyClient } from '../lib/api-client.js';
|
|
3
|
-
import { webhookEventSchema } from './webhook-events.js';
|
|
4
|
-
|
|
5
|
-
export const updateWebhookTool = {
|
|
6
|
-
name: 'update_webhook',
|
|
7
|
-
description:
|
|
8
|
-
'Update a webhook URL, events, workspace, description, or active state. WRITE WITH OUTBOUND SIDE EFFECTS: list the current webhook first and get explicit confirmation before calling.',
|
|
9
|
-
inputSchema: z.object({
|
|
10
|
-
webhook_id: z.string().describe('Webhook ID from list_webhooks.'),
|
|
11
|
-
url: z.string().url().optional(),
|
|
12
|
-
events: z.array(webhookEventSchema).optional(),
|
|
13
|
-
workspace_id: z.union([z.string(), z.null()]).optional(),
|
|
14
|
-
description: z.union([z.string().max(240), z.null()]).optional(),
|
|
15
|
-
is_active: z.boolean().optional(),
|
|
16
|
-
confirm: z.literal(true).describe('Must be true after the user explicitly confirms the webhook update.'),
|
|
17
|
-
}),
|
|
18
|
-
|
|
19
|
-
async execute(
|
|
20
|
-
client: PosterlyClient,
|
|
21
|
-
input: {
|
|
22
|
-
webhook_id: string;
|
|
23
|
-
url?: string;
|
|
24
|
-
events?: string[];
|
|
25
|
-
workspace_id?: string | null;
|
|
26
|
-
description?: string | null;
|
|
27
|
-
is_active?: boolean;
|
|
28
|
-
confirm: true;
|
|
29
|
-
},
|
|
30
|
-
) {
|
|
31
|
-
const { webhook_id, confirm: _confirm, ...payload } = input;
|
|
32
|
-
const result = await client.updateWebhook(webhook_id, payload);
|
|
33
|
-
const active = result.webhook.is_active ? 'active' : 'inactive';
|
|
34
|
-
return `Webhook updated: ${result.webhook.id}\nURL: ${result.webhook.url}\nState: ${active}\nEvents: ${result.webhook.events.join(', ')}`;
|
|
35
|
-
},
|
|
36
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import type { PosterlyClient } from '../lib/api-client.js';
|
|
3
|
-
|
|
4
|
-
export const uploadMediaFromUrlTool = {
|
|
5
|
-
name: 'upload_media_from_url',
|
|
6
|
-
description:
|
|
7
|
-
'Fetch an image or video from a public HTTPS URL into posterly storage. Returns a URL that can be used with create_post. You can also pass public HTTP(S) media URLs directly to create_post/update_post; use this tool when you want to upload once and reuse the returned posterly URL.',
|
|
8
|
-
inputSchema: z.object({
|
|
9
|
-
url: z.string().url().describe('Public HTTPS URL for the image or video. Local/private network URLs are blocked.'),
|
|
10
|
-
filename: z.string().optional().describe('Optional filename override.'),
|
|
11
|
-
content_type: z.string().optional().describe('Optional MIME type override.'),
|
|
12
|
-
}),
|
|
13
|
-
|
|
14
|
-
async execute(
|
|
15
|
-
client: PosterlyClient,
|
|
16
|
-
input: { url: string; filename?: string; content_type?: string },
|
|
17
|
-
) {
|
|
18
|
-
const result = await client.uploadMediaFromUrl({
|
|
19
|
-
url: input.url,
|
|
20
|
-
filename: input.filename,
|
|
21
|
-
contentType: input.content_type,
|
|
22
|
-
});
|
|
23
|
-
return [
|
|
24
|
-
'Remote media uploaded successfully.',
|
|
25
|
-
`• URL: ${result.url}`,
|
|
26
|
-
`• Source URL: ${result.source_url}`,
|
|
27
|
-
`• Content type: ${result.content_type}`,
|
|
28
|
-
`• Size: ${result.size} bytes`,
|
|
29
|
-
'',
|
|
30
|
-
'Use this URL as media_url when creating a post.',
|
|
31
|
-
].join('\n');
|
|
32
|
-
},
|
|
33
|
-
};
|