@voxburst/mcp-server 0.1.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 +293 -0
- package/dist/client.d.ts +98 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +116 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +184 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/accounts.d.ts +41 -0
- package/dist/resources/accounts.d.ts.map +1 -0
- package/dist/resources/accounts.js +82 -0
- package/dist/resources/accounts.js.map +1 -0
- package/dist/resources/index.d.ts +24 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +45 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/posts.d.ts +41 -0
- package/dist/resources/posts.d.ts.map +1 -0
- package/dist/resources/posts.js +97 -0
- package/dist/resources/posts.js.map +1 -0
- package/dist/tools/accounts.d.ts +39 -0
- package/dist/tools/accounts.d.ts.map +1 -0
- package/dist/tools/accounts.js +51 -0
- package/dist/tools/accounts.js.map +1 -0
- package/dist/tools/analytics.d.ts +51 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +60 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/index.d.ts +111 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +36 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/posts.d.ts +186 -0
- package/dist/tools/posts.d.ts.map +1 -0
- package/dist/tools/posts.js +176 -0
- package/dist/tools/posts.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics MCP Tools
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import type { VoxBurstClient, PostMetrics, AccountMetrics } from '../client.js';
|
|
6
|
+
export declare const GetPostMetricsSchema: z.ZodObject<{
|
|
7
|
+
postId: z.ZodString;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
postId: string;
|
|
10
|
+
}, {
|
|
11
|
+
postId: string;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const GetAccountMetricsSchema: z.ZodObject<{
|
|
14
|
+
accountId: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
accountId: string;
|
|
17
|
+
}, {
|
|
18
|
+
accountId: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function getAnalyticsTools(): ({
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
inputSchema: {
|
|
24
|
+
type: "object";
|
|
25
|
+
properties: {
|
|
26
|
+
postId: {
|
|
27
|
+
type: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
accountId?: undefined;
|
|
31
|
+
};
|
|
32
|
+
required: string[];
|
|
33
|
+
};
|
|
34
|
+
} | {
|
|
35
|
+
name: string;
|
|
36
|
+
description: string;
|
|
37
|
+
inputSchema: {
|
|
38
|
+
type: "object";
|
|
39
|
+
properties: {
|
|
40
|
+
accountId: {
|
|
41
|
+
type: string;
|
|
42
|
+
description: string;
|
|
43
|
+
};
|
|
44
|
+
postId?: undefined;
|
|
45
|
+
};
|
|
46
|
+
required: string[];
|
|
47
|
+
};
|
|
48
|
+
})[];
|
|
49
|
+
export declare function handleGetPostMetrics(client: VoxBurstClient, args: unknown): Promise<PostMetrics>;
|
|
50
|
+
export declare function handleGetAccountMetrics(client: VoxBurstClient, args: unknown): Promise<AccountMetrics>;
|
|
51
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhF,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAGH,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BhC;AAGD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,CAAC,CAGzB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Analytics MCP Tools
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GetAccountMetricsSchema = exports.GetPostMetricsSchema = void 0;
|
|
7
|
+
exports.getAnalyticsTools = getAnalyticsTools;
|
|
8
|
+
exports.handleGetPostMetrics = handleGetPostMetrics;
|
|
9
|
+
exports.handleGetAccountMetrics = handleGetAccountMetrics;
|
|
10
|
+
const zod_1 = require("zod");
|
|
11
|
+
// Input schemas
|
|
12
|
+
exports.GetPostMetricsSchema = zod_1.z.object({
|
|
13
|
+
postId: zod_1.z.string().describe('The unique identifier of the post'),
|
|
14
|
+
});
|
|
15
|
+
exports.GetAccountMetricsSchema = zod_1.z.object({
|
|
16
|
+
accountId: zod_1.z.string().describe('The unique identifier of the account'),
|
|
17
|
+
});
|
|
18
|
+
// Tool definitions
|
|
19
|
+
function getAnalyticsTools() {
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
name: 'get_post_metrics',
|
|
23
|
+
description: 'Get engagement metrics for a specific post including impressions, likes, shares, comments, and clicks.',
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {
|
|
27
|
+
postId: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'The unique identifier of the post',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['postId'],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'get_account_metrics',
|
|
37
|
+
description: 'Get metrics for a connected account including follower count, post count, and average engagement rate.',
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: 'object',
|
|
40
|
+
properties: {
|
|
41
|
+
accountId: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'The unique identifier of the account',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
required: ['accountId'],
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
// Tool handlers
|
|
52
|
+
async function handleGetPostMetrics(client, args) {
|
|
53
|
+
const { postId } = exports.GetPostMetricsSchema.parse(args);
|
|
54
|
+
return client.getPostMetrics(postId);
|
|
55
|
+
}
|
|
56
|
+
async function handleGetAccountMetrics(client, args) {
|
|
57
|
+
const { accountId } = exports.GetAccountMetricsSchema.parse(args);
|
|
58
|
+
return client.getAccountMetrics(accountId);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAeH,8CA+BC;AAGD,oDAMC;AAED,0DAMC;AA7DD,6BAAwB;AAGxB,gBAAgB;AACH,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACjE,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACvE,CAAC,CAAC;AAEH,mBAAmB;AACnB,SAAgB,iBAAiB;IAC/B,OAAO;QACL;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,wGAAwG;YACrH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,wGAAwG;YACrH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sCAAsC;qBACpD;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF;KACF,CAAC;AACJ,CAAC;AAED,gBAAgB;AACT,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,IAAa;IAEb,MAAM,EAAE,MAAM,EAAE,GAAG,4BAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,IAAa;IAEb,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry - Exports all MCP tools
|
|
3
|
+
*/
|
|
4
|
+
export { getPostTools, handleCreatePost, handleListPosts, handleGetPost, handleDeletePost, handleValidateContent } from './posts.js';
|
|
5
|
+
export { getAccountTools, handleListAccounts, handleGetAccount } from './accounts.js';
|
|
6
|
+
export { getAnalyticsTools, handleGetPostMetrics, handleGetAccountMetrics } from './analytics.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get all available tools
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAllTools(): ({
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: "object";
|
|
15
|
+
properties: {
|
|
16
|
+
content: {
|
|
17
|
+
type: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
mediaUrls: {
|
|
21
|
+
type: string;
|
|
22
|
+
items: {
|
|
23
|
+
type: string;
|
|
24
|
+
};
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
accountIds: {
|
|
28
|
+
type: string;
|
|
29
|
+
items: {
|
|
30
|
+
type: string;
|
|
31
|
+
};
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
scheduledFor: {
|
|
35
|
+
type: string;
|
|
36
|
+
description: string;
|
|
37
|
+
};
|
|
38
|
+
status?: undefined;
|
|
39
|
+
accountId?: undefined;
|
|
40
|
+
limit?: undefined;
|
|
41
|
+
offset?: undefined;
|
|
42
|
+
postId?: undefined;
|
|
43
|
+
};
|
|
44
|
+
required: string[];
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
47
|
+
name: string;
|
|
48
|
+
description: string;
|
|
49
|
+
inputSchema: {
|
|
50
|
+
type: "object";
|
|
51
|
+
properties: {
|
|
52
|
+
content: {
|
|
53
|
+
type: string;
|
|
54
|
+
description: string;
|
|
55
|
+
};
|
|
56
|
+
accountIds: {
|
|
57
|
+
type: string;
|
|
58
|
+
items: {
|
|
59
|
+
type: string;
|
|
60
|
+
};
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
mediaUrls?: undefined;
|
|
64
|
+
scheduledFor?: undefined;
|
|
65
|
+
status?: undefined;
|
|
66
|
+
accountId?: undefined;
|
|
67
|
+
limit?: undefined;
|
|
68
|
+
offset?: undefined;
|
|
69
|
+
postId?: undefined;
|
|
70
|
+
};
|
|
71
|
+
required: string[];
|
|
72
|
+
};
|
|
73
|
+
} | {
|
|
74
|
+
name: string;
|
|
75
|
+
description: string;
|
|
76
|
+
inputSchema: {
|
|
77
|
+
type: "object";
|
|
78
|
+
properties: {
|
|
79
|
+
accountId?: undefined;
|
|
80
|
+
};
|
|
81
|
+
required: never[];
|
|
82
|
+
};
|
|
83
|
+
} | {
|
|
84
|
+
name: string;
|
|
85
|
+
description: string;
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: "object";
|
|
88
|
+
properties: {
|
|
89
|
+
accountId: {
|
|
90
|
+
type: string;
|
|
91
|
+
description: string;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
required: string[];
|
|
95
|
+
};
|
|
96
|
+
} | {
|
|
97
|
+
name: string;
|
|
98
|
+
description: string;
|
|
99
|
+
inputSchema: {
|
|
100
|
+
type: "object";
|
|
101
|
+
properties: {
|
|
102
|
+
postId: {
|
|
103
|
+
type: string;
|
|
104
|
+
description: string;
|
|
105
|
+
};
|
|
106
|
+
accountId?: undefined;
|
|
107
|
+
};
|
|
108
|
+
required: string[];
|
|
109
|
+
};
|
|
110
|
+
})[];
|
|
111
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACrI,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAMlG;;GAEG;AACH,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool Registry - Exports all MCP tools
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleGetAccountMetrics = exports.handleGetPostMetrics = exports.getAnalyticsTools = exports.handleGetAccount = exports.handleListAccounts = exports.getAccountTools = exports.handleValidateContent = exports.handleDeletePost = exports.handleGetPost = exports.handleListPosts = exports.handleCreatePost = exports.getPostTools = void 0;
|
|
7
|
+
exports.getAllTools = getAllTools;
|
|
8
|
+
var posts_js_1 = require("./posts.js");
|
|
9
|
+
Object.defineProperty(exports, "getPostTools", { enumerable: true, get: function () { return posts_js_1.getPostTools; } });
|
|
10
|
+
Object.defineProperty(exports, "handleCreatePost", { enumerable: true, get: function () { return posts_js_1.handleCreatePost; } });
|
|
11
|
+
Object.defineProperty(exports, "handleListPosts", { enumerable: true, get: function () { return posts_js_1.handleListPosts; } });
|
|
12
|
+
Object.defineProperty(exports, "handleGetPost", { enumerable: true, get: function () { return posts_js_1.handleGetPost; } });
|
|
13
|
+
Object.defineProperty(exports, "handleDeletePost", { enumerable: true, get: function () { return posts_js_1.handleDeletePost; } });
|
|
14
|
+
Object.defineProperty(exports, "handleValidateContent", { enumerable: true, get: function () { return posts_js_1.handleValidateContent; } });
|
|
15
|
+
var accounts_js_1 = require("./accounts.js");
|
|
16
|
+
Object.defineProperty(exports, "getAccountTools", { enumerable: true, get: function () { return accounts_js_1.getAccountTools; } });
|
|
17
|
+
Object.defineProperty(exports, "handleListAccounts", { enumerable: true, get: function () { return accounts_js_1.handleListAccounts; } });
|
|
18
|
+
Object.defineProperty(exports, "handleGetAccount", { enumerable: true, get: function () { return accounts_js_1.handleGetAccount; } });
|
|
19
|
+
var analytics_js_1 = require("./analytics.js");
|
|
20
|
+
Object.defineProperty(exports, "getAnalyticsTools", { enumerable: true, get: function () { return analytics_js_1.getAnalyticsTools; } });
|
|
21
|
+
Object.defineProperty(exports, "handleGetPostMetrics", { enumerable: true, get: function () { return analytics_js_1.handleGetPostMetrics; } });
|
|
22
|
+
Object.defineProperty(exports, "handleGetAccountMetrics", { enumerable: true, get: function () { return analytics_js_1.handleGetAccountMetrics; } });
|
|
23
|
+
const posts_js_2 = require("./posts.js");
|
|
24
|
+
const accounts_js_2 = require("./accounts.js");
|
|
25
|
+
const analytics_js_2 = require("./analytics.js");
|
|
26
|
+
/**
|
|
27
|
+
* Get all available tools
|
|
28
|
+
*/
|
|
29
|
+
function getAllTools() {
|
|
30
|
+
return [
|
|
31
|
+
...(0, posts_js_2.getPostTools)(),
|
|
32
|
+
...(0, accounts_js_2.getAccountTools)(),
|
|
33
|
+
...(0, analytics_js_2.getAnalyticsTools)(),
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAaH,kCAMC;AAjBD,uCAAqI;AAA5H,wGAAA,YAAY,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAChH,6CAAsF;AAA7E,8GAAA,eAAe,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAC9D,+CAAkG;AAAzF,iHAAA,iBAAiB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAEzE,yCAA0C;AAC1C,+CAAgD;AAChD,iDAAmD;AAEnD;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO;QACL,GAAG,IAAA,uBAAY,GAAE;QACjB,GAAG,IAAA,6BAAe,GAAE;QACpB,GAAG,IAAA,gCAAiB,GAAE;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post Management MCP Tools
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import type { VoxBurstClient, Post, ValidationResult } from '../client.js';
|
|
6
|
+
export declare const CreatePostSchema: z.ZodObject<{
|
|
7
|
+
content: z.ZodString;
|
|
8
|
+
mediaUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
accountIds: z.ZodArray<z.ZodString, "many">;
|
|
10
|
+
scheduledFor: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
content: string;
|
|
13
|
+
accountIds: string[];
|
|
14
|
+
mediaUrls?: string[] | undefined;
|
|
15
|
+
scheduledFor?: string | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
content: string;
|
|
18
|
+
accountIds: string[];
|
|
19
|
+
mediaUrls?: string[] | undefined;
|
|
20
|
+
scheduledFor?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const ListPostsSchema: z.ZodObject<{
|
|
23
|
+
status: z.ZodOptional<z.ZodEnum<["draft", "scheduled", "published", "failed"]>>;
|
|
24
|
+
accountId: z.ZodOptional<z.ZodString>;
|
|
25
|
+
limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
26
|
+
offset: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
status?: "draft" | "scheduled" | "published" | "failed" | undefined;
|
|
29
|
+
accountId?: string | undefined;
|
|
30
|
+
limit?: number | undefined;
|
|
31
|
+
offset?: number | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
status?: "draft" | "scheduled" | "published" | "failed" | undefined;
|
|
34
|
+
accountId?: string | undefined;
|
|
35
|
+
limit?: number | undefined;
|
|
36
|
+
offset?: number | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const GetPostSchema: z.ZodObject<{
|
|
39
|
+
postId: z.ZodString;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
postId: string;
|
|
42
|
+
}, {
|
|
43
|
+
postId: string;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const DeletePostSchema: z.ZodObject<{
|
|
46
|
+
postId: z.ZodString;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
postId: string;
|
|
49
|
+
}, {
|
|
50
|
+
postId: string;
|
|
51
|
+
}>;
|
|
52
|
+
export declare const ValidateContentSchema: z.ZodObject<{
|
|
53
|
+
content: z.ZodString;
|
|
54
|
+
accountIds: z.ZodArray<z.ZodString, "many">;
|
|
55
|
+
}, "strip", z.ZodTypeAny, {
|
|
56
|
+
content: string;
|
|
57
|
+
accountIds: string[];
|
|
58
|
+
}, {
|
|
59
|
+
content: string;
|
|
60
|
+
accountIds: string[];
|
|
61
|
+
}>;
|
|
62
|
+
export declare function getPostTools(): ({
|
|
63
|
+
name: string;
|
|
64
|
+
description: string;
|
|
65
|
+
inputSchema: {
|
|
66
|
+
type: "object";
|
|
67
|
+
properties: {
|
|
68
|
+
content: {
|
|
69
|
+
type: string;
|
|
70
|
+
description: string;
|
|
71
|
+
};
|
|
72
|
+
mediaUrls: {
|
|
73
|
+
type: string;
|
|
74
|
+
items: {
|
|
75
|
+
type: string;
|
|
76
|
+
};
|
|
77
|
+
description: string;
|
|
78
|
+
};
|
|
79
|
+
accountIds: {
|
|
80
|
+
type: string;
|
|
81
|
+
items: {
|
|
82
|
+
type: string;
|
|
83
|
+
};
|
|
84
|
+
description: string;
|
|
85
|
+
};
|
|
86
|
+
scheduledFor: {
|
|
87
|
+
type: string;
|
|
88
|
+
description: string;
|
|
89
|
+
};
|
|
90
|
+
status?: undefined;
|
|
91
|
+
accountId?: undefined;
|
|
92
|
+
limit?: undefined;
|
|
93
|
+
offset?: undefined;
|
|
94
|
+
postId?: undefined;
|
|
95
|
+
};
|
|
96
|
+
required: string[];
|
|
97
|
+
};
|
|
98
|
+
} | {
|
|
99
|
+
name: string;
|
|
100
|
+
description: string;
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: "object";
|
|
103
|
+
properties: {
|
|
104
|
+
status: {
|
|
105
|
+
type: string;
|
|
106
|
+
enum: string[];
|
|
107
|
+
description: string;
|
|
108
|
+
};
|
|
109
|
+
accountId: {
|
|
110
|
+
type: string;
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
limit: {
|
|
114
|
+
type: string;
|
|
115
|
+
description: string;
|
|
116
|
+
};
|
|
117
|
+
offset: {
|
|
118
|
+
type: string;
|
|
119
|
+
description: string;
|
|
120
|
+
};
|
|
121
|
+
content?: undefined;
|
|
122
|
+
mediaUrls?: undefined;
|
|
123
|
+
accountIds?: undefined;
|
|
124
|
+
scheduledFor?: undefined;
|
|
125
|
+
postId?: undefined;
|
|
126
|
+
};
|
|
127
|
+
required: never[];
|
|
128
|
+
};
|
|
129
|
+
} | {
|
|
130
|
+
name: string;
|
|
131
|
+
description: string;
|
|
132
|
+
inputSchema: {
|
|
133
|
+
type: "object";
|
|
134
|
+
properties: {
|
|
135
|
+
postId: {
|
|
136
|
+
type: string;
|
|
137
|
+
description: string;
|
|
138
|
+
};
|
|
139
|
+
content?: undefined;
|
|
140
|
+
mediaUrls?: undefined;
|
|
141
|
+
accountIds?: undefined;
|
|
142
|
+
scheduledFor?: undefined;
|
|
143
|
+
status?: undefined;
|
|
144
|
+
accountId?: undefined;
|
|
145
|
+
limit?: undefined;
|
|
146
|
+
offset?: undefined;
|
|
147
|
+
};
|
|
148
|
+
required: string[];
|
|
149
|
+
};
|
|
150
|
+
} | {
|
|
151
|
+
name: string;
|
|
152
|
+
description: string;
|
|
153
|
+
inputSchema: {
|
|
154
|
+
type: "object";
|
|
155
|
+
properties: {
|
|
156
|
+
content: {
|
|
157
|
+
type: string;
|
|
158
|
+
description: string;
|
|
159
|
+
};
|
|
160
|
+
accountIds: {
|
|
161
|
+
type: string;
|
|
162
|
+
items: {
|
|
163
|
+
type: string;
|
|
164
|
+
};
|
|
165
|
+
description: string;
|
|
166
|
+
};
|
|
167
|
+
mediaUrls?: undefined;
|
|
168
|
+
scheduledFor?: undefined;
|
|
169
|
+
status?: undefined;
|
|
170
|
+
accountId?: undefined;
|
|
171
|
+
limit?: undefined;
|
|
172
|
+
offset?: undefined;
|
|
173
|
+
postId?: undefined;
|
|
174
|
+
};
|
|
175
|
+
required: string[];
|
|
176
|
+
};
|
|
177
|
+
})[];
|
|
178
|
+
export declare function handleCreatePost(client: VoxBurstClient, args: unknown): Promise<Post>;
|
|
179
|
+
export declare function handleListPosts(client: VoxBurstClient, args: unknown): Promise<Post[]>;
|
|
180
|
+
export declare function handleGetPost(client: VoxBurstClient, args: unknown): Promise<Post>;
|
|
181
|
+
export declare function handleDeletePost(client: VoxBurstClient, args: unknown): Promise<{
|
|
182
|
+
success: boolean;
|
|
183
|
+
message: string;
|
|
184
|
+
}>;
|
|
185
|
+
export declare function handleValidateContent(client: VoxBurstClient, args: unknown): Promise<ValidationResult>;
|
|
186
|
+
//# sourceMappingURL=posts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../src/tools/posts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;EAExB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAGH,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyG3B;AAGD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,EAAE,CAAC,CAQjB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAIhD;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAG3B"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Post Management MCP Tools
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ValidateContentSchema = exports.DeletePostSchema = exports.GetPostSchema = exports.ListPostsSchema = exports.CreatePostSchema = void 0;
|
|
7
|
+
exports.getPostTools = getPostTools;
|
|
8
|
+
exports.handleCreatePost = handleCreatePost;
|
|
9
|
+
exports.handleListPosts = handleListPosts;
|
|
10
|
+
exports.handleGetPost = handleGetPost;
|
|
11
|
+
exports.handleDeletePost = handleDeletePost;
|
|
12
|
+
exports.handleValidateContent = handleValidateContent;
|
|
13
|
+
const zod_1 = require("zod");
|
|
14
|
+
// Input schemas using Zod for validation
|
|
15
|
+
exports.CreatePostSchema = zod_1.z.object({
|
|
16
|
+
content: zod_1.z.string().min(1).max(10000).describe('The text content of the post'),
|
|
17
|
+
mediaUrls: zod_1.z.array(zod_1.z.string().url()).optional().describe('Optional array of media URLs to attach'),
|
|
18
|
+
accountIds: zod_1.z.array(zod_1.z.string()).min(1).describe('Array of account IDs to post to'),
|
|
19
|
+
scheduledFor: zod_1.z.string().datetime().optional().describe('ISO 8601 datetime to schedule the post'),
|
|
20
|
+
});
|
|
21
|
+
exports.ListPostsSchema = zod_1.z.object({
|
|
22
|
+
status: zod_1.z.enum(['draft', 'scheduled', 'published', 'failed']).optional().describe('Filter by post status'),
|
|
23
|
+
accountId: zod_1.z.string().optional().describe('Filter by account ID'),
|
|
24
|
+
limit: zod_1.z.number().int().min(1).max(100).default(20).optional().describe('Maximum number of posts to return'),
|
|
25
|
+
offset: zod_1.z.number().int().min(0).default(0).optional().describe('Offset for pagination'),
|
|
26
|
+
});
|
|
27
|
+
exports.GetPostSchema = zod_1.z.object({
|
|
28
|
+
postId: zod_1.z.string().describe('The unique identifier of the post'),
|
|
29
|
+
});
|
|
30
|
+
exports.DeletePostSchema = zod_1.z.object({
|
|
31
|
+
postId: zod_1.z.string().describe('The unique identifier of the post to delete'),
|
|
32
|
+
});
|
|
33
|
+
exports.ValidateContentSchema = zod_1.z.object({
|
|
34
|
+
content: zod_1.z.string().min(1).describe('The content to validate'),
|
|
35
|
+
accountIds: zod_1.z.array(zod_1.z.string()).min(1).describe('Account IDs to validate against (for platform-specific rules)'),
|
|
36
|
+
});
|
|
37
|
+
// Tool definitions
|
|
38
|
+
function getPostTools() {
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
name: 'create_post',
|
|
42
|
+
description: 'Create a new social media post. Can post immediately or schedule for later. Supports posting to multiple accounts simultaneously.',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
content: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'The text content of the post (max 10,000 characters)',
|
|
49
|
+
},
|
|
50
|
+
mediaUrls: {
|
|
51
|
+
type: 'array',
|
|
52
|
+
items: { type: 'string' },
|
|
53
|
+
description: 'Optional array of media URLs (images, videos) to attach',
|
|
54
|
+
},
|
|
55
|
+
accountIds: {
|
|
56
|
+
type: 'array',
|
|
57
|
+
items: { type: 'string' },
|
|
58
|
+
description: 'Array of account IDs to post to (required, at least one)',
|
|
59
|
+
},
|
|
60
|
+
scheduledFor: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'ISO 8601 datetime to schedule the post (optional, posts immediately if not set)',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: ['content', 'accountIds'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'list_posts',
|
|
70
|
+
description: 'List posts with optional filtering by status and account. Returns posts in descending order by creation date.',
|
|
71
|
+
inputSchema: {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: {
|
|
74
|
+
status: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
enum: ['draft', 'scheduled', 'published', 'failed'],
|
|
77
|
+
description: 'Filter by post status',
|
|
78
|
+
},
|
|
79
|
+
accountId: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'Filter posts by a specific account ID',
|
|
82
|
+
},
|
|
83
|
+
limit: {
|
|
84
|
+
type: 'number',
|
|
85
|
+
description: 'Maximum number of posts to return (1-100, default 20)',
|
|
86
|
+
},
|
|
87
|
+
offset: {
|
|
88
|
+
type: 'number',
|
|
89
|
+
description: 'Offset for pagination (default 0)',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
required: [],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'get_post',
|
|
97
|
+
description: 'Get detailed information about a specific post by its ID.',
|
|
98
|
+
inputSchema: {
|
|
99
|
+
type: 'object',
|
|
100
|
+
properties: {
|
|
101
|
+
postId: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'The unique identifier of the post',
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
required: ['postId'],
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: 'delete_post',
|
|
111
|
+
description: 'Delete a post. Only draft and scheduled posts can be deleted. Published posts cannot be deleted through this API.',
|
|
112
|
+
inputSchema: {
|
|
113
|
+
type: 'object',
|
|
114
|
+
properties: {
|
|
115
|
+
postId: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
description: 'The unique identifier of the post to delete',
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
required: ['postId'],
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'validate_content',
|
|
125
|
+
description: 'Validate post content against platform-specific rules before posting. Checks character limits, media requirements, and content policies.',
|
|
126
|
+
inputSchema: {
|
|
127
|
+
type: 'object',
|
|
128
|
+
properties: {
|
|
129
|
+
content: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
description: 'The content to validate',
|
|
132
|
+
},
|
|
133
|
+
accountIds: {
|
|
134
|
+
type: 'array',
|
|
135
|
+
items: { type: 'string' },
|
|
136
|
+
description: 'Account IDs to validate against (checks platform-specific rules)',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
required: ['content', 'accountIds'],
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
];
|
|
143
|
+
}
|
|
144
|
+
// Tool handlers
|
|
145
|
+
async function handleCreatePost(client, args) {
|
|
146
|
+
const params = exports.CreatePostSchema.parse(args);
|
|
147
|
+
return client.createPost({
|
|
148
|
+
content: params.content,
|
|
149
|
+
mediaUrls: params.mediaUrls,
|
|
150
|
+
accountIds: params.accountIds,
|
|
151
|
+
scheduledFor: params.scheduledFor,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async function handleListPosts(client, args) {
|
|
155
|
+
const params = exports.ListPostsSchema.parse(args);
|
|
156
|
+
return client.listPosts({
|
|
157
|
+
status: params.status,
|
|
158
|
+
accountId: params.accountId,
|
|
159
|
+
limit: params.limit,
|
|
160
|
+
offset: params.offset,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
async function handleGetPost(client, args) {
|
|
164
|
+
const { postId } = exports.GetPostSchema.parse(args);
|
|
165
|
+
return client.getPost(postId);
|
|
166
|
+
}
|
|
167
|
+
async function handleDeletePost(client, args) {
|
|
168
|
+
const { postId } = exports.DeletePostSchema.parse(args);
|
|
169
|
+
await client.deletePost(postId);
|
|
170
|
+
return { success: true, message: `Post ${postId} deleted successfully` };
|
|
171
|
+
}
|
|
172
|
+
async function handleValidateContent(client, args) {
|
|
173
|
+
const { content, accountIds } = exports.ValidateContentSchema.parse(args);
|
|
174
|
+
return client.validateContent(content, accountIds);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=posts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/tools/posts.ts"],"names":[],"mappings":"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"}
|