zuckerbot-mcp 0.2.13 → 0.2.15

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 CHANGED
@@ -1,12 +1,41 @@
1
1
  # zuckerbot-mcp
2
2
 
3
- **MCP server for ZuckerBot — let AI agents run Facebook ad campaigns.**
3
+ **CLI + MCP server for ZuckerBot — run Facebook ad campaigns from your terminal or AI agent.**
4
4
 
5
- Give any MCP-compatible AI agent (Claude Desktop, OpenClaw, Cursor, etc.) the ability to create, launch, optimize, and monitor Meta ad campaigns through natural conversation.
5
+ Install one package and get both:
6
+
7
+ - `zuckerbot` for humans running campaigns from the terminal
8
+ - `zuckerbot-mcp` for MCP-compatible AI agents
9
+ - `zuckerbot serve` as an alternative way to start MCP server mode
10
+
11
+ The CLI and MCP server both use the same ZuckerBot API client, authentication, and endpoints.
6
12
 
7
13
  ## Quick Start
8
14
 
9
- ### Claude Desktop
15
+ ### Human CLI
16
+
17
+ ```bash
18
+ npm install -g zuckerbot-mcp
19
+ export ZUCKERBOT_API_KEY=zb_live_your_key_here
20
+
21
+ zuckerbot preview https://example.com
22
+ zuckerbot create https://example.com --budget 2000 --objective leads
23
+ zuckerbot meta status
24
+ ```
25
+
26
+ ### Global install
27
+
28
+ ```bash
29
+ npm install -g zuckerbot-mcp
30
+ ```
31
+
32
+ After global install, these commands are available:
33
+
34
+ - `zuckerbot`
35
+ - `zuckerbot-mcp`
36
+ - `zuckerbot serve`
37
+
38
+ ### MCP Server: Claude Desktop
10
39
 
11
40
  Add to your `claude_desktop_config.json`:
12
41
 
@@ -24,7 +53,7 @@ Add to your `claude_desktop_config.json`:
24
53
  }
25
54
  ```
26
55
 
27
- ### OpenClaw
56
+ ### MCP Server: OpenClaw
28
57
 
29
58
  ```
30
59
  /skill install zuckerbot
@@ -46,17 +75,18 @@ Or add to your OpenClaw config:
46
75
  }
47
76
  ```
48
77
 
49
- ### npx (standalone)
78
+ ### MCP Server: npx (standalone)
50
79
 
51
80
  ```bash
52
81
  ZUCKERBOT_API_KEY=zb_live_your_key_here npx zuckerbot-mcp
53
82
  ```
54
83
 
55
- ### Install globally
84
+ ### MCP Server: global install
56
85
 
57
86
  ```bash
58
87
  npm install -g zuckerbot-mcp
59
88
  ZUCKERBOT_API_KEY=zb_live_your_key_here zuckerbot-mcp
89
+ ZUCKERBOT_API_KEY=zb_live_your_key_here zuckerbot serve
60
90
  ```
61
91
 
62
92
  ## Environment Variables
@@ -66,7 +96,28 @@ ZUCKERBOT_API_KEY=zb_live_your_key_here zuckerbot-mcp
66
96
  | `ZUCKERBOT_API_KEY` | ✅ | — | Your ZuckerBot API key. Get one at [zuckerbot.ai/dashboard](https://zuckerbot.ai/dashboard). |
67
97
  | `ZUCKERBOT_API_URL` | — | `https://zuckerbot.ai/api/v1` | API base URL (override for self-hosted or staging). |
68
98
 
69
- ## Tools
99
+ ## CLI Commands
100
+
101
+ | Command | Description |
102
+ |---------|-------------|
103
+ | `zuckerbot preview <url>` | Generate an ad preview from a business URL |
104
+ | `zuckerbot create <url>` | Create a full campaign with strategy, targeting, and creatives |
105
+ | `zuckerbot launch <campaign_id>` | Launch a draft campaign on Meta |
106
+ | `zuckerbot status <campaign_id>` | Get real-time campaign performance metrics |
107
+ | `zuckerbot pause <campaign_id>` | Pause a running campaign |
108
+ | `zuckerbot resume <campaign_id>` | Resume a paused campaign |
109
+ | `zuckerbot creatives <business_name> <description>` | Generate ad creatives |
110
+ | `zuckerbot conversion <campaign_id> <lead_id> <quality>` | Sync lead quality feedback to Meta |
111
+ | `zuckerbot research reviews <url>` | Review intelligence |
112
+ | `zuckerbot research competitors <category> <location>` | Competitor analysis |
113
+ | `zuckerbot research market <industry> <location>` | Market intelligence |
114
+ | `zuckerbot meta status` | Check Meta connection status |
115
+ | `zuckerbot meta pages` | List Facebook pages |
116
+ | `zuckerbot meta select-page <page_id>` | Select a Facebook page |
117
+ | `zuckerbot meta credentials` | Check stored launch credentials |
118
+ | `zuckerbot serve` | Start MCP server mode from the unified CLI |
119
+
120
+ ## MCP Tools
70
121
 
