hermoso 0.1.192 → 0.1.193

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.
Files changed (2) hide show
  1. package/mcp/tools.mjs +7 -6
  2. package/package.json +1 -1
package/mcp/tools.mjs CHANGED
@@ -12064,18 +12064,19 @@ function buildTools(rawServer, opts = {}, sink = null) {
12064
12064
  }));
12065
12065
  server.registerTool('tiktok_ads_pixel_stats', {
12066
12066
  title: 'Read how often a TikTok pixel\u2019s events fired',
12067
- description: 'Event-level statistics for one TikTok pixel over a date range — how many times each event actually fired, which is how you tell a pixel that is installed and working from one that is installed and silent. Takes the pixel CODE (not the id) as reported by list_tiktok_ads_pixels. Read-only, free.',
12067
+ description: 'Event-level statistics for one TikTok pixel over a date range — how many times each event actually fired, which is how you tell a pixel that is installed and working from one that is installed and silent. Pass the pixelId or the pixelCode from list_tiktok_ads_pixels; default range is the last 7 days (UTC), at most 30. Counts are split into browser vs server per event. Read-only, free.',
12068
12068
  inputSchema: {
12069
12069
  advertiserId: z.string().optional().describe('from list_tiktok_ads_accounts'),
12070
- pixelCode: z.string().describe('the pixelCode from list_tiktok_ads_pixels \u2014 NOT the pixelId'),
12071
- startDate: z.string().optional().describe('YYYY-MM-DD'),
12072
- endDate: z.string().optional().describe('YYYY-MM-DD'),
12070
+ pixelId: z.string().optional().describe('the pixelId from list_tiktok_ads_pixels'),
12071
+ pixelCode: z.string().optional().describe('or the pixelCode from list_tiktok_ads_pixels \u2014 resolved to its id'),
12072
+ startDate: z.string().optional().describe('YYYY-MM-DD (UTC); default 6 days before endDate; the range may span at most 30 days'),
12073
+ endDate: z.string().optional().describe('YYYY-MM-DD (UTC); default today'),
12073
12074
  },
12074
- outputSchema: { advertiserId: z.string().optional(), pixelCode: z.string().optional(), stats: z.any().optional() },
12075
+ outputSchema: { advertiserId: z.string().optional(), pixelId: z.string().optional(), pixelCode: z.string().nullable().optional(), startDate: z.string().optional(), endDate: z.string().optional(), stats: z.any().optional() },
12075
12076
  annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },
12076
12077
  }, wrap(async (a) => {
12077
12078
  const d = await apiGet('/api/tiktok-ads/pixel-stats', a);
12078
- return ok(`Pixel ${d.pixelCode} event stats.`, d);
12079
+ return ok(`Pixel ${d.pixelCode || d.pixelId} event stats ${d.startDate} \u2192 ${d.endDate}: ${(d.stats || []).length ? d.stats.map((x) => `${x.pixel_event_type || x.custom_event_type}: ${x.total_count} (browser ${x.browser_event_total_count}, server ${x.server_event_total_count})`).join('; ') : 'no events received in that range'}.`, d);
12079
12080
  }));
12080
12081
  server.registerTool('list_tiktok_ads_custom_conversions', {
12081
12082
  title: 'List TikTok Custom Conversions',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermoso",
3
- "version": "0.1.192",
3
+ "version": "0.1.193",
4
4
  "mcpName": "io.github.hermoso-ai/hermoso",
5
5
  "description": "AI ad studio and marketing MCP server with 746 tools. Research the ads already running in any market, generate finished image, video and UGC avatar ads, publish and schedule them to your own channels, build and manage the ad campaigns behind them, and read what they achieved. AD PLATFORMS: Meta, Google Ads, TikTok Ads, LinkedIn Ads, Reddit Ads, X Ads, Pinterest Ads, Snapchat Ads, Microsoft Advertising, Apple Search Ads and ChatGPT Ads, plus product feeds in Google Merchant Center. PUBLISHING AND SCHEDULING: Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky and Telegram. AD RESEARCH: the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Threads and Reddit. ANALYTICS: Google Analytics 4, Google Search Console and every connected platform's own post and campaign insights. Also brand onboarding, 50+ image and video generation models, ad scoring, competitor teardowns, Google Drive and OneDrive, a CLI and installable Claude skills.",
6
6
  "type": "module",