postfast-mcp 0.1.24 → 0.3.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +8 -1
- package/dist/core/backend-port.d.ts +138 -0
- package/dist/core/backend-port.js +2 -0
- package/dist/core/backend-port.js.map +1 -0
- package/dist/core/build-tools.d.ts +38 -0
- package/dist/core/build-tools.js +84 -0
- package/dist/core/build-tools.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.js +12 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/instructions.d.ts +3 -0
- package/dist/core/instructions.js +63 -0
- package/dist/core/instructions.js.map +1 -0
- package/dist/core/shared.d.ts +23 -0
- package/dist/core/shared.js +60 -0
- package/dist/core/shared.js.map +1 -0
- package/dist/core/tool-def.d.ts +55 -0
- package/dist/core/tool-def.js +2 -0
- package/dist/core/tool-def.js.map +1 -0
- package/dist/core/tools/accounts.d.ts +2 -0
- package/dist/core/tools/accounts.js +112 -0
- package/dist/core/tools/accounts.js.map +1 -0
- package/dist/core/tools/inbox.d.ts +11 -0
- package/dist/core/tools/inbox.js +191 -0
- package/dist/core/tools/inbox.js.map +1 -0
- package/dist/core/tools/index.d.ts +8 -0
- package/dist/core/tools/index.js +19 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/posts.d.ts +2 -0
- package/dist/core/tools/posts.js +264 -0
- package/dist/core/tools/posts.js.map +1 -0
- package/dist/core/tools/uploads.d.ts +8 -0
- package/dist/core/tools/uploads.js +102 -0
- package/dist/core/tools/uploads.js.map +1 -0
- package/dist/core/tools/workspaces.d.ts +2 -0
- package/dist/core/tools/workspaces.js +15 -0
- package/dist/core/tools/workspaces.js.map +1 -0
- package/dist/core/types.js.map +1 -0
- package/dist/stdio/index.js +15 -0
- package/dist/stdio/index.js.map +1 -0
- package/dist/stdio/rest-adapter.d.ts +37 -0
- package/dist/stdio/rest-adapter.js +222 -0
- package/dist/stdio/rest-adapter.js.map +1 -0
- package/package.json +20 -7
- package/dist/client.d.ts +0 -9
- package/dist/client.js +0 -57
- package/dist/client.js.map +0 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +0 -1
- package/dist/tools/accounts.d.ts +0 -3
- package/dist/tools/accounts.js +0 -118
- package/dist/tools/accounts.js.map +0 -1
- package/dist/tools/files.d.ts +0 -3
- package/dist/tools/files.js +0 -87
- package/dist/tools/files.js.map +0 -1
- package/dist/tools/posts.d.ts +0 -3
- package/dist/tools/posts.js +0 -228
- package/dist/tools/posts.js.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{types.d.ts → core/types.d.ts} +0 -0
- /package/dist/{types.js → core/types.js} +0 -0
- /package/dist/{index.d.ts → stdio/index.d.ts} +0 -0
package/dist/tools/accounts.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export function registerAccountTools(server, client) {
|
|
3
|
-
server.registerTool('list_accounts', {
|
|
4
|
-
description: 'List all social media accounts connected to the workspace. Each account includes connectionStatus (CONNECTED or DISABLED) and disabledReason (null unless DISABLED), plus followerCount (latest stored snapshot, a string; absent for platforms without follower data), followerCountUpdatedAt, and inboxCapable (whether the account can appear in the social inbox, i.e. comment ingestion is supported). If connectionStatus is DISABLED, the account will not publish until the user reconnects it. For a follower trend over time, use get_follower_history.',
|
|
5
|
-
inputSchema: {},
|
|
6
|
-
}, async () => {
|
|
7
|
-
const data = await client.get('/social-media/my-social-accounts');
|
|
8
|
-
return {
|
|
9
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
10
|
-
};
|
|
11
|
-
});
|
|
12
|
-
server.registerTool('list_pinterest_boards', {
|
|
13
|
-
description: 'List Pinterest boards for a connected Pinterest account',
|
|
14
|
-
inputSchema: {
|
|
15
|
-
socialMediaId: z
|
|
16
|
-
.uuid()
|
|
17
|
-
.describe('Pinterest account ID (from list_accounts)'),
|
|
18
|
-
},
|
|
19
|
-
}, async (input) => {
|
|
20
|
-
const data = await client.get(`/social-media/${input.socialMediaId}/pinterest-boards`);
|
|
21
|
-
return {
|
|
22
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
server.registerTool('list_youtube_playlists', {
|
|
26
|
-
description: 'List YouTube playlists for a connected YouTube account',
|
|
27
|
-
inputSchema: {
|
|
28
|
-
socialMediaId: z
|
|
29
|
-
.uuid()
|
|
30
|
-
.describe('YouTube account ID (from list_accounts)'),
|
|
31
|
-
},
|
|
32
|
-
}, async (input) => {
|
|
33
|
-
const data = await client.get(`/social-media/${input.socialMediaId}/youtube-playlists`);
|
|
34
|
-
return {
|
|
35
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
server.registerTool('list_gbp_locations', {
|
|
39
|
-
description: 'List Google Business Profile locations for a connected GBP account',
|
|
40
|
-
inputSchema: {
|
|
41
|
-
socialMediaId: z
|
|
42
|
-
.uuid()
|
|
43
|
-
.describe('GBP account ID (from list_accounts)'),
|
|
44
|
-
},
|
|
45
|
-
}, async (input) => {
|
|
46
|
-
const data = await client.get(`/social-media/${input.socialMediaId}/gbp-locations`);
|
|
47
|
-
return {
|
|
48
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
server.registerTool('get_follower_history', {
|
|
52
|
-
description: 'Daily follower-count snapshots for a connected account, plus the current count (currentFollowerCount) and the net change (delta) over the range. Date range via from/to (ISO 8601); defaults to the last 90 days, capped at 365. Tracking is forward-only: data starts at trackingStartedAt (when PostFast began recording this account), with no snapshots before then. All counts are strings (bigint); currentFollowerCount, delta, and trackingStartedAt may be absent until the account has its first snapshot. Coverage: Facebook Pages, Instagram, YouTube, Pinterest, Threads, Bluesky, Telegram, LinkedIn company pages, and TikTok. Not available: X, personal Facebook.',
|
|
53
|
-
inputSchema: {
|
|
54
|
-
socialMediaId: z
|
|
55
|
-
.uuid()
|
|
56
|
-
.describe('Account ID (from list_accounts)'),
|
|
57
|
-
from: z
|
|
58
|
-
.string()
|
|
59
|
-
.optional()
|
|
60
|
-
.describe('Range start (ISO 8601, e.g. 2026-03-01T00:00:00.000Z). Defaults to 90 days ago.'),
|
|
61
|
-
to: z
|
|
62
|
-
.string()
|
|
63
|
-
.optional()
|
|
64
|
-
.describe('Range end (ISO 8601). Defaults to now. Range is capped at 365 days.'),
|
|
65
|
-
},
|
|
66
|
-
}, async (input) => {
|
|
67
|
-
const data = await client.get(`/social-media/${input.socialMediaId}/follower-history`, { from: input.from, to: input.to });
|
|
68
|
-
return {
|
|
69
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
server.registerTool('search_places', {
|
|
73
|
-
description: 'Find a place to tag. The returned id works for both facebookPlaceId and instagramLocationId.',
|
|
74
|
-
inputSchema: {
|
|
75
|
-
query: z
|
|
76
|
-
.string()
|
|
77
|
-
.min(2)
|
|
78
|
-
.describe('Place name to search, e.g. "Eiffel Tower"'),
|
|
79
|
-
},
|
|
80
|
-
}, async (input) => {
|
|
81
|
-
const data = await client.get('/social-media/search-places', {
|
|
82
|
-
q: input.query,
|
|
83
|
-
});
|
|
84
|
-
return {
|
|
85
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
server.registerTool('generate_connect_link', {
|
|
89
|
-
description: 'Generate a shareable link for external clients to connect their social accounts to the workspace',
|
|
90
|
-
inputSchema: {
|
|
91
|
-
expiryDays: z
|
|
92
|
-
.number()
|
|
93
|
-
.int()
|
|
94
|
-
.min(1)
|
|
95
|
-
.max(30)
|
|
96
|
-
.default(7)
|
|
97
|
-
.describe('Link expiry in days (1-30, default 7)'),
|
|
98
|
-
sendEmail: z
|
|
99
|
-
.boolean()
|
|
100
|
-
.default(false)
|
|
101
|
-
.describe('Send the link via email'),
|
|
102
|
-
email: z
|
|
103
|
-
.email()
|
|
104
|
-
.optional()
|
|
105
|
-
.describe('Recipient email (required if sendEmail is true)'),
|
|
106
|
-
},
|
|
107
|
-
}, async (input) => {
|
|
108
|
-
const data = await client.post('/social-media/connect-link', {
|
|
109
|
-
expiryDays: input.expiryDays,
|
|
110
|
-
sendEmail: input.sendEmail,
|
|
111
|
-
email: input.email,
|
|
112
|
-
});
|
|
113
|
-
return {
|
|
114
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
115
|
-
};
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=accounts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/tools/accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/files.d.ts
DELETED
package/dist/tools/files.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { extname } from 'node:path';
|
|
3
|
-
import { z } from 'zod';
|
|
4
|
-
const MIME_MAP = {
|
|
5
|
-
'.jpg': 'image/jpeg',
|
|
6
|
-
'.jpeg': 'image/jpeg',
|
|
7
|
-
'.png': 'image/png',
|
|
8
|
-
'.gif': 'image/gif',
|
|
9
|
-
'.webp': 'image/webp',
|
|
10
|
-
'.mp4': 'video/mp4',
|
|
11
|
-
'.webm': 'video/webm',
|
|
12
|
-
'.mov': 'video/quicktime',
|
|
13
|
-
};
|
|
14
|
-
const IMAGE_TYPES = [
|
|
15
|
-
'image/jpeg',
|
|
16
|
-
'image/png',
|
|
17
|
-
'image/gif',
|
|
18
|
-
'image/webp',
|
|
19
|
-
];
|
|
20
|
-
const VIDEO_TYPES = ['video/mp4', 'video/webm', 'video/quicktime'];
|
|
21
|
-
function detectContentType(filePath) {
|
|
22
|
-
const ext = extname(filePath).toLowerCase();
|
|
23
|
-
const mime = MIME_MAP[ext];
|
|
24
|
-
if (!mime) {
|
|
25
|
-
throw new Error(`Unsupported file extension "${ext}". Supported: ${Object.keys(MIME_MAP).join(', ')}`);
|
|
26
|
-
}
|
|
27
|
-
return mime;
|
|
28
|
-
}
|
|
29
|
-
export function registerFileTools(server, client) {
|
|
30
|
-
server.registerTool('get_upload_urls', {
|
|
31
|
-
description: 'Get signed upload URLs for media files. Upload your file to the returned URL via PUT, then use the key in create_posts mediaItems.',
|
|
32
|
-
inputSchema: {
|
|
33
|
-
contentType: z
|
|
34
|
-
.string()
|
|
35
|
-
.describe(`MIME type of the file. Supported: ${[...IMAGE_TYPES, ...VIDEO_TYPES].join(', ')}`),
|
|
36
|
-
count: z
|
|
37
|
-
.number()
|
|
38
|
-
.int()
|
|
39
|
-
.min(1)
|
|
40
|
-
.max(8)
|
|
41
|
-
.default(1)
|
|
42
|
-
.describe('Number of upload URLs (1-8 for images, 1 for videos)'),
|
|
43
|
-
},
|
|
44
|
-
}, async (input) => {
|
|
45
|
-
const data = await client.post('/file/get-signed-upload-urls', {
|
|
46
|
-
contentType: input.contentType,
|
|
47
|
-
count: input.count,
|
|
48
|
-
});
|
|
49
|
-
return {
|
|
50
|
-
content: [
|
|
51
|
-
{ type: 'text', text: JSON.stringify(data, null, 2) },
|
|
52
|
-
],
|
|
53
|
-
};
|
|
54
|
-
});
|
|
55
|
-
server.registerTool('upload_media', {
|
|
56
|
-
description: 'Upload a local file to PostFast and get back a media key for use in create_posts. Handles the full flow: detects content type, gets a signed URL, uploads the file, and returns the key and type.',
|
|
57
|
-
inputSchema: {
|
|
58
|
-
filePath: z
|
|
59
|
-
.string()
|
|
60
|
-
.describe('Absolute path to the local file (e.g. /Users/me/photo.jpg)'),
|
|
61
|
-
},
|
|
62
|
-
}, async (input) => {
|
|
63
|
-
const contentType = detectContentType(input.filePath);
|
|
64
|
-
const isVideo = contentType.startsWith('video/');
|
|
65
|
-
const [uploadUrl] = await client.post('/file/get-signed-upload-urls', { contentType, count: 1 });
|
|
66
|
-
const fileBuffer = await readFile(input.filePath);
|
|
67
|
-
const uploadResponse = await fetch(uploadUrl.signedUrl, {
|
|
68
|
-
method: 'PUT',
|
|
69
|
-
headers: { 'Content-Type': contentType },
|
|
70
|
-
body: fileBuffer,
|
|
71
|
-
});
|
|
72
|
-
if (!uploadResponse.ok) {
|
|
73
|
-
throw new Error(`Upload failed (${uploadResponse.status}): ${await uploadResponse.text()}`);
|
|
74
|
-
}
|
|
75
|
-
const result = {
|
|
76
|
-
key: uploadUrl.key,
|
|
77
|
-
type: isVideo ? 'VIDEO' : 'IMAGE',
|
|
78
|
-
contentType,
|
|
79
|
-
};
|
|
80
|
-
return {
|
|
81
|
-
content: [
|
|
82
|
-
{ type: 'text', text: JSON.stringify(result, null, 2) },
|
|
83
|
-
],
|
|
84
|
-
};
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=files.js.map
|
package/dist/tools/files.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/posts.d.ts
DELETED
package/dist/tools/posts.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
const PLATFORMS = [
|
|
3
|
-
'FACEBOOK',
|
|
4
|
-
'INSTAGRAM',
|
|
5
|
-
'X',
|
|
6
|
-
'TIKTOK',
|
|
7
|
-
'LINKEDIN',
|
|
8
|
-
'YOUTUBE',
|
|
9
|
-
'BLUESKY',
|
|
10
|
-
'THREADS',
|
|
11
|
-
'PINTEREST',
|
|
12
|
-
'TELEGRAM',
|
|
13
|
-
'GOOGLE_BUSINESS_PROFILE',
|
|
14
|
-
];
|
|
15
|
-
const STATUSES = ['DRAFT', 'SCHEDULED', 'PUBLISHED', 'FAILED'];
|
|
16
|
-
/** Some MCP clients stringify complex params — parse them back before validation. */
|
|
17
|
-
function jsonParse(schema) {
|
|
18
|
-
return z.preprocess((val) => {
|
|
19
|
-
if (typeof val === 'string') {
|
|
20
|
-
try {
|
|
21
|
-
return JSON.parse(val);
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return val;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return val;
|
|
28
|
-
}, schema);
|
|
29
|
-
}
|
|
30
|
-
export function registerPostTools(server, client) {
|
|
31
|
-
server.registerTool('list_posts', {
|
|
32
|
-
description: 'List social media posts with optional filters for specific IDs, platform, status, and date range. Failed or missed posts carry a lastError { message, code }; codes include MISSED_DISCONNECTED (the account was disconnected when the post was due — reconnect, then retry) and MISSED_NOT_PUBLISHED (passed its scheduled time plus a 2h grace window without publishing).',
|
|
33
|
-
inputSchema: {
|
|
34
|
-
page: z.number().int().min(0).default(0).describe('Page number (0-based)'),
|
|
35
|
-
limit: z
|
|
36
|
-
.number()
|
|
37
|
-
.int()
|
|
38
|
-
.min(1)
|
|
39
|
-
.max(50)
|
|
40
|
-
.default(20)
|
|
41
|
-
.describe('Posts per page (max 50)'),
|
|
42
|
-
ids: z
|
|
43
|
-
.array(z.uuid())
|
|
44
|
-
.max(100)
|
|
45
|
-
.optional()
|
|
46
|
-
.describe('Fetch only these post IDs (workspace-scoped; max 100)'),
|
|
47
|
-
platforms: z
|
|
48
|
-
.array(z.enum(PLATFORMS))
|
|
49
|
-
.optional()
|
|
50
|
-
.describe('Filter by platforms'),
|
|
51
|
-
statuses: z
|
|
52
|
-
.array(z.enum(STATUSES))
|
|
53
|
-
.optional()
|
|
54
|
-
.describe('Filter by post statuses'),
|
|
55
|
-
from: z
|
|
56
|
-
.string()
|
|
57
|
-
.optional()
|
|
58
|
-
.describe('Start date filter (ISO 8601, e.g. 2025-01-01T00:00:00.000Z)'),
|
|
59
|
-
to: z
|
|
60
|
-
.string()
|
|
61
|
-
.optional()
|
|
62
|
-
.describe('End date filter (ISO 8601, e.g. 2025-01-31T23:59:59.999Z)'),
|
|
63
|
-
},
|
|
64
|
-
}, async (input) => {
|
|
65
|
-
const data = await client.get('/social-posts', {
|
|
66
|
-
page: String(input.page),
|
|
67
|
-
limit: String(input.limit),
|
|
68
|
-
ids: input.ids?.join(','),
|
|
69
|
-
platforms: input.platforms?.join(','),
|
|
70
|
-
statuses: input.statuses?.join(','),
|
|
71
|
-
from: input.from,
|
|
72
|
-
to: input.to,
|
|
73
|
-
});
|
|
74
|
-
return {
|
|
75
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
server.registerTool('create_posts', {
|
|
79
|
-
description: 'Create and schedule social media posts. Supports batch creation (up to 15 posts). Each post targets a specific social account. Scheduling to a disconnected account (connectionStatus DISABLED in list_accounts) is rejected with HTTP 400 "socialMediaDisconnected" — pre-check connectionStatus before calling. Saving as DRAFT to a disconnected account is allowed. TikTok, Instagram, YouTube, Pinterest, and Google Business Profile require at least one media item EVEN FOR DRAFTS — attach media first (upload via upload_media or get_upload_urls, then reference the key in mediaItems).',
|
|
80
|
-
inputSchema: {
|
|
81
|
-
posts: jsonParse(z
|
|
82
|
-
.array(z.object({
|
|
83
|
-
content: z.string().describe('Post text content'),
|
|
84
|
-
firstComment: z.string().optional().describe('First comment posted automatically after publishing. Supported on X, Instagram, Facebook, YouTube, Threads, and TikTok (TikTok: Business accounts only, max 150 chars, comments must be enabled).'),
|
|
85
|
-
mediaItems: z
|
|
86
|
-
.array(z.object({
|
|
87
|
-
key: z.string().describe('S3 media key from get_upload_urls'),
|
|
88
|
-
type: z.enum(['IMAGE', 'VIDEO']),
|
|
89
|
-
sortOrder: z.number().int().min(0),
|
|
90
|
-
coverImageKey: z.string().optional().describe('S3 key of a custom cover/thumbnail image for video posts (upload via get_upload_urls first). Supported on Instagram Reels, Facebook Reels, Pinterest video pins.'),
|
|
91
|
-
coverTimestamp: z.string().optional().describe('Video cover timestamp in milliseconds (e.g. "5000" = 5s). Fallback when coverImageKey is also provided.'),
|
|
92
|
-
}))
|
|
93
|
-
.optional()
|
|
94
|
-
.describe('Media attachments'),
|
|
95
|
-
scheduledAt: z
|
|
96
|
-
.string()
|
|
97
|
-
.optional()
|
|
98
|
-
.describe('Schedule time (ISO 8601). Required when status is SCHEDULED.'),
|
|
99
|
-
socialMediaId: z
|
|
100
|
-
.uuid()
|
|
101
|
-
.describe('Target social account ID (from list_accounts)'),
|
|
102
|
-
}))
|
|
103
|
-
.min(1)
|
|
104
|
-
.max(15)
|
|
105
|
-
.describe('Array of posts to create')),
|
|
106
|
-
status: z
|
|
107
|
-
.enum(['DRAFT', 'SCHEDULED'])
|
|
108
|
-
.default('SCHEDULED')
|
|
109
|
-
.describe('Post status. SCHEDULED requires scheduledAt on all posts.'),
|
|
110
|
-
approvalStatus: z
|
|
111
|
-
.enum(['PENDING_APPROVAL', 'APPROVED'])
|
|
112
|
-
.default('APPROVED')
|
|
113
|
-
.describe('Approval workflow status'),
|
|
114
|
-
controls: jsonParse(z.object({
|
|
115
|
-
// X/Twitter
|
|
116
|
-
xRetweetUrl: z.string().optional(),
|
|
117
|
-
// TikTok
|
|
118
|
-
tiktokPrivacy: z.enum(['PUBLIC', 'MUTUAL_FRIENDS', 'FOLLOWER_OF_CREATOR', 'ONLY_ME']).optional().describe('Deprecated. TikTok videos use the account default privacy (no per-post control) and photos default to public; use a draft for private posts.'),
|
|
119
|
-
tiktokIsDraft: z.boolean().optional(),
|
|
120
|
-
tiktokAllowComments: z.boolean().optional(),
|
|
121
|
-
tiktokAllowDuet: z.boolean().optional(),
|
|
122
|
-
tiktokAllowStitch: z.boolean().optional(),
|
|
123
|
-
tiktokBrandOrganic: z.boolean().optional(),
|
|
124
|
-
tiktokBrandContent: z.boolean().optional(),
|
|
125
|
-
tiktokAutoAddMusic: z.boolean().optional(),
|
|
126
|
-
tiktokIsAigc: z.boolean().optional().describe('Declare video as AI-generated content'),
|
|
127
|
-
tiktokTitle: z.string().max(90).optional().describe('Title for TikTok photo posts (max 90 chars; photo posts only). When set, the full post content becomes the description; without it, content auto-splits on the first newline into title + description.'),
|
|
128
|
-
// Instagram
|
|
129
|
-
instagramPostToGrid: z.boolean().optional(),
|
|
130
|
-
instagramPublishType: z.enum(['TIMELINE', 'STORY', 'REEL']).optional(),
|
|
131
|
-
instagramCollaborators: z.array(z.string()).optional(),
|
|
132
|
-
instagramLocationId: z.string().optional().describe('Geotag: same FB Page id from search_places. Single media only, not carousels.'),
|
|
133
|
-
instagramLocationName: z.string().max(255).optional().describe('Display-only location name (not sent to Meta).'),
|
|
134
|
-
// YouTube
|
|
135
|
-
youtubePrivacy: z.enum(['PUBLIC', 'PRIVATE', 'UNLISTED']).optional(),
|
|
136
|
-
youtubeTags: z.array(z.string()).optional(),
|
|
137
|
-
youtubeCategoryId: z.string().optional(),
|
|
138
|
-
youtubeIsShort: z.boolean().optional(),
|
|
139
|
-
youtubeMadeForKids: z.boolean().optional(),
|
|
140
|
-
youtubeTitle: z.string().optional(),
|
|
141
|
-
youtubePlaylistId: z.string().optional(),
|
|
142
|
-
youtubeThumbnailKey: z.string().optional().describe('S3 media key for custom YouTube video thumbnail (image, max 2MB, min 640px wide, 1280x720 recommended)'),
|
|
143
|
-
// Facebook
|
|
144
|
-
facebookContentType: z.enum(['POST', 'REEL', 'STORY']).optional(),
|
|
145
|
-
facebookAllowComments: z.boolean().optional(),
|
|
146
|
-
facebookPrivacy: z
|
|
147
|
-
.enum(['PUBLIC', 'FRIENDS_OF_FRIENDS', 'FRIENDS', 'SELF'])
|
|
148
|
-
.optional(),
|
|
149
|
-
facebookCarouselMainLink: z.string().optional(),
|
|
150
|
-
facebookCarouselShowEndCard: z.boolean().optional(),
|
|
151
|
-
facebookReelsCollaborators: z.array(z.string()).optional(),
|
|
152
|
-
facebookTargetCountries: z.array(z.string().length(2)).max(25).optional().describe('Facebook only: ISO 3166-1 alpha-2 codes (max 25). Limits who can see the post; also hidden from logged-out viewers. Feed posts only, not Reels/Stories.'),
|
|
153
|
-
facebookPlaceId: z.string().optional().describe('Geotag: FB Page id (with location) from search_places. Feed posts only.'),
|
|
154
|
-
facebookPlaceName: z.string().optional().describe('Display-only place name (not sent to Meta).'),
|
|
155
|
-
// Google Business Profile
|
|
156
|
-
gbpLocationId: z.string().optional().describe('GBP location resource name (from list_gbp_locations)'),
|
|
157
|
-
gbpTopicType: z.enum(['STANDARD', 'EVENT', 'OFFER']).optional().describe('Post type'),
|
|
158
|
-
gbpCallToActionType: z.enum(['BOOK', 'ORDER', 'LEARN_MORE', 'SIGN_UP', 'CALL', 'SHOP']).optional(),
|
|
159
|
-
gbpCallToActionUrl: z.string().optional().describe('CTA button URL (not needed for CALL, ignored for OFFER)'),
|
|
160
|
-
gbpEventTitle: z.string().optional().describe('Title for EVENT/OFFER posts (max 58 chars)'),
|
|
161
|
-
gbpEventStartDate: z.string().optional().describe('Start date for EVENT/OFFER (ISO 8601)'),
|
|
162
|
-
gbpEventEndDate: z.string().optional().describe('End date for EVENT/OFFER (ISO 8601)'),
|
|
163
|
-
gbpOfferCouponCode: z.string().optional().describe('Coupon code (OFFER only)'),
|
|
164
|
-
gbpOfferRedeemUrl: z.string().optional().describe('Redemption URL (OFFER only)'),
|
|
165
|
-
gbpOfferTerms: z.string().optional().describe('Terms and conditions (OFFER only)'),
|
|
166
|
-
// Pinterest
|
|
167
|
-
pinterestBoardId: z.string().optional(),
|
|
168
|
-
pinterestLink: z.string().optional(),
|
|
169
|
-
// LinkedIn
|
|
170
|
-
linkedinAttachmentKey: z.string().optional(),
|
|
171
|
-
linkedinAttachmentTitle: z.string().optional(),
|
|
172
|
-
})
|
|
173
|
-
.optional()
|
|
174
|
-
.describe('Platform-specific controls (shared across all posts in the batch)')),
|
|
175
|
-
},
|
|
176
|
-
}, async (input) => {
|
|
177
|
-
const data = await client.post('/social-posts', {
|
|
178
|
-
posts: input.posts,
|
|
179
|
-
status: input.status,
|
|
180
|
-
approvalStatus: input.approvalStatus,
|
|
181
|
-
controls: input.controls,
|
|
182
|
-
});
|
|
183
|
-
return {
|
|
184
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
185
|
-
};
|
|
186
|
-
});
|
|
187
|
-
server.registerTool('delete_post', {
|
|
188
|
-
description: 'Delete a social media post by ID',
|
|
189
|
-
inputSchema: {
|
|
190
|
-
id: z.uuid().describe('Post ID to delete'),
|
|
191
|
-
},
|
|
192
|
-
}, async (input) => {
|
|
193
|
-
const data = await client.delete(`/social-posts/${input.id}`);
|
|
194
|
-
return {
|
|
195
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
196
|
-
};
|
|
197
|
-
});
|
|
198
|
-
server.registerTool('get_post_analytics', {
|
|
199
|
-
description: 'Fetch published posts with their latest performance metrics (impressions, reach, likes, comments, shares). Only returns published posts that have a platform post ID. LinkedIn personal accounts are excluded. Supported: Instagram, Facebook, TikTok, Threads, YouTube, LinkedIn (company pages), Pinterest (Business accounts). Pinterest extras include pin_clicks, outbound_clicks, saves_90d, save_rate_90d (saves are 90-day rolling because Pinterest API does not expose lifetime totals); video pins additionally surface mrc_views, views_10s, avg_watch_time, v50_watch_time, video_starts, quartile_95_views. Video posts also include normalized watch-time on latestMetric: avgWatchTimeSeconds, totalWatchTimeSeconds, videoViews (Facebook, Instagram Reels, YouTube, Pinterest, LinkedIn company pages, TikTok). Instagram posts also include saveRate on latestMetric (saves / reach as a percentage, rounded to 2 decimals; feed posts, reels, and carousels), and Instagram Reels additionally include reelsSkipRate (percentage of viewers who skipped the reel in the first 3 seconds, rounded to 2 decimals; may be absent on low-view reels or until metrics refresh). TikTok also exposes total_time_watched, average_time_watched, and full_video_watched_rate in metric.extras.',
|
|
200
|
-
inputSchema: {
|
|
201
|
-
startDate: z
|
|
202
|
-
.string()
|
|
203
|
-
.describe('Start of date range (ISO 8601, e.g. 2026-01-01T00:00:00.000Z)'),
|
|
204
|
-
endDate: z
|
|
205
|
-
.string()
|
|
206
|
-
.describe('End of date range (ISO 8601, e.g. 2026-01-31T23:59:59.999Z)'),
|
|
207
|
-
platforms: z
|
|
208
|
-
.array(z.enum(PLATFORMS))
|
|
209
|
-
.optional()
|
|
210
|
-
.describe('Filter by platforms'),
|
|
211
|
-
socialMediaIds: z
|
|
212
|
-
.array(z.uuid())
|
|
213
|
-
.optional()
|
|
214
|
-
.describe('Filter by specific social media account IDs'),
|
|
215
|
-
},
|
|
216
|
-
}, async (input) => {
|
|
217
|
-
const data = await client.get('/social-posts/analytics', {
|
|
218
|
-
startDate: input.startDate,
|
|
219
|
-
endDate: input.endDate,
|
|
220
|
-
platforms: input.platforms?.join(','),
|
|
221
|
-
socialMediaIds: input.socialMediaIds?.join(','),
|
|
222
|
-
});
|
|
223
|
-
return {
|
|
224
|
-
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
225
|
-
};
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=posts.js.map
|
package/dist/tools/posts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/tools/posts.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|