71
122
  | Tool | Description | Required Inputs |
72
123
  |------|-------------|-----------------|
@@ -130,6 +181,14 @@ npm run build
130
181
  npm start
131
182
  ```
132
183
 
184
+ Human CLI development:
185
+
186
+ ```bash
187
+ node dist/cli.js --help
188
+ node dist/cli.js preview https://example.com
189
+ node dist/cli.js serve
190
+ ```
191
+
133
192
  ## API Documentation
134
193
 
135
194
  Full API reference: [zuckerbot.ai/docs](https://zuckerbot.ai/docs)
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,334 @@
1
+ #!/usr/bin/env node
2
+ // ── ZuckerBot CLI ───────────────────────────────────────────────────
3
+ //
4
+ // Human-friendly CLI for the ZuckerBot API.
5
+ // Run Facebook/Instagram ad campaigns from your terminal.
6
+ //
7
+ // Usage:
8
+ // zuckerbot preview https://example.com
9
+ // zuckerbot create https://example.com --budget 2000 --objective leads
10
+ // zuckerbot launch camp_abc123
11
+ // zuckerbot status camp_abc123
12
+ // zuckerbot pause camp_abc123
13
+ // zuckerbot resume camp_abc123
14
+ // zuckerbot creatives "My Biz" "Best coffee in town"
15
+ // zuckerbot research reviews https://example.com
16
+ // zuckerbot research competitors "cafes" "Brisbane, AU"
17
+ // zuckerbot research market "fitness" "United States"
18
+ // zuckerbot meta status
19
+ // zuckerbot meta pages
20
+ // zuckerbot meta select-page 123456
21
+ // zuckerbot meta credentials
22
+ //
23
+ // Environment variables:
24
+ // ZUCKERBOT_API_KEY — Required. Your ZuckerBot API key.
25
+ // ZUCKERBOT_API_URL — Optional. API base URL.
26
+ //
27
+ import { Command } from "commander";
28
+ import chalk from "chalk";
29
+ import ora from "ora";
30
+ import { ZuckerBotClient, ZuckerBotApiError } from "./client.js";
31
+ const VERSION = "0.2.13";
32
+ // ── Helpers ─────────────────────────────────────────────────────────
33
+ function getClient() {
34
+ try {
35
+ return new ZuckerBotClient();
36
+ }
37
+ catch (err) {
38
+ if (err instanceof Error && err.message.includes("ZUCKERBOT_API_KEY")) {
39
+ console.error(chalk.red("\n Missing API key.\n"));
40
+ console.error(chalk.dim(" Set it via environment variable:\n") +
41
+ chalk.cyan(" export ZUCKERBOT_API_KEY=zb_live_your_key_here\n") +
42
+ chalk.dim("\n Or inline:\n") +
43
+ chalk.cyan(" ZUCKERBOT_API_KEY=zb_live_xxx zuckerbot preview https://example.com\n") +
44
+ chalk.dim("\n Get your key at ") +
45
+ chalk.underline("https://zuckerbot.ai/developer") +
46
+ "\n");
47
+ process.exit(1);
48
+ }
49
+ throw err;
50
+ }
51
+ }
52
+ function printJson(data) {
53
+ console.log(JSON.stringify(data, null, 2));
54
+ }
55
+ function printFormatted(data, label) {
56
+ if (label) {
57
+ console.log(chalk.bold.green(`\n ${label}\n`));
58
+ }
59
+ if (typeof data === "object" && data !== null) {
60
+ printJson(data);
61
+ }
62
+ else {
63
+ console.log(data);
64
+ }
65
+ console.log();
66
+ }
67
+ async function run(label, fn) {
68
+ const spinner = ora(label).start();
69
+ try {
70
+ const result = await fn();
71
+ spinner.succeed(label);
72
+ return result;
73
+ }
74
+ catch (err) {
75
+ spinner.fail(label);
76
+ if (err instanceof ZuckerBotApiError) {
77
+ console.error(chalk.red(`\n API Error (${err.statusCode}): ${err.message}`));
78
+ if (err.retryAfter) {
79
+ console.error(chalk.yellow(` Retry after ${err.retryAfter}s`));
80
+ }
81
+ console.error();
82
+ }
83
+ else if (err instanceof Error) {
84
+ console.error(chalk.red(`\n Error: ${err.message}\n`));
85
+ }
86
+ process.exit(1);
87
+ }
88
+ }
89
+ // ── Program ─────────────────────────────────────────────────────────
90
+ const program = new Command();
91
+ program
92
+ .name("zuckerbot")
93
+ .description("Run Facebook & Instagram ad campaigns from your terminal")
94
+ .version(VERSION);
95
+ // ── preview ─────────────────────────────────────────────────────────
96
+ program
97
+ .command("preview <url>")
98
+ .description("Generate an ad preview from a business URL (no Meta account needed)")
99
+ .option("-n, --count <number>", "Number of ad variants (1-3)", "2")
100
+ .action(async (url, opts) => {
101
+ const client = getClient();
102
+ const result = await run("Generating ad preview", () => client.post("/campaigns/preview", {
103
+ url,
104
+ ad_count: parseInt(opts.count, 10),
105
+ }));
106
+ printFormatted(result, "Campaign Preview");
107
+ });
108
+ // ── create ──────────────────────────────────────────────────────────
109
+ program
110
+ .command("create <url>")
111
+ .description("Create a full campaign with strategy, targeting, and creatives")
112
+ .option("-b, --budget <cents>", "Daily budget in cents (e.g. 2000 = $20/day)")
113
+ .option("-o, --objective <type>", "Objective: leads, traffic, conversions, awareness")
114
+ .option("--name <n>", "Business name (auto-detected if omitted)")
115
+ .option("--type <type>", "Business category (e.g. restaurant, fitness)")
116
+ .option("--city <city>", "City for geo-targeting")
117
+ .option("--state <state>", "State for geo-targeting")
118
+ .option("--country <country>", "Country for geo-targeting")
119
+ .action(async (url, opts) => {
120
+ const client = getClient();
121
+ const body = { url };
122
+ if (opts.budget)
123
+ body.budget_daily_cents = parseInt(opts.budget, 10);
124
+ if (opts.objective)
125
+ body.objective = opts.objective;
126
+ if (opts.name)
127
+ body.business_name = opts.name;
128
+ if (opts.type)
129
+ body.business_type = opts.type;
130
+ if (opts.city || opts.state || opts.country) {
131
+ body.location = {
132
+ ...(opts.city ? { city: opts.city } : {}),
133
+ ...(opts.state ? { state: opts.state } : {}),
134
+ ...(opts.country ? { country: opts.country } : {}),
135
+ };
136
+ }
137
+ const result = await run("Creating campaign", () => client.post("/campaigns/create", body));
138
+ printFormatted(result, "Campaign Created");
139
+ });
140
+ // ── launch ──────────────────────────────────────────────────────────
141
+ program
142
+ .command("launch <campaign_id>")
143
+ .description("Launch a draft campaign on Meta (starts spending)")
144
+ .option("-v, --variant <index>", "Variant index to launch (0-indexed)", "0")
145
+ .option("-a, --all", "Launch all variants for A/B testing")
146
+ .option("-b, --budget <cents>", "Override daily budget in cents")
147
+ .option("-r, --radius <km>", "Override targeting radius in km")
148
+ .option("--token <token>", "Meta access token (uses stored creds if omitted)")
149
+ .option("--ad-account <id>", "Meta ad account ID (act_XXXXX)")
150
+ .option("--page <id>", "Facebook Page ID")
151
+ .action(async (campaignId, opts) => {
152
+ const client = getClient();
153
+ const body = {};
154
+ if (opts.all) {
155
+ body.launch_all_variants = true;
156
+ }
157
+ else {
158
+ body.variant_index = parseInt(opts.variant, 10);
159
+ }
160
+ if (opts.budget)
161
+ body.daily_budget_cents = parseInt(opts.budget, 10);
162
+ if (opts.radius)
163
+ body.radius_km = parseInt(opts.radius, 10);
164
+ if (opts.token)
165
+ body.meta_access_token = opts.token;
166
+ if (opts.adAccount)
167
+ body.meta_ad_account_id = opts.adAccount;
168
+ if (opts.page)
169
+ body.meta_page_id = opts.page;
170
+ const label = opts.all ? "Launching all variants (A/B test)" : "Launching campaign";
171
+ const result = await run(label, () => client.post(`/campaigns/${campaignId}/launch`, body));
172
+ printFormatted(result, "Campaign Launched");
173
+ });
174
+ // ── status (performance) ────────────────────────────────────────────
175
+ program
176
+ .command("status <campaign_id>")
177
+ .description("Get real-time performance metrics for a campaign")
178
+ .action(async (campaignId) => {
179
+ const client = getClient();
180
+ const result = await run("Fetching performance", () => client.get(`/campaigns/${campaignId}/performance`));
181
+ printFormatted(result, "Campaign Performance");
182
+ });
183
+ // ── pause ───────────────────────────────────────────────────────────
184
+ program
185
+ .command("pause <campaign_id>")
186
+ .description("Pause a running campaign")
187
+ .action(async (campaignId) => {
188
+ const client = getClient();
189
+ const result = await run("Pausing campaign", () => client.post(`/campaigns/${campaignId}/pause`, { action: "pause" }));
190
+ printFormatted(result, "Campaign Paused");
191
+ });
192
+ // ── resume ──────────────────────────────────────────────────────────
193
+ program
194
+ .command("resume <campaign_id>")
195
+ .description("Resume a paused campaign")
196
+ .action(async (campaignId) => {
197
+ const client = getClient();
198
+ const result = await run("Resuming campaign", () => client.post(`/campaigns/${campaignId}/pause`, { action: "resume" }));
199
+ printFormatted(result, "Campaign Resumed");
200
+ });
201
+ // ── creatives ───────────────────────────────────────────────────────
202
+ program
203
+ .command("creatives <business_name> <description>")
204
+ .description("Generate ad creatives (images or video)")
205
+ .option("-n, --count <number>", "Number of variants (1-5)", "2")
206
+ .option("-m, --model <model>", "Model: auto, seedream, imagen, kling")
207
+ .option("-t, --type <type>", "Media type: image, video")
208
+ .option("-q, --quality <quality>", "Quality: fast, ultra (ultra = kling only)", "fast")
209
+ .option("--no-images", "Generate copy only, no images")
210
+ .action(async (businessName, description, opts) => {
211
+ const client = getClient();
212
+ const body = {
213
+ business_name: businessName,
214
+ description,
215
+ count: parseInt(opts.count, 10),
216
+ quality: opts.quality,
217
+ generate_images: opts.images,
218
+ };
219
+ if (opts.model)
220
+ body.model = opts.model;
221
+ if (opts.type)
222
+ body.media_type = opts.type;
223
+ const result = await run("Generating creatives", () => client.post("/creatives/generate", body));
224
+ printFormatted(result, "Ad Creatives");
225
+ });
226
+ // ── conversion ──────────────────────────────────────────────────────
227
+ program
228
+ .command("conversion <campaign_id> <lead_id> <quality>")
229
+ .description("Send conversion feedback (good/bad) to Meta's algorithm")
230
+ .option("--token <token>", "Meta access token (required)")
231
+ .option("--email <email>", "Lead email for match rate")
232
+ .option("--phone <phone>", "Lead phone for match rate")
233
+ .action(async (campaignId, leadId, quality, opts) => {
234
+ if (!opts.token) {
235
+ console.error(chalk.red("\n --token is required for conversion sync.\n"));
236
+ process.exit(1);
237
+ }
238
+ const client = getClient();
239
+ const body = {
240
+ lead_id: leadId,
241
+ quality,
242
+ meta_access_token: opts.token,
243
+ };
244
+ if (opts.email || opts.phone) {
245
+ body.user_data = {
246
+ ...(opts.email ? { email: opts.email } : {}),
247
+ ...(opts.phone ? { phone: opts.phone } : {}),
248
+ };
249
+ }
250
+ const result = await run("Syncing conversion", () => client.post(`/campaigns/${campaignId}/conversions`, body));
251
+ printFormatted(result, "Conversion Synced");
252
+ });
253
+ // ── research (subcommands) ──────────────────────────────────────────
254
+ const research = program
255
+ .command("research")
256
+ .description("Research tools: reviews, competitors, market");
257
+ research
258
+ .command("reviews <url>")
259
+ .description("Get review intelligence for a business")
260
+ .action(async (url) => {
261
+ const client = getClient();
262
+ const result = await run("Researching reviews", () => client.post("/research/reviews", { url }));
263
+ printFormatted(result, "Review Intelligence");
264
+ });
265
+ research
266
+ .command("competitors <category> <location>")
267
+ .description("Analyse competitor ads for a category and location")
268
+ .action(async (category, location) => {
269
+ const client = getClient();
270
+ const result = await run("Analysing competitors", () => client.post("/research/competitors", { category, location }));
271
+ printFormatted(result, "Competitor Analysis");
272
+ });
273
+ research
274
+ .command("market <industry> <location>")
275
+ .description("Get market size, audience estimates, and ad benchmarks")
276
+ .action(async (industry, location) => {
277
+ const client = getClient();
278
+ const result = await run("Researching market", () => client.post("/research/market", { industry, location }));
279
+ printFormatted(result, "Market Intelligence");
280
+ });
281
+ // ── meta (subcommands) ──────────────────────────────────────────────
282
+ const meta = program
283
+ .command("meta")
284
+ .description("Meta account tools: status, pages, credentials");
285
+ meta
286
+ .command("status")
287
+ .description("Check if Meta/Facebook is connected")
288
+ .action(async () => {
289
+ const client = getClient();
290
+ const result = await run("Checking Meta connection", () => client.get("/meta/status"));
291
+ printFormatted(result, "Meta Status");
292
+ });
293
+ meta
294
+ .command("pages")
295
+ .description("List available Facebook pages")
296
+ .action(async () => {
297
+ const client = getClient();
298
+ const result = await run("Fetching pages", () => client.get("/meta/pages"));
299
+ printFormatted(result, "Facebook Pages");
300
+ });
301
+ meta
302
+ .command("select-page <page_id>")
303
+ .description("Select a Facebook page for future launches")
304
+ .action(async (pageId) => {
305
+ const client = getClient();
306
+ const result = await run("Selecting page", () => client.post("/meta/select-page", { page_id: pageId }));
307
+ printFormatted(result, "Page Selected");
308
+ });
309
+ meta
310
+ .command("credentials")
311
+ .description("Check stored launch credentials")
312
+ .action(async () => {
313
+ const client = getClient();
314
+ const result = await run("Resolving credentials", () => client.get("/meta/credentials"));
315
+ printFormatted(result, "Launch Credentials");
316
+ });
317
+ // ── mcp-server mode ─────────────────────────────────────────────────
318
+ program
319
+ .command("serve")
320
+ .description("Start in MCP server mode (stdio transport, for AI agents)")
321
+ .action(async () => {
322
+ // Dynamically import to avoid loading MCP SDK for CLI commands
323
+ const { McpServer } = await import("@modelcontextprotocol/sdk/server/mcp.js");
324
+ const { StdioServerTransport } = await import("@modelcontextprotocol/sdk/server/stdio.js");
325
+ const { registerTools } = await import("./tools.js");
326
+ const client = getClient();
327
+ const server = new McpServer({ name: "zuckerbot", version: VERSION });
328
+ registerTools(server, client);
329
+ const transport = new StdioServerTransport();
330
+ await server.connect(transport);
331
+ });
332
+ // ── Parse ───────────────────────────────────────────────────────────
333
+ program.parse();
334
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ async function main() {
20
20
  name: "zuckerbot",
21
21
  version: "0.1.0",
22
22
  });
23
- // Register all 10 tools
23
+ // Register all MCP tools
24
24
  registerTools(server, client);
25
25
  // Connect via stdio
26
26
  const transport = new StdioServerTransport();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,wEAAwE;AACxE,EAAE;AACF,wDAAwD;AACxD,0DAA0D;AAC1D,EAAE;AACF,yBAAyB;AACzB,2DAA2D;AAC3D,uFAAuF;AACvF,EAAE;AAEF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,0DAA0D;IAC1D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,wBAAwB;IACxB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,oBAAoB;IACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,wEAAwE;AACxE,EAAE;AACF,wDAAwD;AACxD,0DAA0D;AAC1D,EAAE;AACF,yBAAyB;AACzB,2DAA2D;AAC3D,uFAAuF;AACvF,EAAE;AAEF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,0DAA0D;IAC1D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,yBAAyB;IACzB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,oBAAoB;IACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AAkDjE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAmd9E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AAkDjE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAgf9E"}
package/dist/tools.js CHANGED
@@ -215,7 +215,31 @@ export function registerTools(server, client) {
215
215
  return formatError(err);
216
216
  }
217
217
  });
218
- // ── 7. Sync Conversion ─────────────────────────────────────────
218
+ // ── 7. Get Account Insights ───────────────────────────────────
219
+ server.tool("zuckerbot_get_account_insights", "Fetch historical Meta ad account insights for a connected business over a date range. Useful for month-over-month spend, clicks, impressions, CTR, CPM, CPC, and frequency analysis without exporting from Ads Manager.", {
220
+ business_id: z.string().describe("Business ID linked to the connected Meta ad account"),
221
+ date_from: z.string().describe("Start date in YYYY-MM-DD format"),
222
+ date_to: z.string().describe("End date in YYYY-MM-DD format"),
223
+ time_increment: z
224
+ .enum(["daily", "monthly"])
225
+ .default("monthly")
226
+ .describe("Whether to break the results down daily or monthly"),
227
+ }, async ({ business_id, date_from, date_to, time_increment }) => {
228
+ try {
229
+ const params = new URLSearchParams({
230
+ business_id,
231
+ date_from,
232
+ date_to,
233
+ time_increment,
234
+ });
235
+ const result = await client.get(`/ad-account/insights?${params.toString()}`);
236
+ return formatResult(result);
237
+ }
238
+ catch (err) {
239
+ return formatError(err);
240
+ }
241
+ });
242
+ // ── 8. Sync Conversion ─────────────────────────────────────────
219
243
  server.tool("zuckerbot_sync_conversion", "Send conversion feedback to Meta's algorithm. When a lead converts (or doesn't), this teaches Meta to find more (or fewer) people like them. Critical for improving lead quality over time.", {
220
244
  campaign_id: z.string().describe("ZuckerBot campaign ID"),
221
245
  lead_id: z.string().describe("Lead ID to report conversion for"),
@@ -248,7 +272,7 @@ export function registerTools(server, client) {
248
272
  return formatError(err);
249
273
  }
250
274
  });
251
- // ── 7. Research Reviews ─────────────────────────────────────────
275
+ // ── 9. Research Reviews ─────────────────────────────────────────
252
276
  server.tool("zuckerbot_research_reviews", "Get review intelligence for a business. Surfaces sentiment themes and standout proof points usable in ad copy.", {
253
277
  url: z.string().describe("Business website URL"),
254
278
  }, async ({ url }) => {
@@ -260,7 +284,7 @@ export function registerTools(server, client) {
260
284
  return formatError(err);
261
285
  }
262
286
  });
263
- // ── 8. Research Competitors ─────────────────────────────────────
287
+ // ── 10. Research Competitors ────────────────────────────────────
264
288
  server.tool("zuckerbot_research_competitors", "Analyse competitor ads for a business category and location. Returns competitor positioning, creative patterns, and gaps to exploit.", {
265
289
  category: z.string().describe("Business category (e.g., 'online party games')"),
266
290
  location: z.string().describe("City/region (e.g., 'Austin, TX')"),
@@ -273,7 +297,7 @@ export function registerTools(server, client) {
273
297
  return formatError(err);
274
298
  }
275
299
  });
276
- // ── 9. Research Market ──────────────────────────────────────────
300
+ // ── 11. Research Market ─────────────────────────────────────────
277
301
  server.tool("zuckerbot_research_market", "Get market size, audience estimates, and ad benchmarks for an industry and location. Use before creating a campaign to understand the landscape.", {
278
302
  industry: z.string().describe("Industry/business category (e.g., 'fitness', 'dental')"),
279
303
  location: z.string().describe("City/region (e.g., 'United States')"),
@@ -289,7 +313,7 @@ export function registerTools(server, client) {
289
313
  return formatError(err);
290
314
  }
291
315
  });
292
- // ── 10. Meta Connection Status ─────────────────────────────────
316
+ // ── 12. Meta Connection Status ─────────────────────────────────
293
317
  server.tool("zuckerbot_meta_status", "Check if the user has connected their Facebook/Meta account. If not connected, returns a URL where they can connect. Always check this before attempting to launch a campaign.", {}, async () => {
294
318
  try {
295
319
  const result = await client.get("/meta/status");
@@ -299,7 +323,7 @@ export function registerTools(server, client) {
299
323
  return formatError(err);
300
324
  }
301
325
  });
302
- // ── 11. List Facebook Pages ────────────────────────────────────
326
+ // ── 13. List Facebook Pages ────────────────────────────────────
303
327
  server.tool("zuckerbot_list_meta_pages", "List Facebook pages available to the connected Meta account and indicate which page is currently selected for launch.", {}, async () => {
304
328
  try {
305
329
  const result = await client.get("/meta/pages");
@@ -309,7 +333,7 @@ export function registerTools(server, client) {
309
333
  return formatError(err);
310
334
  }
311
335
  });
312
- // ── 12. Select Facebook Page ───────────────────────────────────
336
+ // ── 14. Select Facebook Page ───────────────────────────────────
313
337
  server.tool("zuckerbot_select_meta_page", "Select and store the Facebook page to use for launches. Use this when multiple pages are available.", {
314
338
  page_id: z.string().describe("Facebook Page ID to use for future launches"),
315
339
  }, async ({ page_id }) => {
@@ -323,7 +347,7 @@ export function registerTools(server, client) {
323
347
  return formatError(err);
324
348
  }
325
349
  });
326
- // ── 13. Resolve Launch Credentials ─────────────────────────────
350
+ // ── 15. Resolve Launch Credentials ─────────────────────────────
327
351
  server.tool("zuckerbot_get_launch_credentials", "Resolve stored Meta launch credentials for the authenticated API key/user and report whether autonomous launch is possible.", {}, async () => {
328
352
  try {
329
353
  const result = await client.get("/meta/credentials");
@@ -333,7 +357,7 @@ export function registerTools(server, client) {
333
357
  return formatError(err);
334
358
  }
335
359
  });
336
- // ── 14. Generate Creatives ──────────────────────────────────────
360
+ // ── 16. Generate Creatives ─────────────────────────────────────
337
361
  server.tool("zuckerbot_generate_creatives", "Generate ad creatives independently from campaign creation. Supports image creatives (Seedream/Imagen) and video creatives (Kling). If the prompt text asks for a video ad, the tool auto-routes to Kling/video unless explicitly overridden.", {
338
362
  business_name: z.string().describe("Business name"),
339
363
  description: z.string().describe("Brief description of the business"),
@@ -383,7 +407,7 @@ export function registerTools(server, client) {
383
407
  return formatError(err);
384
408
  }
385
409
  });
386
- // ── 15. Generate Ad Creative (Legacy Alias) ─────────────────────
410
+ // ── 17. Generate Ad Creative (Legacy Alias) ────────────────────
387
411
  server.tool("zuckerbot_generate_ad_creative", "Legacy alias of zuckerbot_generate_creatives. Supports image creatives and video creatives (Kling).", {
388
412
  business_name: z.string().describe("Business name"),
389
413
  description: z.string().describe("Brief description of the business"),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAGxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjE,wEAAwE;AAExE,SAAS,YAAY,CAAC,IAAa;IACjC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACpC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,GAAG,CAAC,SAAS;wBACnB,MAAM,EAAE,GAAG,CAAC,UAAU;wBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC3D,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACnE;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,MAAuB;IACtE,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,yNAAyN,EACzN;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACpE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,yCAAyC,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACrD,GAAG;gBACH,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,gMAAgM,EAChM;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAChD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAClG,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,qCAAqC,CAAC;QAClD,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;aACtD,QAAQ,EAAE;aACV,QAAQ,CAAC,sJAAsJ,CAAC;KACpK,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE;QACvF,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B,EAAE,GAAG,EAAE,CAAC;YAC9C,IAAI,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACtD,IAAI,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACtD,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,kBAAkB,KAAK,SAAS;gBAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnF,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,6NAA6N,EAC7N;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC9E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;QACzI,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;QAC/I,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;QACnH,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAClF,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uGAAuG,CAAC;KAC9J,EACD,KAAK,EAAE,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B,EAAE,aAAa,EAAE,CAAC;YACxD,IAAI,iBAAiB;gBAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAClE,IAAI,kBAAkB;gBAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACrE,IAAI,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACnD,IAAI,kBAAkB,KAAK,SAAS;gBAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnF,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACxD,IAAI,mBAAmB;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,kIAAkI,EAClI;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC9E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACjG,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAC9G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClF,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,yCAAyC,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KAC5F,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5G,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B;gBACpC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,IAAI,iBAAiB;gBAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAClE,IAAI,kBAAkB;gBAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACrE,IAAI,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACnD,IAAI,kBAAkB,KAAK,SAAS;gBAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnF,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,0HAA0H,EAC1H;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzD,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzB,OAAO,CAAC,OAAO,CAAC;aAChB,QAAQ,CAAC,yCAAyC,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,QAAQ,EAAE;gBAClE,MAAM;aACP,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,qMAAqM,EACrM;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,WAAW,cAAc,CAAC,CAAC;YACzE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,yNAAyN,EACzN;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACvF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7D,cAAc,EAAE,CAAC;aACd,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;aAC1B,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,oDAAoD,CAAC;KAClE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,WAAW;gBACX,SAAS;gBACT,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC7E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,6LAA6L,EAC7L;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAChE,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACrB,QAAQ,CAAC,uEAAuE,CAAC;QACpF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC3E,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;KACxD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B;gBACpC,OAAO;gBACP,OAAO;gBACP,iBAAiB;aAClB,CAAC;YACF,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,WAAW,cAAc,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,gHAAgH,EAChH;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,sIAAsI,EACtI;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClE,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,kJAAkJ,EAClJ;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACrE,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACnD,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,gLAAgL,EAChL,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,uHAAuH,EACvH,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,qGAAqG,EACrG;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KAC5E,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACpD,OAAO;aACR,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,kCAAkC,EAClC,6HAA6H,EAC7H,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACrD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,+OAA+O,EAC/O;QACE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACrE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC7C,QAAQ,EAAE;aACV,QAAQ,CAAC,8GAA8G,CAAC;QAC3H,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,QAAQ,CAAC,yEAAyE,CAAC;QACtF,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACvB,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,sEAAsE,CAAC;QACnF,eAAe,EAAE,CAAC;aACf,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,yDAAyD,CAAC;KACvE,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YACnE,MAAM,mBAAmB,GAAG,yDAAyD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvG,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,iBAAiB,GAAG,aAAa,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,IAAI,mBAAmB;gBAClG,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACtD,aAAa;gBACb,WAAW;gBACX,KAAK;gBACL,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,OAAO,IAAI,MAAM;gBAC1B,eAAe,EAAE,eAAe,IAAI,IAAI;aACzC,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,qGAAqG,EACrG;QACE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACrE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC7C,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,QAAQ,CAAC,yEAAyE,CAAC;QACtF,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACvB,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,sEAAsE,CAAC;QACnF,eAAe,EAAE,CAAC;aACf,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,yDAAyD,CAAC;KACvE,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YACnE,MAAM,mBAAmB,GAAG,yDAAyD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvG,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,iBAAiB,GAAG,aAAa,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,IAAI,mBAAmB;gBAClG,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACtD,aAAa;gBACb,WAAW;gBACX,KAAK;gBACL,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,OAAO,IAAI,MAAM;gBAC1B,eAAe,EAAE,eAAe,IAAI,IAAI;aACzC,CAAC,CAAC;YACH,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "zuckerbot-mcp",
3
- "version": "0.2.13",
4
- "description": "MCP server for ZuckerBot — let AI agents run Facebook ad campaigns",
3
+ "version": "0.2.15",
4
+ "description": "CLI + MCP server for ZuckerBot — run Facebook ad campaigns from your terminal or AI agent",
5
5
  "type": "module",
6
6
  "bin": {
7
- "zuckerbot-mcp": "./dist/index.js"
7
+ "zuckerbot-mcp": "dist/index.js",
8
+ "zuckerbot": "dist/cli.js"
8
9
  },
9
10
  "main": "./dist/index.js",
10
11
  "files": [
@@ -34,7 +35,7 @@
34
35
  "license": "MIT",
35
36
  "repository": {
36
37
  "type": "git",
37
- "url": "https://github.com/DatalisHQ/zuckerbot.git",
38
+ "url": "git+https://github.com/DatalisHQ/zuckerbot.git",
38
39
  "directory": "mcp-server"
39
40
  },
40
41
  "homepage": "https://zuckerbot.ai",
@@ -42,7 +43,10 @@
42
43
  "url": "https://github.com/DatalisHQ/zuckerbot/issues"
43
44
  },
44
45
  "dependencies": {
45
- "@modelcontextprotocol/sdk": "1.12.1"
46
+ "@modelcontextprotocol/sdk": "1.12.1",
47
+ "chalk": "^5.6.2",
48
+ "commander": "^14.0.3",
49
+ "ora": "^9.3.0"
46
50
  },
47
51
  "devDependencies": {
48
52
  "@types/node": "^22.0.0",