# Hermoso (remote · app.hermoso.ai)

AI ad studio: competitor ad research, video + image ads, social publishing, campaigns. 247 tools.

- Trust score: 82/100 (high trust)
- Change this week: +12
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `app.hermoso.ai`: 82/100 (this document), [markdown](https://verifymcp.io/servers/hermoso-ai-hermoso/app.md), [page](https://verifymcp.io/servers/hermoso-ai-hermoso/app)
- npm · `hermoso`: 35/100, [markdown](https://verifymcp.io/servers/hermoso-ai-hermoso/hermoso.md), [page](https://verifymcp.io/servers/hermoso-ai-hermoso/hermoso)

## Channel facts

- Endpoint: `https://app.hermoso.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.25`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 59213 tokens (~227/item across 260 items; 258 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 85% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http hermoso-ai-hermoso https://app.hermoso.ai/mcp
```

### Codex

```toml
[mcp_servers.hermoso-ai-hermoso]
url = "https://app.hermoso.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hermoso-ai-hermoso": {
      "type": "remote",
      "url": "https://app.hermoso.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add hermoso-ai-hermoso --url https://app.hermoso.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  hermoso-ai-hermoso:
    url: "https://app.hermoso.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "hermoso-ai-hermoso": {
      "type": "http",
      "url": "https://app.hermoso.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 82, +5)

- [functional] Schema quality: poor → excellent
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-08-02 (score 77, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-08-01 (score 76, −6)

- [functional regression] Schema quality: 47049 → 54919
- [functional] Schema quality: excellent → poor
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-07-31 (score 82, +7)

- [functional regression] Tool coverage: 95% → 84%
- [functional regression] Schema quality: 184 → 211
- [functional] Schema quality: good → excellent
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-07-30 (score 75, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 71, −4)

- [functional] Schema quality: good → poor
- [functional] New tool “tiktok_creator_info”
- [functional] New tool “tiktok_account”
- [functional] New tool “list_tiktok_videos”
- [functional] New tool “post_to_tiktok”

### 2026-07-28 (score 75, +5)

- [functional regression] Schema quality: 155 → 185
- [functional] Schema quality: poor → good
- [cosmetic] “render_ad” added an optional parameter “allowGenericProduct”

### 2026-07-27 (score 70, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (258)

The latest capture was truncated, so this tool list may be partial.

### `hermoso_capabilities` (~72 tokens)

Output parameters:

- `canAvatar` (boolean)
- `canEdit` (boolean)
- `canPublish` (boolean)
- `editCredits`
- `image`
- `options`
- `recipes` (array)
- `video`

### `hermoso_credits` (~32 tokens)

Output parameters:

- `accountBalance`
- `balance` (number)
- `recentCalls` (array)
- `sessionStart`
- `sessionUsed` (number)

### `buy_credits` (~276 tokens)

Input parameters:

- `confirm` (boolean)
- `pack` (string)
- `quote_token` (string)

Output parameters:

- `amountUsd` (number)
- `credits` (number)
- `ok` (boolean)
- `packId` (string)
- `packs` (array)
- `quote`
- `url` (string)

### `report_bug` (~178 tokens)

Input parameters:

- `details` (string, required)
- `severity` (string)
- `summary` (string, required)

Output parameters:

- `message` (string)
- `ok` (boolean)

### `request_feature` (~134 tokens)

Input parameters:

- `details` (string, required)
- `summary` (string, required)

Output parameters:

- `message` (string)
- `ok` (boolean)

### `billing_status` (~145 tokens)

Output parameters:

- `autoReload`
- `balanceCredits`
- `billingNote` (string)
- `billingScope` (string)
- `billingWithheld` (array)
- `card`
- `isAdmin` (boolean)
- `paymentMethodOnFile`
- `plan`
- `role` (string)

### `upgrade_plan` (~186 tokens)

Input parameters:

- `period` (string)
- `plan` (string)

Output parameters:

- `action` (string)
- `chargeUsd` (number)
- `guidance` (string)
- `mode` (string)
- `monthlyUsd` (number)
- `period` (string)
- `plan` (string)
- `planLabel` (string)
- `plans` (array)
- `url` (string)

### `set_auto_reload` (~180 tokens)

Input parameters:

- `enabled` (boolean, required)
- `reloadCredits` (integer)
- `thresholdCredits` (integer)

Output parameters:

- `applied` (boolean)
- `capUsd`
- `enabled` (boolean)
- `guidance` (string)
- `needsCard` (boolean)
- `reloadCredits`
- `reloadPack`
- `status` (string)
- `thresholdCredits`

### `list_brands` (~118 tokens)

Output parameters:

- `brands` (array)
- `sharedWorkspaces` (array)

### `use_brand` (~142 tokens)

Input parameters:

- `brand` (string, required)

Output parameters:

- `brand`
- `ok` (boolean)
- `shared` (boolean)

### `create_brand` (~157 tokens)

Input parameters:

- `activate` (boolean)
- `name` (string, required)

Output parameters:

- `active` (boolean)
- `brand`
- `created` (boolean)

### `delete_brand` (~310 tokens)

Input parameters:

- `brand` (string, required)
- `confirm` (boolean)
- `confirmConnectors` (number)
- `confirmName` (string)

Output parameters:

- `blastRadius`
- `connectorsDisconnected` (array)
- `deleted`
- `ok` (boolean)

### `meta_page_insights` (~82 tokens)

Input parameters:

- `pageId` (string)
- `period` (string)

Output parameters:

- `instagram` (array)
- `page` (array)
- `pageName` (string)

### `meta_post_insights` (~107 tokens)

Input parameters:

- `pageId` (string)
- `postId` (string, required)
- `target` (string)

Output parameters:

- `metrics` (array)
- `postId` (string)

### `list_meta_comments` (~101 tokens)

Input parameters:

- `limit` (number)
- `pageId` (string)
- `postId` (string, required)

Output parameters:

- `comments` (array)
- `count` (number)

### `reply_to_meta_comment` (~90 tokens)

Input parameters:

- `commentId` (string, required)
- `message` (string, required)
- `pageId` (string)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `moderate_meta_comment` (~106 tokens)

Input parameters:

- `action` (string)
- `commentId` (string, required)
- `confirm` (boolean)
- `pageId` (string)

Output parameters:

- `action` (string)
- `ok` (boolean)

### `list_threads_posts` (~72 tokens)

Input parameters:

- `limit` (number)

Output parameters:

- `count` (number)
- `posts` (array)
- `username` (string)

### `threads_insights` (~84 tokens)

Input parameters:

- `postId` (string)

Output parameters:

- `metrics` (array)
- `scope` (string)

### `list_threads_replies` (~96 tokens)

Input parameters:

- `conversation` (boolean)
- `limit` (number)
- `postId` (string, required)

Output parameters:

- `count` (number)
- `replies` (array)

### `reply_to_thread` (~81 tokens)

Input parameters:

- `replyToId` (string, required)
- `text` (string, required)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `hide_thread_reply` (~64 tokens)

Input parameters:

- `hide` (boolean)
- `replyId` (string, required)

Output parameters:

- `hidden` (boolean)
- `ok` (boolean)

### `delete_thread` (~74 tokens)

Input parameters:

- `confirm` (boolean, required)
- `postId` (string, required)

Output parameters:

- `deleted` (string)
- `ok` (boolean)

### `list_threads_mentions` (~92 tokens)

Input parameters:

- `limit` (number)

Output parameters:

- `count` (number)
- `mentions` (array)
- `username` (string)

### `search_threads_keyword` (~76 tokens)

Input parameters:

- `q` (string, required)
- `searchType` (string)

Output parameters:

- `count` (number)
- `posts` (array)

### `list_meta_pages` (~68 tokens)

Output parameters:

- `adAccounts` (array)
- `pages` (array)

### `upload_file` (~240 tokens)

Input parameters:

- `dataUri` (string)
- `name` (string)
- `path` (string)

Output parameters:

- `bytes` (number)
- `kind` (string)
- `url` (string)

### `search_threads_locations` (~124 tokens)

Input parameters:

- `latitude` (number)
- `longitude` (number)
- `q` (string)

Output parameters:

- `count` (number)
- `locations` (array)

### `post_to_meta` (~450 tokens)

Input parameters:

- `imageUrl` (string)
- `link` (string)
- `locationId` (string)
- `message` (string)
- `pageId` (string)
- `scheduleAt` (string)
- `target` (string)
- `videoUrl` (string)

Output parameters:

- `account` (string)
- `ok` (boolean)
- `page` (string)
- `postId` (string)
- `target` (string)
- `url` (string)

### `schedule_post` (~1387 tokens)

Input parameters:

- `at` (string)
- `boardId` (string)
- `captions` (object)
- `channels` (array, required)
- `imageUrl` (string)
- `link` (string)
- `linkedinOrganizationId` (string)
- `locationId` (string)
- `message` (string)
- `pageId` (string)
- `timezone` (string)
- `title` (string)
- `useQueue` (boolean)
- `videoUrl` (string)
- `visibility` (string)
- `visibilityByChannel` (object)

Output parameters:

- `at` (string)
- `channels` (array)
- `id` (string)
- `label` (string)

### `list_scheduled` (~62 tokens)

Output parameters:

- `history` (array)
- `scheduled` (array)

### `reschedule_post` (~513 tokens)

Input parameters:

- `at` (string)
- `boardId` (string)
- `captions` (object)
- `channels` (array)
- `id` (string, required)
- `imageUrl` (string)
- `link` (string)
- `linkedinOrganizationId` (string)
- `locationId` (string)
- `message` (string)
- `pageId` (string)
- `title` (string)
- `videoUrl` (string)
- `visibility` (string)
- `visibilityByChannel` (object)

Output parameters:

- `at` (string)
- `channels` (array)
- `id` (string)
- `visibility` (string)

### `cancel_scheduled` (~72 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `cancelled` (string)

### `post_to_linkedin` (~124 tokens)

Input parameters:

- `imageUrl` (string)
- `text` (string, required)
- `visibility` (string)

Output parameters:

- `id` (string)
- `ok` (boolean)
- `url` (string)

### `post_to_x` (~445 tokens)

Input parameters:

- `altText` (string)
- `mediaUrl` (string)
- `poll` (object)
- `replySettings` (string)
- `replyToId` (string)
- `text` (string)
- `thread` (array)

Output parameters:

- `altText` (boolean)
- `costCredits` (number)
- `id` (string)
- `media` (boolean)
- `ok` (boolean)
- `poll` (boolean)
- `posts` (array)
- `thread` (boolean)
- `url` (string)

### `delete_x_post` (~70 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `costCredits` (number)
- `deleted` (boolean)
- `id` (string)
- `ok` (boolean)

### `x_post_metrics` (~102 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `bookmarks`
- `costCredits` (number)
- `id` (string)
- `impressions`
- `likes`
- `postedAt`
- `quotes`
- `replies`
- `reposts`
- `text` (string)
- `url` (string)

### `x_post_insights` (~163 tokens)

Input parameters:

- `granularity` (string)
- `ids` (array, required)

Output parameters:

- `costCredits` (number)
- `errors` (array)
- `granularity` (string)
- `posts` (array)

### `x_post_insights_historical` (~259 tokens)

Input parameters:

- `endDate` (string)
- `granularity` (string)
- `ids` (array, required)
- `startDate` (string)

Output parameters:

- `costCredits` (number)
- `endTime` (string)
- `errors` (array)
- `granularity` (string)
- `posts` (array)
- `startTime` (string)

### `x_mentions` (~167 tokens)

Input parameters:

- `maxResults` (number)
- `paginationToken` (string)
- `sinceId` (string)

Output parameters:

- `account` (string)
- `costCredits` (number)
- `count` (number)
- `mentions` (array)
- `nextToken`

### `post_to_reddit` (~412 tokens)

Input parameters:

- `flairId` (string)
- `flairText` (string)
- `imageUrl` (string)
- `kind` (string)
- `nsfw` (boolean)
- `resubmit` (boolean)
- `spoiler` (boolean)
- `subreddit` (string, required)
- `text` (string)
- `title` (string, required)
- `url` (string)

Output parameters:

- `fullname`
- `id`
- `kind` (string)
- `ok` (boolean)
- `pending` (boolean)
- `subreddit` (string)
- `url`

### `reddit_post_stats` (~108 tokens)

Input parameters:

- `postId` (string, required)

Output parameters:

- `comments`
- `flair`
- `fullname` (string)
- `id` (string)
- `postedAt`
- `removed` (boolean)
- `score`
- `subreddit`
- `title` (string)
- `upvoteRatio`
- `url`

### `list_pinterest_boards` (~97 tokens)

Input parameters:

- `privacy` (string)

Output parameters:

- `boards` (array)
- `count` (number)

### `create_pinterest_board` (~158 tokens)

Input parameters:

- `description` (string)
- `name` (string, required)
- `privacy` (string)

Output parameters:

- `id` (string)
- `name` (string)
- `privacy` (string)
- `url`

### `post_to_pinterest` (~302 tokens)

Input parameters:

- `altText` (string)
- `boardId` (string, required)
- `boardSectionId` (string)
- `coverImageUrl` (string)
- `description` (string)
- `imageUrl` (string)
- `link` (string)
- `title` (string)
- `videoUrl` (string)

Output parameters:

- `boardId` (string)
- `id`
- `kind` (string)
- `ok` (boolean)
- `title` (string)
- `url`

### `list_business_locations` (~118 tokens)

Input parameters:

- `accountId` (string)

Output parameters:

- `count` (number)
- `locations` (array)

### `post_to_google_business` (~402 tokens)

Input parameters:

- `actionType` (string)
- `couponCode` (string)
- `endDate` (string)
- `imageUrl` (string)
- `languageCode` (string)
- `link` (string)
- `locationId` (string)
- `redeemOnlineUrl` (string)
- `startDate` (string)
- `summary` (string)
- `termsConditions` (string)
- `title` (string)
- `topicType` (string)

Output parameters:

- `id`
- `location` (string)
- `locationId` (string)
- `ok` (boolean)
- `state`
- `topicType` (string)
- `url`

### `list_google_business_posts` (~130 tokens)

Input parameters:

- `limit` (number)
- `locationId` (string)

Output parameters:

- `count` (number)
- `location` (string)
- `locationId` (string)
- `posts` (array)

### `delete_google_business_post` (~90 tokens)

Input parameters:

- `postId` (string, required)

Output parameters:

- `deleted` (string)
- `ok` (boolean)

### `google_business_insights` (~159 tokens)

Input parameters:

- `days` (number)
- `locationId` (string)

Output parameters:

- `bookings` (number)
- `calls` (number)
- `conversations` (number)
- `days` (number)
- `directionRequests` (number)
- `from` (string)
- `impressions` (number)
- `location` (string)
- `locationId` (string)
- `note` (string)
- `to` (string)
- `totals` (object)
- `websiteClicks` (number)

### `post_to_youtube` (~258 tokens)

Input parameters:

- `description` (string)
- `privacy` (string)
- `tags` (array)
- `title` (string)
- `videoUrl` (string, required)

Output parameters:

- `ok` (boolean)
- `privacy` (string)
- `requestedPrivacy` (string)
- `title` (string)
- `url` (string)
- `videoId` (string)
- `warning` (string)

### `youtube_channel` (~36 tokens)

Output parameters:

- `id` (string)
- `subscribers` (string)
- `title` (string)
- `videos` (string)
- `views` (string)

### `list_youtube_videos` (~169 tokens)

Input parameters:

- `limit` (number)

Output parameters:

- `count` (number)
- `note` (string)
- `videos` (array)

### `youtube_video_insights` (~197 tokens)

Input parameters:

- `endDate` (string)
- `startDate` (string)
- `videoId` (string, required)

Output parameters:

- `averageViewDuration` (number)
- `averageViewPercentage` (number)
- `comments` (number)
- `endDate` (string)
- `estimatedMinutesWatched` (number)
- `likes` (number)
- `shares` (number)
- `startDate` (string)
- `subscribersGained` (number)
- `url` (string)
- `videoId` (string)
- `views` (number)

### `update_youtube_video` (~181 tokens)

Input parameters:

- `description` (string)
- `privacy` (string)
- `tags` (array)
- `title` (string)
- `videoId` (string, required)

Output parameters:

- `privacy` (string)
- `title` (string)
- `url` (string)
- `videoId` (string)

### `set_youtube_thumbnail` (~226 tokens)

Input parameters:

- `imageUrl` (string, required)
- `videoId` (string, required)

Output parameters:

- `bytes` (number)
- `note` (string)
- `ok` (boolean)
- `thumbnailUrl`
- `url` (string)
- `videoId` (string)

### `list_youtube_comments` (~107 tokens)

Input parameters:

- `limit` (number)
- `videoId` (string, required)

Output parameters:

- `comments` (array)
- `count` (number)
- `videoId` (string)

### `reply_to_youtube_comment` (~100 tokens)

Input parameters:

- `commentId` (string, required)
- `text` (string, required)

Output parameters:

- `at` (string)
- `id` (string)
- `text` (string)

### `tiktok_creator_info` (~144 tokens)

Output parameters:

- `avatar`
- `commentDisabled` (boolean)
- `duetDisabled` (boolean)
- `maxDurationSeconds`
- `nickname`
- `privacyOptions` (array)
- `stitchDisabled` (boolean)
- `username`

### `post_to_tiktok` (~587 tokens)

Input parameters:

- `autoAddMusic` (boolean)
- `brandedContent` (boolean)
- `coverIndex` (number)
- `coverTimestampMs` (number)
- `destination` (string)
- `disableComment` (boolean)
- `disableDuet` (boolean)
- `disableStitch` (boolean)
- `imageUrls` (array)
- `photoTitle` (string)
- `privacy` (string)
- `title` (string)
- `videoUrl` (string)
- `yourBrand` (boolean)

Output parameters:

- `account`
- `coverIndex` (number)
- `destination` (string)
- `images` (number)
- `media` (string)
- `ok` (boolean)
- `pending` (boolean)
- `postId`
- `publishId` (string)
- `status` (string)
- `url`

### `tiktok_account` (~89 tokens)

Output parameters:

- `avatar`
- `bio`
- `displayName`
- `followers`
- `following`
- `likes`
- `openId`
- `partial` (boolean)
- `profileLink`
- `username`
- `verified` (boolean)
- `videos`

### `list_tiktok_videos` (~106 tokens)

Input parameters:

- `limit` (number)

Output parameters:

- `cursor`
- `hasMore` (boolean)
- `videos` (array)

### `upload_meta_asset` (~237 tokens)

Input parameters:

- `adAccountId` (string, required)
- `kind` (string)
- `name` (string)
- `url` (string)
- `urls` (array)

Output parameters:

- `assets` (array)
- `hash` (string)
- `kind` (string)
- `ok` (boolean)
- `videoId` (string)

### `create_meta_campaign` (~139 tokens)

Input parameters:

- `adAccountId` (string, required)
- `dailyBudgetUsd` (number)
- `name` (string, required)
- `objective` (string)

Output parameters:

- `campaignId` (string)
- `dailyBudgetUsd` (number)
- `ok` (boolean)
- `status` (string)

### `set_meta_campaign_status` (~130 tokens)

Input parameters:

- `campaignId` (string, required)
- `confirm` (boolean)
- `status` (string, required)

Output parameters:

- `campaignId` (string)
- `ok` (boolean)
- `status` (string)

### `create_meta_ad` (~1111 tokens)

Input parameters:

- `adAccountId` (string, required)
- `adSetId` (string)
- `adsetSchedule` (array)
- `applicationId` (string)
- `attributionSpec` (array)
- `bidAmountUsd` (number)
- `bidStrategy` (string)
- `billingEvent` (string)
- `campaignId` (string)
- `cards` (array)
- `carouselEndCard` (boolean)
- `conversionEvent` (string)
- `country` (string)
- `cta` (string)
- `customConversionId` (string)
- `dailyBudgetUsd` (number)
- `description` (string)
- `endTime` (string)
- `format` (string)
- `headline` (string)
- `imageUrl` (string)
- `imageUrls` (array)
- `instagramUserId` (string)
- `lifetimeBudgetUsd` (number)
- `link` (string)
- `message` (string)
- `minRoas` (number)
- `name` (string)
- `objectStoreUrl` (string)
- `objective` (string)
- `optimizationGoal` (string)
- `pageId` (string)
- `pixelId` (string)
- `specialAdCategories` (array)
- `startTime` (string)
- `targeting` (object)
- `thumbnailUrl` (string)
- `videoUrl` (string)

Output parameters:

- `adSetId` (string)
- `campaignId` (string)
- `count` (number)
- `dailyBudgetUsd` (number)
- `ok` (boolean)
- `previewExpiresHours` (number)
- `previews` (array)
- `status` (string)
- `summary` (string)

### `create_meta_adset` (~609 tokens)

Input parameters:

- `adAccountId` (string, required)
- `adsetSchedule` (array)
- `applicationId` (string)
- `attributionSpec` (array)
- `bidAmountUsd` (number)
- `bidStrategy` (string)
- `billingEvent` (string)
- `campaignId` (string, required)
- `conversionEvent` (string)
- `country` (string)
- `customConversionId` (string)
- `dailyBudgetUsd` (number)
- `endTime` (string)
- `lifetimeBudgetUsd` (number)
- `minRoas` (number)
- `name` (string)
- `objectStoreUrl` (string)
- `optimizationGoal` (string)
- `pageId` (string)
- `pixelId` (string)
- `startTime` (string)
- `targeting` (object)

Output parameters:

- `adSetId` (string)
- `campaignId` (string)
- `ok` (boolean)
- `summary` (string)

### `find_meta_audiences` (~267 tokens)

Input parameters:

- `adAccountId` (string)
- `class` (string)
- `countryCode` (string)
- `limit` (number)
- `locationTypes` (string)
- `q` (string)
- `type` (string, required)

Output parameters:

- `count` (number)
- `results` (array)

### `list_meta_ads` (~220 tokens)

Input parameters:

- `adAccountId` (string, required)
- `adsetId` (string)
- `campaignId` (string)
- `level` (string)
- `limit` (number)
- `status` (string)

Output parameters:

- `count` (number)
- `cursor`
- `items` (array)
- `level` (string)

### `meta_insights` (~613 tokens)

Input parameters:

- `actionBreakdowns` (string)
- `adAccountId` (string, required)
- `breakdowns` (string)
- `datePreset` (string)
- `level` (string)
- `objectId` (string)
- `since` (string)
- `until` (string)

Output parameters:

- `actionBreakdowns` (array)
- `breakdowns` (array)
- `lines` (array)
- `note` (string)
- `objectId` (string)
- `rows` (array)

### `preview_meta_ad` (~247 tokens)

Input parameters:

- `adAccountId` (string, required)
- `adId` (string)
- `creativeId` (string)
- `placements` (string)

Output parameters:

- `count` (number)
- `expiresHours` (number)
- `note` (string)
- `objectId` (string)
- `previews` (array)

### `estimate_meta_reach` (~298 tokens)

Input parameters:

- `adAccountId` (string, required)
- `adSetId` (string)
- `conversionEvent` (string)
- `country` (string)
- `objective` (string)
- `optimizationGoal` (string)
- `pixelId` (string)
- `targeting`

Output parameters:

- `dailyActiveEstimate`
- `dailyOutcomesCurve` (array)
- `estimateReady` (boolean)
- `monthlyActiveLowerBound`
- `monthlyActiveUpperBound`
- `narrow` (boolean)
- `summary` (string)

### `list_meta_audiences` (~124 tokens)

Input parameters:

- `adAccountId` (string, required)
- `limit` (number)

Output parameters:

- `adAccountId` (string)
- `audiences` (array)
- `count` (number)
- `cursor`

### `create_meta_audience` (~609 tokens)

Input parameters:

- `adAccountId` (string, required)
- `country` (string)
- `description` (string)
- `event` (string)
- `kind` (string, required)
- `lookalikeType` (string)
- `name` (string, required)
- `pageId` (string)
- `pixelId` (string)
- `prefill` (boolean)
- `ratio` (number)
- `retentionDays` (number)
- `source` (string)
- `sourceAudienceId` (string)
- `startingRatio` (number)
- `urlContains` (string)

Output parameters:

- `audience`
- `audienceId` (string)
- `kind` (string)
- `ok` (boolean)
- `summary` (string)
- `verified` (boolean)

### `list_google_ads_campaigns` (~280 tokens)

Input parameters:

- `customerId` (string)
- `datePreset` (string)
- `limit` (number)
- `loginCustomerId` (string)
- `metrics` (boolean)
- `since` (string)
- `status` (string)
- `until` (string)

Output parameters:

- `accounts` (array)
- `campaigns` (array)
- `count` (number)
- `customerId` (string)

### `google_ads_report` (~209 tokens)

Input parameters:

- `customerId` (string)
- `loginCustomerId` (string)
- `query` (string, required)

Output parameters:

- `count` (number)
- `customerId` (string)
- `rows` (array)

### `create_google_ads_campaign` (~571 tokens)

Input parameters:

- `adGroup` (object)
- `bidding` (object)
- `budgetResourceName` (string)
- `channelType` (string)
- `containsEuPoliticalAds` (boolean)
- `customerId` (string)
- `dailyBudgetUsd` (number)
- `dryRun` (boolean)
- `endDate` (string)
- `excludedLocations` (array)
- `languages` (array)
- `locations` (array)
- `loginCustomerId` (string)
- `name` (string, required)
- `searchPartners` (boolean)
- `startDate` (string)

Output parameters:

- `budgetResourceName` (string)
- `campaignId` (string)
- `campaignResourceName` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_google_ads_ad_group` (~294 tokens)

Input parameters:

- `ad` (object)
- `campaignId` (string, required)
- `confirm` (boolean)
- `cpcBidUsd` (number)
- `customerId` (string)
- `dryRun` (boolean)
- `keywords` (array)
- `loginCustomerId` (string)
- `name` (string, required)
- `status` (string)

Output parameters:

- `adGroupId` (string)
- `adGroupResourceName` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_google_ads_ad` (~537 tokens)

Input parameters:

- `adGroupId` (string, required)
- `businessName` (string)
- `confirm` (boolean)
- `customerId` (string)
- `descriptions` (array)
- `dryRun` (boolean)
- `finalUrls` (array)
- `headlines` (array)
- `loginCustomerId` (string)
- `logoImages` (array)
- `longHeadline` (string)
- `marketingImages` (array)
- `path1` (string)
- `path2` (string)
- `squareMarketingImages` (array)
- `status` (string)

Output parameters:

- `adId` (string)
- `adResourceName` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)
- `type` (string)

### `add_google_ads_keywords` (~242 tokens)

Input parameters:

- `adGroupId` (string, required)
- `confirm` (boolean)
- `customerId` (string)
- `dryRun` (boolean)
- `keywords` (array, required)
- `loginCustomerId` (string)

Output parameters:

- `adGroupId` (string)
- `count` (number)
- `note` (string)
- `ok` (boolean)

### `set_google_ads_targeting` (~236 tokens)

Input parameters:

- `campaignId` (string, required)
- `confirm` (boolean)
- `countryCode` (string)
- `customerId` (string)
- `dryRun` (boolean)
- `excludedLocations` (array)
- `languages` (array)
- `locations` (array)
- `loginCustomerId` (string)

Output parameters:

- `campaignId` (string)
- `note` (string)
- `ok` (boolean)

### `set_google_ads_bidding` (~360 tokens)

Input parameters:

- `campaignId` (string, required)
- `confirm` (boolean)
- `customerId` (string)
- `dryRun` (boolean)
- `enhancedCpc` (boolean)
- `loginCustomerId` (string)
- `maxCpcUsd` (number)
- `strategy` (string, required)
- `targetCpaUsd` (number)
- `targetRoas` (number)

Output parameters:

- `biddingStrategyType` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)

### `find_google_ads_locations` (~139 tokens)

Input parameters:

- `countryCode` (string)
- `loginCustomerId` (string)
- `query` (string, required)

Output parameters:

- `count` (number)
- `locations` (array)

### `set_google_ads_budget` (~192 tokens)

Input parameters:

- `budgetResourceName` (string)
- `confirm` (boolean)
- `customerId` (string)
- `dailyBudgetUsd` (number, required)
- `loginCustomerId` (string)
- `name` (string)

Output parameters:

- `budgetResourceName` (string)
- `dailyBudgetUsd` (number)
- `ok` (boolean)

### `set_google_ads_status` (~339 tokens)

Input parameters:

- `adGroupId` (string)
- `adId` (string)
- `campaignId` (string)
- `campaignResourceName` (string)
- `confirm` (boolean)
- `customerId` (string)
- `level` (string)
- `loginCustomerId` (string)
- `status` (string, required)

Output parameters:

- `level` (string)
- `note` (string)
- `ok` (boolean)
- `resourceName` (string)
- `status` (string)
- `verifiedStatus` (string)

### `upload_google_ads_asset` (~227 tokens)

Input parameters:

- `customerId` (string)
- `imageUrl` (string)
- `loginCustomerId` (string)
- `name` (string)
- `youtubeVideoId` (string)

Output parameters:

- `assetResourceName` (string)
- `kind` (string)
- `ok` (boolean)

### `create_google_ads_conversion_action` (~551 tokens)

Input parameters:

- `alwaysUseDefaultValue` (boolean)
- `category` (string)
- `clickThroughLookbackDays` (number)
- `countingType` (string)
- `customerId` (string)
- `defaultCurrencyCode` (string)
- `defaultValueUsd` (number)
- `dryRun` (boolean)
- `includeInConversionsMetric` (boolean)
- `loginCustomerId` (string)
- `name` (string, required)
- `primaryForGoal` (boolean)
- `status` (string)
- `type` (string)
- `viewThroughLookbackDays` (number)

Output parameters:

- `conversionActionId` (string)
- `conversionActionResourceName` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `list_google_ads_conversion_actions` (~179 tokens)

Input parameters:

- `customerId` (string)
- `includeRemoved` (boolean)
- `loginCustomerId` (string)

Output parameters:

- `canRunSmartBidding` (boolean)
- `count` (number)
- `note` (string)
- `ok` (boolean)
- `usableCount` (number)

### `add_google_ads_assets` (~430 tokens)

Input parameters:

- `adGroupId` (string)
- `assetResourceNames` (array)
- `assetType` (string, required)
- `assets` (array)
- `campaignId` (string)
- `confirm` (boolean)
- `customerId` (string)
- `dryRun` (boolean)
- `level` (string)
- `loginCustomerId` (string)
- `status` (string)

Output parameters:

- `created` (number)
- `fieldType` (string)
- `linked` (number)
- `note` (string)
- `ok` (boolean)

### `create_google_ads_performance_max_campaign` (~715 tokens)

Input parameters:

- `assetGroup` (object, required)
- `bidding` (object)
- `brandGuidelinesEnabled` (boolean)
- `budgetResourceName` (string)
- `containsEuPoliticalAds` (boolean)
- `countryCode` (string)
- `customerId` (string)
- `dailyBudgetUsd` (number)
- `dryRun` (boolean)
- `endDate` (string)
- `excludedLocations` (array)
- `languages` (array)
- `locations` (array)
- `loginCustomerId` (string)
- `name` (string, required)
- `startDate` (string)

Output parameters:

- `assetGroupResourceName` (string)
- `brandGuidelinesEnabled` (boolean)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `google_ads_keyword_ideas` (~314 tokens)

Input parameters:

- `countryCode` (string)
- `customerId` (string)
- `keywords` (array)
- `language` (string)
- `limit` (number)
- `locations` (array)
- `loginCustomerId` (string)
- `network` (string)
- `site` (string)
- `url` (string)

Output parameters:

- `count` (number)
- `note` (string)
- `ok` (boolean)

### `list_microsoft_ads_campaigns` (~172 tokens)

Input parameters:

- `accountId` (string)

Output parameters:

- `accountId` (string)
- `accounts` (array)
- `allCampaignTypes` (boolean)
- `campaigns` (array)
- `count` (number)

### `microsoft_ads_report` (~329 tokens)

Input parameters:

- `accountId` (string)
- `columns` (array)
- `reportRequestId` (string)
- `since` (string)
- `timePeriod` (string)
- `until` (string)

Output parameters:

- `accountId` (string)
- `count` (number)
- `note` (string)
- `pending` (boolean)
- `reportRequestId` (string)
- `rows` (array)

### `microsoft_ads_geo_search` (~253 tokens)

Input parameters:

- `accountId` (string)
- `query` (required)

Output parameters:

- `note` (string)
- `ok` (boolean)
- `results` (array)

### `create_microsoft_ads_campaign` (~736 tokens)

Input parameters:

- `accountId` (string)
- `adGroup` (object)
- `budgetType` (string)
- `campaignType` (string)
- `dailyBudget` (number, required)
- `excludeLocations` (array)
- `languages` (array)
- `locationIntent` (string)
- `locations` (array)
- `name` (string, required)
- `timeZone` (string)
- `worldwide` (boolean)

Output parameters:

- `accountId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_microsoft_ads_ad_group` (~241 tokens)

Input parameters:

- `accountId` (string)
- `ad` (object)
- `campaignId` (string, required)
- `confirm` (boolean)
- `cpcBid` (number)
- `keywords` (array)
- `language` (string)
- `name` (string, required)
- `status` (string)

Output parameters:

- `adGroupId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_microsoft_ads_ad` (~304 tokens)

Input parameters:

- `accountId` (string)
- `adGroupId` (string, required)
- `confirm` (boolean)
- `descriptions` (array)
- `finalUrls` (array)
- `headlines` (array)
- `path1` (string)
- `path2` (string)
- `status` (string)

Output parameters:

- `adGroupId` (string)
- `adId` (string)
- `editorialStatus` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `add_microsoft_ads_keywords` (~182 tokens)

Input parameters:

- `accountId` (string)
- `adGroupId` (string, required)
- `confirm` (boolean)
- `keywords` (array, required)

Output parameters:

- `adGroupId` (string)
- `added` (array)
- `count` (number)
- `note` (string)
- `ok` (boolean)

### `set_microsoft_ads_budget` (~165 tokens)

Input parameters:

- `accountId` (string)
- `campaignId` (string, required)
- `confirm` (boolean)
- `dailyBudget` (number, required)

Output parameters:

- `campaignId` (string)
- `dailyBudget` (number)
- `note` (string)
- `ok` (boolean)

### `set_microsoft_ads_status` (~299 tokens)

Input parameters:

- `accountId` (string)
- `adGroupId` (string)
- `adId` (string)
- `campaignId` (string)
- `confirm` (boolean)
- `level` (string)
- `status` (string, required)

Output parameters:

- `id` (string)
- `level` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)
- `verifiedStatus` (string)

### `list_openai_ads_campaigns` (~223 tokens)

Input parameters:

- `adGroupId` (string)
- `after` (string)
- `campaignId` (string)
- `limit` (number)

Output parameters:

- `account`
- `adGroups` (array)
- `ads` (array)
- `campaigns` (array)
- `count` (number)
- `hasMore` (boolean)
- `level` (string)
- `ok` (boolean)

### `openai_ads_report` (~239 tokens)

Input parameters:

- `adGroupId` (string)
- `adId` (string)
- `campaignId` (string)
- `granularity` (string)
- `level` (string)
- `limit` (number)
- `segment` (string)
- `since` (string)
- `until` (string)

Output parameters:

- `count` (number)
- `note` (string)
- `ok` (boolean)
- `rows` (array)
- `scope` (string)
- `totals`

### `openai_ads_geo_search` (~135 tokens)

Input parameters:

- `limit` (number)
- `query` (string, required)

Output parameters:

- `count` (number)
- `note` (string)
- `ok` (boolean)
- `results` (array)

### `create_openai_ads_campaign` (~548 tokens)

Input parameters:

- `adGroup` (object)
- `biddingType` (string)
- `countries` (array)
- `dailyBudget` (number)
- `description` (string)
- `endTime` (number)
- `lifetimeBudget` (number)
- `locationIds` (array)
- `name` (string, required)
- `startTime` (number)

Output parameters:

- `adGroupId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `tree`

### `create_openai_ads_ad_group` (~251 tokens)

Input parameters:

- `billingEvent` (string)
- `campaignId` (string, required)
- `confirm` (boolean)
- `contextHints` (array)
- `description` (string)
- `maxBid` (number, required)
- `name` (string, required)
- `status` (string)

Output parameters:

- `adGroupId` (string)
- `note` (string)
- `ok` (boolean)
- `tree`

### `create_openai_ads_ad` (~267 tokens)

Input parameters:

- `adGroupId` (string, required)
- `confirm` (boolean)
- `creative` (object, required)
- `name` (string)
- `status` (string)

Output parameters:

- `ad`
- `adId` (string)
- `note` (string)
- `ok` (boolean)

### `update_openai_ads_object` (~341 tokens)

Input parameters:

- `adGroupId` (string)
- `adId` (string)
- `billingEvent` (string)
- `campaignId` (string)
- `confirm` (boolean)
- `contextHints` (array)
- `countries` (array)
- `creative` (object)
- `dailyBudget` (number)
- `description` (string)
- `endTime` (number)
- `level` (string)
- `lifetimeBudget` (number)
- `locationIds` (array)
- `maxBid` (number)
- `name` (string)

Output parameters:

- `id` (string)
- `level` (string)
- `note` (string)
- `object`
- `ok` (boolean)

### `set_openai_ads_budget` (~150 tokens)

Input parameters:

- `campaignId` (string, required)
- `confirm` (boolean)
- `dailyBudget` (number)
- `lifetimeBudget` (number)

Output parameters:

- `campaign`
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)

### `set_openai_ads_status` (~295 tokens)

Input parameters:

- `adGroupId` (string)
- `adId` (string)
- `campaignId` (string)
- `confirm` (boolean)
- `level` (string)
- `status` (string, required)

Output parameters:

- `id` (string)
- `level` (string)
- `note` (string)
- `object`
- `ok` (boolean)

### `list_pinterest_ads_campaigns` (~175 tokens)

Input parameters:

- `adAccountId` (string)
- `statuses` (array)

Output parameters:

- `accounts` (array)
- `adAccountId` (string)
- `campaigns` (array)
- `count` (number)
- `currency` (string)

### `pinterest_ads_report` (~208 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignIds` (array)
- `columns` (array)
- `granularity` (string)
- `since` (string)
- `until` (string)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `currency` (string)
- `note` (string)
- `rows` (array)

### `create_pinterest_ads_campaign` (~366 tokens)

Input parameters:

- `adAccountId` (string)
- `adGroup` (object)
- `dailyBudget` (number)
- `endTime` (number)
- `lifetimeBudget` (number)
- `name` (string, required)
- `objective` (string, required)
- `startTime` (number)

Output parameters:

- `adAccountId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_pinterest_ads_ad_group` (~346 tokens)

Input parameters:

- `ad` (object)
- `adAccountId` (string)
- `bid` (number)
- `billableEvent` (string)
- `budget` (number)
- `campaignId` (string, required)
- `confirm` (boolean)
- `name` (string, required)
- `pacing` (string)
- `placementGroup` (string)
- `status` (string)
- `targetingSpec` (object)

Output parameters:

- `adGroupId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_pinterest_ads_ad` (~246 tokens)

Input parameters:

- `adAccountId` (string)
- `adGroupId` (string, required)
- `confirm` (boolean)
- `creativeType` (string)
- `destinationUrl` (string)
- `name` (string)
- `pinId` (string, required)
- `status` (string)

Output parameters:

- `adGroupId` (string)
- `adId` (string)
- `note` (string)
- `ok` (boolean)
- `reviewStatus` (string)
- `status` (string)

### `set_pinterest_ads_budget` (~151 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignId` (string, required)
- `confirm` (boolean)
- `dailyBudget` (number)
- `lifetimeBudget` (number)

Output parameters:

- `campaignId` (string)
- `dailyBudget`
- `lifetimeBudget`
- `note` (string)
- `ok` (boolean)

### `set_pinterest_ads_status` (~239 tokens)

Input parameters:

- `adAccountId` (string)
- `adGroupId` (string)
- `adId` (string)
- `campaignId` (string)
- `confirm` (boolean)
- `level` (string)
- `status` (string, required)

Output parameters:

- `id` (string)
- `level` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)
- `verifiedStatus`

### `list_reddit_ads_campaigns` (~169 tokens)

Input parameters:

- `adAccountId` (string)

Output parameters:

- `accounts` (array)
- `adAccountId` (string)
- `adGroups` (array)
- `ads` (array)
- `campaigns` (array)
- `name` (string)

### `reddit_ads_report` (~360 tokens)

Input parameters:

- `adAccountId` (string)
- `breakdowns` (array)
- `fields` (array)
- `filter` (string)
- `since` (string)
- `timeZoneId` (string)
- `until` (string)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `note` (string)
- `ok` (boolean)
- `rows` (array)
- `since` (string)
- `until` (string)

### `list_reddit_ads_profiles` (~100 tokens)

Input parameters:

- `adAccountId` (string)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `note` (string)
- `profiles` (array)

### `search_reddit_ads_targeting` (~229 tokens)

Input parameters:

- `adAccountId` (string)
- `country` (string)
- `kind` (string)
- `limit` (number)
- `postalCode` (string)
- `query` (string)

Output parameters:

- `count` (number)
- `kind` (string)
- `note` (string)
- `results` (array)

### `reddit_ads_forecast` (~212 tokens)

Input parameters:

- `adAccountId` (string)
- `bidAmount` (number)
- `bidStrategy` (string)
- `bidType` (string)
- `budget` (number, required)
- `endTime` (string)
- `goalType` (string)
- `objective` (string)
- `startTime` (string)
- `targeting`

Output parameters:

- `deliveryEstimates`
- `note` (string)
- `targetAudienceRange`
- `totalAudienceSize` (number)

### `reddit_ads_bid_suggestion` (~185 tokens)

Input parameters:

- `adAccountId` (string)
- `bidStrategy` (string)
- `bidType` (string)
- `budget` (number, required)
- `currency` (string)
- `endTime` (string)
- `goalType` (string)
- `objective` (string)
- `startTime` (string)
- `targeting`

Output parameters:

- `minBid` (number)
- `note` (string)
- `suggestedBid` (number)
- `suggestedRange`

### `list_reddit_ads_posts` (~108 tokens)

Input parameters:

- `adAccountId` (string)
- `limit` (number)
- `redditProfileId` (string, required)
- `type` (string)

Output parameters:

- `count` (number)
- `note` (string)
- `posts` (array)

### `create_reddit_ads_post` (~344 tokens)

Input parameters:

- `adAccountId` (string)
- `allowComments` (boolean)
- `body` (string)
- `callToAction` (string)
- `headline` (string, required)
- `media` (array)
- `redditProfileId` (string, required)
- `thumbnailUrl` (string)
- `type` (string)

Output parameters:

- `headline` (string)
- `id` (string)
- `note` (string)
- `postUrl`
- `type` (string)

### `update_reddit_ads_post` (~94 tokens)

Input parameters:

- `adAccountId` (string)
- `allowComments` (boolean)
- `body` (string)
- `headline` (string)
- `postId` (string, required)

Output parameters:

- `headline` (string)
- `id` (string)
- `note` (string)

### `create_reddit_ads_campaign` (~269 tokens)

Input parameters:

- `adAccountId` (string)
- `name` (string, required)
- `objective` (string)
- `spendCapCents` (number)

Output parameters:

- `adAccountId` (string)
- `id` (string)
- `name` (string)
- `objective` (string)
- `status` (string)

### `create_reddit_ads_ad_group` (~470 tokens)

Input parameters:

- `adAccountId` (string)
- `bidAmount` (number)
- `bidStrategy` (string, required)
- `bidType` (string, required)
- `budget` (number, required)
- `campaignId` (string, required)
- `conversionPixelId` (string)
- `endTime` (string)
- `goalType` (string)
- `name` (string, required)
- `optimizationGoal` (string)
- `savedAudienceId` (string)
- `schedule` (array)
- `startTime` (string, required)
- `targeting` (object)

Output parameters:

- `budget`
- `effectiveStatus` (string)
- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `update_reddit_ads_ad_group` (~218 tokens)

Input parameters:

- `adAccountId` (string)
- `adGroupId` (string, required)
- `bidAmount` (number)
- `bidStrategy` (string)
- `bidType` (string)
- `budget` (number)
- `endTime` (string)
- `goalType` (string)
- `name` (string)
- `savedAudienceId` (string)
- `schedule` (array)
- `startTime` (string)
- `targeting`

Output parameters:

- `budget`
- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `create_reddit_ads_ad` (~271 tokens)

Input parameters:

- `adAccountId` (string)
- `adGroupId` (string, required)
- `clickUrl` (string)
- `eventTrackers` (array)
- `name` (string, required)
- `postId` (string, required)
- `redditProfileId` (string)

Output parameters:

- `effectiveStatus` (string)
- `id` (string)
- `name` (string)
- `note` (string)
- `postId`
- `status` (string)

### `update_reddit_ads_ad` (~121 tokens)

Input parameters:

- `adAccountId` (string)
- `adId` (string, required)
- `clickUrl` (string)
- `name` (string)
- `postId` (string)

Output parameters:

- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `update_reddit_ads_campaign` (~147 tokens)

Input parameters:

- `adAccountId` (string)
- `budget` (number)
- `campaignId` (string, required)
- `endTime` (string)
- `goalType` (string)
- `name` (string)
- `spendCap` (number)
- `startTime` (string)

Output parameters:

- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `set_reddit_ads_status` (~281 tokens)

Input parameters:

- `adAccountId` (string)
- `confirm` (boolean)
- `id` (string, required)
- `kind` (string, required)
- `status` (string, required)

Output parameters:

- `effectiveStatus` (string)
- `id` (string)
- `kind` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `list_reddit_ads_pixels` (~167 tokens)

Input parameters:

- `adAccountId` (string)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `note` (string)
- `pixels` (array)

### `send_reddit_ads_conversions` (~308 tokens)

Input parameters:

- `adAccountId` (string)
- `events` (array, required)
- `pixelId` (string)
- `testId` (string)

Output parameters:

- `note` (string)
- `ok` (boolean)
- `pixelId` (string)
- `sent` (number)
- `withMatchKeys` (number)

### `list_reddit_ads_audiences` (~151 tokens)

Input parameters:

- `adAccountId` (string)
- `limit` (number)
- `name` (string)

Output parameters:

- `adAccountId` (string)
- `audiences` (array)
- `count` (number)
- `note` (string)

### `create_reddit_ads_audience` (~179 tokens)

Input parameters:

- `adAccountId` (string)
- `name` (string, required)

Output parameters:

- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)
- `type` (string)

### `update_reddit_ads_audience_users` (~248 tokens)

Input parameters:

- `action` (string)
- `adAccountId` (string)
- `customAudienceId` (string, required)
- `users` (array, required)

Output parameters:

- `action` (string)
- `customAudienceId` (string)
- `note` (string)
- `ok` (boolean)
- `rows` (number)
- `sizeUpper`

### `delete_reddit_ads_audience` (~122 tokens)

Input parameters:

- `adAccountId` (string)
- `confirm` (boolean)
- `customAudienceId` (string, required)

Output parameters:

- `customAudienceId` (string)
- `name` (string)
- `note` (string)
- `ok` (boolean)

### `list_reddit_ads_saved_audiences` (~116 tokens)

Input parameters:

- `adAccountId` (string)
- `limit` (number)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `note` (string)
- `savedAudiences` (array)

### `create_reddit_ads_saved_audience` (~153 tokens)

Input parameters:

- `adAccountId` (string)
- `name` (string, required)
- `targeting` (required)

Output parameters:

- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `update_reddit_ads_saved_audience` (~118 tokens)

Input parameters:

- `adAccountId` (string)
- `name` (string)
- `savedAudienceId` (string, required)
- `targeting`

Output parameters:

- `activeAdGroups`
- `id` (string)
- `name` (string)
- `note` (string)
- `status` (string)

### `list_reddit_ads_lead_forms` (~101 tokens)

Input parameters:

- `adAccountId` (string)
- `limit` (number)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `forms` (array)
- `note` (string)

### `create_reddit_ads_lead_form` (~232 tokens)

Input parameters:

- `adAccountId` (string)
- `name` (string, required)
- `privacyLink` (string, required)
- `prompt` (string, required)
- `questions` (array, required)

Output parameters:

- `id` (string)
- `name` (string)
- `note` (string)
- `questions` (array)

### `reddit_ads_history` (~255 tokens)

Input parameters:

- `adAccountId` (string)
- `changeTypes` (array)
- `entityIds` (array)
- `entityType` (string)
- `includeChildEntities` (boolean)
- `limit` (number)
- `memberIds` (array)
- `since` (string)
- `until` (string)

Output parameters:

- `adAccountId` (string)
- `changes` (array)
- `count` (number)
- `note` (string)

### `list_linkedin_pages` (~109 tokens)

Output parameters:

- `count` (number)
- `organizations` (array)

### `post_to_linkedin_page` (~254 tokens)

Input parameters:

- `altText` (string)
- `imageUrl` (string)
- `organizationId` (string)
- `text` (string, required)
- `title` (string)
- `videoUrl` (string)
- `visibility` (string)

Output parameters:

- `id` (string)
- `note` (string)
- `ok` (boolean)
- `organizationId` (string)
- `url` (string)

### `manage_linkedin_post` (~148 tokens)

Input parameters:

- `action` (string, required)
- `confirm` (boolean)
- `postUrn` (string, required)
- `text` (string)

Output parameters:

- `deleted` (boolean)
- `edited` (boolean)
- `id` (string)
- `note` (string)
- `ok` (boolean)

### `linkedin_page_analytics` (~362 tokens)

Input parameters:

- `endDate` (string)
- `organizationId` (string)
- `postUrns` (array)
- `startDate` (string)

Output parameters:

- `endDate` (string)
- `followerGains`
- `followers`
- `noActivity` (array)
- `note` (string)
- `organizationId` (string)
- `organizationName` (string)
- `pageViews`
- `perPost`
- `posts`
- `startDate` (string)
- `unavailable` (array)
- `url` (string)

### `list_linkedin_ads_campaigns` (~215 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignId` (string)
- `campaignIds` (array)
- `statuses` (array)

Output parameters:

- `accounts` (array)
- `adAccountId` (string)
- `campaignGroups` (array)
- `campaigns` (array)
- `count` (number)
- `creatives` (array)

### `linkedin_ads_report` (~208 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignIds` (array)
- `fields` (array)
- `granularity` (string)
- `pivot` (string)
- `since` (string)
- `until` (string)

Output parameters:

- `adAccountId` (string)
- `count` (number)
- `note` (string)
- `rows` (array)

### `create_linkedin_ads_campaign_group` (~205 tokens)

Input parameters:

- `adAccountId` (string)
- `confirm` (boolean)
- `currencyCode` (string)
- `name` (string, required)
- `runSchedule` (object)
- `status` (string)
- `totalBudget` (number)

Output parameters:

- `campaignGroupId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `create_linkedin_ads_campaign` (~690 tokens)

Input parameters:

- `adAccountId` (string)
- `audienceExpansionEnabled` (boolean)
- `campaignGroupId` (string, required)
- `confirm` (boolean)
- `costType` (string)
- `country` (string)
- `currencyCode` (string)
- `dailyBudget` (number)
- `endDate` (string)
- `exclude` (object)
- `excludeLocations` (array)
- `format` (string)
- `include` (object)
- `language` (string)
- `locale` (object)
- `locations` (array)
- `name` (string, required)
- `objectiveType` (string)
- `offsiteDeliveryEnabled` (boolean)
- `optimizationTargetType` (string)
- `organizationId` (string)
- `politicalIntent` (string)
- `runSchedule` (object)
- `startDate` (string)
- `status` (string)
- `targetingCriteria` (object)
- `totalBudget` (number)
- `type` (string)
- `unitCost` (number)

Output parameters:

- `campaignGroupId` (string)
- `campaignId` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)

### `set_linkedin_ads_budget` (~149 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignId` (string, required)
- `confirm` (boolean)
- `currencyCode` (string)
- `dailyBudget` (number)
- `totalBudget` (number)

Output parameters:

- `campaignId` (string)
- `dailyBudget`
- `note` (string)
- `ok` (boolean)
- `totalBudget`

### `set_linkedin_ads_status` (~253 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignGroupId` (string)
- `campaignId` (string)
- `confirm` (boolean)
- `creativeId` (string)
- `level` (string)
- `status` (string, required)

Output parameters:

- `id` (string)
- `level` (string)
- `note` (string)
- `ok` (boolean)
- `status` (string)
- `verifiedStatus`

### `search_linkedin_ads_targeting` (~242 tokens)

Input parameters:

- `adAccountId` (string)
- `country` (string)
- `facet` (string)
- `language` (string)
- `query` (string, required)

Output parameters:

- `count` (number)
- `entities` (array)
- `facet` (string)
- `note` (string)
- `ok` (boolean)

### `create_linkedin_ads_creative` (~415 tokens)

Input parameters:

- `adAccountId` (string)
- `allowReshare` (boolean)
- `altText` (string)
- `campaignId` (string, required)
- `confirm` (boolean)
- `imageUrl` (string)
- `intendedStatus` (string)
- `name` (string)
- `organizationId` (string)
- `postUrn` (string)
- `text` (string)
- `title` (string)
- `videoUrl` (string)

Output parameters:

- `campaignId` (string)
- `creativeId` (string)
- `intendedStatus` (string)
- `isServing` (boolean)
- `note` (string)
- `ok` (boolean)
- `reference` (string)

### `delete_linkedin_ads_object` (~156 tokens)

Input parameters:

- `adAccountId` (string)
- `campaignGroupId` (string)
- `campaignId` (string)
- `confirm` (boolean, required)
- `creativeId` (string)
- `level` (string)

Output parameters:

- `deleted` (boolean)
- `id` (string)
- `level` (string)
- `note` (string)
- `ok` (boolean)

### `update_meta_object` (~229 tokens)

Input parameters:

- `adAccountId` (string, required)
- `confirm` (boolean)
- `dailyBudgetUsd` (number)
- `name` (string)
- `objectId` (string, required)
- `status` (string)
- `targeting`

Output parameters:

- `objectId` (string)
- `ok` (boolean)
- `updated` (array)

### `delete_meta_object` (~243 tokens)

Input parameters:

- `adAccountId` (string, required)
- `confirm` (boolean)
- `confirmChildren` (number)
- `objectId` (string, required)

Output parameters:

- `blastRadius`
- `deleted` (boolean)
- `objectId` (string)
- `ok` (boolean)

### `manage_meta_post` (~165 tokens)

Input parameters:

- `action` (string, required)
- `confirm` (boolean)
- `message` (string)
- `postId` (string, required)
- `target` (string)

Output parameters:

- `action` (string)
- `ok` (boolean)
- `postId` (string)
- `target` (string)

### `save_to_drive` (~210 tokens)

Input parameters:

- `folder` (string)
- `name` (string)
- `url` (string)
- `urls` (array)

Output parameters:

- `failed` (number)
- `files` (array)
- `ok` (boolean)

### `list_drive_files` (~185 tokens)

Input parameters:

- `folderId` (string)
- `includeTrashed` (boolean)
- `onlyFolders` (boolean)
- `pageSize` (number)
- `pageToken` (string)
- `query` (string)

Output parameters:

- `cursor`
- `files` (array)

### `get_drive_file` (~70 tokens)

Input parameters:

- `fileId` (string, required)

Output parameters:

- `id` (string)
- `name` (string)
- `webContentLink` (string)
- `webViewLink` (string)

### `update_drive_file` (~157 tokens)

Input parameters:

- `fileId` (string, required)
- `moveToFolderId` (string)
- `name` (string)
- `removeFromFolderId` (string)
- `trash` (boolean)

Output parameters:

- `id` (string)
- `name` (string)
- `trashed` (boolean)

### `delete_drive_file` (~96 tokens)

Input parameters:

- `confirm` (boolean)
- `fileId` (string, required)
- `permanent` (boolean)

Output parameters:

- `deleted` (string)
- `fileId` (string)
- `ok` (boolean)

### `create_drive_folder` (~138 tokens)

Input parameters:

- `name` (string, required)
- `parentId` (string)

Output parameters:

- `id` (string)
- `name` (string)
- `webViewLink` (string)

### `create_sheet` (~114 tokens)

Input parameters:

- `rows` (array)
- `title` (string)

Output parameters:

- `ok` (boolean)
- `rows` (number)
- `spreadsheetId` (string)
- `title` (string)
- `url` (string)

### `append_to_sheet` (~109 tokens)

Input parameters:

- `range` (string)
- `rows` (array, required)
- `spreadsheetId` (string, required)

Output parameters:

- `appended` (number)
- `ok` (boolean)
- `spreadsheetId` (string)
- `updatedRange` (string)

### `read_sheet` (~180 tokens)

Input parameters:

- `range` (string)
- `sheetUrl` (string)
- `spreadsheetId` (string)

Output parameters:

- `ok` (boolean)
- `range` (string)
- `spreadsheetId` (string)
- `values` (array)

### `create_doc` (~92 tokens)

Input parameters:

- `text` (string)
- `title` (string)

Output parameters:

- `documentId` (string)
- `ok` (boolean)
- `title` (string)
- `url` (string)

### `append_to_doc` (~88 tokens)

Input parameters:

- `documentId` (string, required)
- `text` (string, required)

Output parameters:

- `documentId` (string)
- `ok` (boolean)
- `url` (string)

### `read_doc` (~168 tokens)

Input parameters:

- `docUrl` (string)
- `documentId` (string)

Output parameters:

- `documentId` (string)
- `ok` (boolean)
- `text` (string)
- `title` (string)

### `save_to_onedrive` (~167 tokens)

Input parameters:

- `folder` (string)
- `name` (string)
- `url` (string)
- `urls` (array)

Output parameters:

- `failed` (number)
- `files` (array)
- `ok` (boolean)

### `list_onedrive_files` (~138 tokens)

Input parameters:

- `folderId` (string)
- `onlyFolders` (boolean)
- `pageSize` (number)
- `pageToken` (string)
- `query` (string)

Output parameters:

- `cursor`
- `files` (array)

### `get_onedrive_file` (~78 tokens)

Input parameters:

- `fileId` (string, required)

Output parameters:

- `id` (string)
- `name` (string)
- `webContentLink`
- `webViewLink` (string)

### `update_onedrive_file` (~109 tokens)

Input parameters:

- `fileId` (string, required)
- `moveToFolderId` (string)
- `name` (string)

Output parameters:

- `id` (string)
- `name` (string)

### `delete_onedrive_file` (~76 tokens)

Input parameters:

- `confirm` (boolean)
- `fileId` (string, required)

Output parameters:

- `deleted` (string)
- `fileId` (string)
- `ok` (boolean)

### `create_onedrive_folder` (~118 tokens)

Input parameters:

- `name` (string, required)
- `parentId` (string)

Output parameters:

- `id` (string)
- `name` (string)
- `webViewLink` (string)

### `plan_ad` (~517 tokens)

Input parameters:

- `brand`
- `durationSeconds` (number)
- `format` (string)
- `language` (string)
- `product` (string, required)
- `recipe` (string)
- `reference` (string)

Output parameters:

- `brand`
- `concept` (string)
- `copy` (array)
- `format` (string)
- `image_concept`
- `imodel` (string)
- `recipe` (string)
- `recipe_label` (string)
- `render_plan`
- `video_storyboard`
- `vmodel` (string)

### `generate_image` (~284 tokens)

Input parameters:

- `aspectRatio` (string)
- `imageSize` (string)
- `model` (string)
- `prompt` (string, required)
- `refImages` (array)
- `useBrand` (boolean)

Output parameters:

- `image` (string)
- `model` (string)

### `make_thumbnail` (~1721 tokens)

Input parameters:

- `aspectRatio` (string)
- `background` (string)
- `bakeText` (boolean)
- `bakedUiText` (string)
- `castGenericPerson` (boolean)
- `composition` (string)
- `emotion` (string)
- `emotions` (array)
- `faceImages` (array)
- `font` (string)
- `forceGenerate` (boolean)
- `framework` (string)
- `frameworkRequested` (boolean)
- `headline` (string)
- `headlineLines` (array)
- `headlinePlace` (string)
- `keyElements` (string)
- `location` (string)
- `logo` (string)
- `logo3d` (boolean)
- `overlayStyle` (string)
- `people` (array)
- `reference` (object)
- `restrainedGrade` (boolean)
- `rimColor` (string)
- `sceneBrief` (string)
- `sourceImage` (string)
- `split` (object)
- `takes` (number)
- `topic` (string)
- `tweak` (object)
- `variants` (number)

Output parameters:

- `creditsUsed` (number)
- `framework` (string)
- `needsFaceDecision` (boolean)
- `notAGeneration` (boolean)
- `note` (string)
- `postRenderCheck` (array)
- `textDelivery` (string)
- `thumbnails` (array)

### `generate_voice` (~232 tokens)

Input parameters:

- `engine` (string)
- `text` (string, required)
- `voice` (string)

Output parameters:

- `audio` (string)
- `creditsUsed` (number)
- `model` (string)
- `voice` (string)

### `generate_text` (~138 tokens)

Input parameters:

- `model` (string)
- `prompt` (string, required)

Output parameters:

- `creditsUsed` (number)
- `model` (string)
- `text` (string)

### `render_ad` (~601 tokens)

Input parameters:

- `allowGenericProduct` (boolean)
- `aspectRatio` (string)
- `captions` (boolean)
- `creative` (object, required)
- `dryRun` (boolean)
- `durationSeconds` (number)
- `endCard` (boolean)
- `lockup` (boolean)
- `model` (string)
- `music` (boolean)
- `resolution` (string)
- `ttsVoice` (string)

Output parameters:

- `dryRun` (boolean)
- `input`
- `jobId` (string)
- `jobType` (string)
- `model`
- `needsProductPhoto` (boolean)
- `raw`
- `stillRendering` (boolean)
- `url`

### `make_template_ad` (~1308 tokens)

Input parameters:

- `config` (object, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `finish_video` (~289 tokens)

Input parameters:

- `accent` (string)
- `grain` (boolean)
- `header` (string)
- `pills` (boolean)
- `points` (array)
- `sub` (string)
- `videoUrl` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `post_edit` (~251 tokens)

Input parameters:

- `accent` (string)
- `brandName` (string)
- `domain` (string)
- `ops` (array, required)
- `videoUrl` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `fix_beat` (~235 tokens)

Input parameters:

- `endSeconds` (number, required)
- `prompt` (string, required)
- `refImage` (string)
- `speechWindows` (array)
- `startSeconds` (number, required)
- `videoUrl` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `clip_video` (~438 tokens)

Input parameters:

- `aspectRatio` (string)
- `count` (number)
- `video` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `make_explainer` (~683 tokens)

Input parameters:

- `aspectRatio` (string)
- `brandName` (string)
- `captions` (boolean)
- `channel` (string)
- `durationSeconds` (number)
- `endCard` (boolean)
- `style` (string)
- `subtitles` (boolean)
- `topic` (string, required)
- `voice` (string)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `product_sizzle` (~501 tokens)

Input parameters:

- `aspectRatio` (string)
- `brandName` (string)
- `cta` (string)
- `musicMood` (string)
- `prompt` (string, required)
- `refImage` (string)
- `resolution` (string)
- `seconds` (number)
- `specs` (array)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `generate_video` (~591 tokens)

Input parameters:

- `aspectRatio` (string)
- `durationSeconds` (number)
- `model` (string)
- `musicMood` (string)
- `prompt` (string, required)
- `refImage` (string)
- `refVideo` (string)
- `resolution` (string)
- `ttsScript` (string)
- `ttsVoice` (string)

Output parameters:

- `askedSeconds` (number)
- `jobId` (string)
- `maxSingleClipSeconds` (number)
- `model`
- `raw`
- `refused` (string)
- `stillRendering` (boolean)
- `url`

### `generate_avatar` (~117 tokens)

Input parameters:

- `image` (string, required)
- `resolution` (string)
- `script` (string, required)
- `voice` (string)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `stitch_video` (~243 tokens)

Input parameters:

- `aspectRatio` (string)
- `durationSeconds` (number)
- `model` (string)
- `resolution` (string)
- `scenes` (array, required)
- `voice` (string)
- `voiceover` (string)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `get_job` (~82 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `error`
- `id` (string)
- `progress` (number)
- `result`
- `status` (string)
- `type` (string)
- `url`

### `list_skills` (~76 tokens)

Output parameters:

- `bundles` (array)
- `custom` (array)
- `inApp` (array)

### `get_skill` (~65 tokens)

Input parameters:

- `name` (string, required)

Output parameters:

- `name` (string)

### `save_skill` (~113 tokens)

Input parameters:

- `directive` (string, required)
- `name` (string, required)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `delete_skill` (~61 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `ok` (boolean)
- `removed` (boolean)

### `list_memory` (~101 tokens)

Input parameters:

- `category` (string)
- `limit` (number)

Output parameters:

- `memory` (array)

### `remember` (~129 tokens)

Input parameters:

- `category` (string)
- `text` (string, required)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `forget` (~64 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `ok` (boolean)
- `removed` (boolean)

### `list_swipefile` (~149 tokens)

Input parameters:

- `collection` (string)
- `limit` (number)

Output parameters:

- `ads` (array)
- `collections` (array)
- `total` (number)

### `save_to_swipefile` (~175 tokens)

Input parameters:

- `collection` (string, required)
- `items` (array, required)

Output parameters:

- `collection` (string)
- `collectionId` (string)
- `moved` (number)
- `ok` (boolean)
- `saved` (number)
- `total` (number)

### `list_playbooks` (~130 tokens)

Input parameters:

- `full` (boolean)
- `limit` (number)

Output parameters:

- `playbooks` (array)
- `total` (number)

### `save_playbook` (~241 tokens)

Input parameters:

- `angles` (array)
- `brand` (string)
- `formats` (array)
- `hooks` (array)
- `name` (string, required)
- `plays` (array)
- `source` (string)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `delete_playbook` (~65 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `ok` (boolean)
- `removed` (boolean)

### `list_employees` (~61 tokens)

Output parameters:

- `activeId`
- `employees` (array)

### `save_employee` (~137 tokens)

Input parameters:

- `directive` (string, required)
- `emoji` (string)
- `name` (string, required)
- `pitch` (string)
- `title` (string)

Output parameters:

- `id` (string)
- `ok` (boolean)

### `set_active_employee` (~77 tokens)

Input parameters:

- `id` (string)

Output parameters:

- `activeId`
- `ok` (boolean)

### `list_creators` (~238 tokens)

Input parameters:

- `limit` (number)

Output parameters:

- `count` (number)
- `creators` (array)

### `save_creator` (~388 tokens)

Input parameters:

- `consented` (boolean)
- `image` (string, required)
- `look` (string)
- `name` (string, required)
- `poses` (array)
- `source` (string)
- `voice` (string)

Output parameters:

- `creator`
- `id` (string)
- `ok` (boolean)

### `delete_creator` (~92 tokens)

Input parameters:

- `id` (string, required)

Output parameters:

- `ok` (boolean)
- `removed` (boolean)

### `update_brand` (~183 tokens)

Input parameters:

- `audience` (string)
- `category` (string)
- `domain` (string)
- `goal` (string)
- `name` (string)
- `positioning` (string)
- `sells` (string)
- `style` (string)
- `summary` (string)
- `voice` (string)

Output parameters:

- `brand`
- `ok` (boolean)
- `updated` (array)

### `store_get` (~199 tokens)

Input parameters:

- `key` (string, required)
- `limit` (number)

Output parameters:

- `key` (string)
- `value`

### `get_settings` (~58 tokens)

Output parameters:

- `language` (string)
- `notifications`
- `privacy`
- `theme` (string)

### `update_settings` (~167 tokens)

Input parameters:

- `language` (string)
- `theme` (string)
- `watchEmail` (boolean)

Output parameters:

- `changed` (array)
- `language` (string)
- `notifications`
- `ok` (boolean)
- `theme` (string)

### `list_connectors` (~67 tokens)

Output parameters:

- `connectors` (array)
- `providers` (array)

### `list_connector_accounts` (~132 tokens)

Input parameters:

- `provider` (string, required)

Output parameters:

- `identities` (array)
- `provider` (string)
- `selectedIds` (array)

### `set_connector_accounts` (~200 tokens)

Input parameters:

- `accountIds` (array, required)
- `provider` (string, required)

Output parameters:

- `ok` (boolean)
- `provider` (string)
- `selectedIds` (array)

### `disconnect_connector` (~184 tokens)

Input parameters:

- `confirm` (boolean)
- `provider` (string, required)

Output parameters:

- `disconnected` (boolean)
- `ok` (boolean)
- `provider` (string)

### `list_team` (~32 tokens)

Output parameters:

- `members` (array)

### `invite_member` (~97 tokens)

Input parameters:

- `confirm` (boolean)
- `email` (string, required)
- `role` (string)

Output parameters:

- `invited` (boolean)
- `link` (string)
- `ok` (boolean)

### `remove_member` (~64 tokens)

Input parameters:

- `confirm` (boolean)
- `email` (string, required)

Output parameters:

- `email` (string)
- `members` (array)
- `ok` (boolean)
- `removed` (boolean)

### `set_role` (~82 tokens)

Input parameters:

- `confirm` (boolean)
- `email` (string, required)
- `role` (string, required)

Output parameters:

- `email` (string)
- `ok` (boolean)
- `role` (string)

### `list_jobs` (~32 tokens)

Output parameters:

- `jobs` (array)
- `running` (number)

### `find_competitors` (~111 tokens)

Input parameters:

- `domain` (string, required)
- `mode` (string)

Output parameters:

- `candidates` (array)
- `diagnostics`

### `pull_competitor_ads` (~127 tokens)

Input parameters:

- `companyName` (string)
- `country` (string)
- `domain` (string)
- `limit` (number)
- `platforms` (array)
- `sort` (string)

Output parameters:

- `facebook`
- `google`
- `linkedin`

### `research_ads` (~105 tokens)

Input parameters:

- `brand`
- `query` (string, required)

Output parameters:

- `actions`
- `reply` (string)
- `results` (array)

### `search_meta_ads` (~217 tokens)

Input parameters:

- `companyName` (string)
- `country` (string)
- `limit` (integer)
- `mediaType` (string)
- `pageId` (string)
- `query` (string)
- `status` (string)

Output parameters:

- `ads` (array)
- `found` (number)

### `search_google_ads` (~169 tokens)

Input parameters:

- `advertiserId` (string)
- `domain` (string)
- `limit` (integer)
- `region` (string)

Output parameters:

- `ads` (array)
- `found` (number)

### `search_linkedin_ads` (~173 tokens)

Input parameters:

- `company` (string)
- `companyId` (string)
- `countries` (string)
- `keyword` (string)
- `limit` (integer)

Output parameters:

- `ads` (array)
- `found` (number)

### `search_tiktok` (~112 tokens)

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `found` (number)
- `videos` (array)

### `search_instagram` (~112 tokens)

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `found` (number)
- `reels` (array)

### `search_youtube` (~98 tokens)

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `found` (number)
- `videos` (array)

### `search_reddit` (~108 tokens)

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `found` (number)
- `posts` (array)

### `search_threads` (~89 tokens)

Input parameters:

- `limit` (integer)
- `query` (string, required)

Output parameters:

- `found` (number)
- `posts` (array)

### `scrapecreators_fetch` (~226 tokens)

Input parameters:

- `params` (object)
- `path` (string, required)

### `get_brand` (~70 tokens)

Output parameters:

- `brand`
- `hasBrand` (boolean)
- `memoryCount` (number)

### `draft_brand` (~271 tokens)

Input parameters:

- `description` (string)
- `domain` (string)
- `platform` (string)
- `save` (boolean)
- `socialHandle` (string)

Output parameters:

- `category` (string)
- `domain` (string)
- `logo` (string)
- `name` (string)
- `palette` (array)
- `productImages` (array)
- `products`
- `sells`
- `summary` (string)

### `list_library` (~100 tokens)

Input parameters:

- `kind` (string)
- `limit` (number)

Output parameters:

- `assets` (array)

### `fetch_asset` (~62 tokens)

Input parameters:

- `name` (string)
- `url` (string, required)

Output parameters:

- `downloadUrl` (string)
- `url` (string)

### `analyze_video` (~92 tokens)

Input parameters:

- `url` (string, required)

Output parameters:

- `durationSeconds` (number)
- `frameTimes` (array)
- `transcript`

### `score_ad` (~122 tokens)

Input parameters:

- `intent` (string)
- `kind` (string)
- `url` (string, required)

Output parameters:

- `dimensions` (array)
- `overall` (number)
- `strengths`
- `tier` (string)
- `top_fix` (string)

### `reframe_video` (~75 tokens)

Input parameters:

- `aspectRatio` (string, required)
- `video` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `upscale_video` (~42 tokens)

Input parameters:

- `video` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `edit_video` (~283 tokens)

Input parameters:

- `elements` (array)
- `instruction` (string, required)
- `keepAudio` (boolean)
- `video` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `dub_video` (~216 tokens)

Input parameters:

- `language` (string, required)
- `script` (string)
- `video` (string, required)
- `voice` (string)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `change_voice` (~113 tokens)

Input parameters:

- `video` (string, required)
- `voice` (string)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `recast_motion` (~112 tokens)

Input parameters:

- `image` (string, required)
- `orientation` (string)
- `prompt` (string)
- `video` (string, required)

Output parameters:

- `jobId` (string)
- `model`
- `raw`
- `stillRendering` (boolean)
- `url`

### `plan_variations` (~122 tokens)

Input parameters:

- `brand`
- `count` (integer)
- `language` (string)
- `product` (string, required)

Output parameters:

- `angles` (array)
- `variants` (array)

### `competitor_teardown` (~225 tokens)

Input parameters:

- `ads` (array)
- `competitor` (object, required)
- `language` (string)

Output parameters:

- `adCount` (number)
- `teardown`

### `check_ad_policy` (~199 tokens)

Input parameters:

- `category` (string)
- `claims` (string)
- `copy` (string, required)
- `imageDescription` (string)

Output parameters:

- `anchors` (array)
- `findings` (array)
- `summary` (string)
- `verdict` (string)

### `remix_static` (~156 tokens)

Input parameters:

- `brandId` (string)
- `imageUrl` (string, required)

Output parameters:

- `image` (string)
- `model` (string)
- `residual`
- `slots`

### `mine_angles` (~177 tokens)

Input parameters:

- `brandId` (string)

Output parameters:

- `angles` (array)
- `note` (string)
- `sourceCount` (number)

### `list_product_photos` (~129 tokens)

Input parameters:

- `brandId` (string)

Output parameters:

- `photos` (array)
- `summary` (string)

### `set_product_image` (~270 tokens)

Input parameters:

- `brandId` (string)
- `imageUrl` (string, required)
- `source_note` (string)

Output parameters:

- `attached` (boolean)
- `source_note`
- `summary` (string)
- `url`

### `fetch_app_screens` (~200 tokens)

Input parameters:

- `appName` (string)
- `brandId` (string)

Output parameters:

- `appName` (string)
- `appStoreUrl` (string)
- `saved` (boolean)
- `screens` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/hermoso-ai-hermoso/app#diagnostics

## Score history

- 2026-08-03: 82
- 2026-08-02: 77
- 2026-08-01: 76
- 2026-07-31: 82
- 2026-07-30: 75
- 2026-07-29: 71
- 2026-07-28: 75
- 2026-07-27: 70
- 2026-07-26: 75

## Links

- Remote endpoint: https://app.hermoso.ai/mcp
- Repository: https://github.com/hermoso-ai/hermoso
- Website: https://hermoso.ai/mcp/
- Changelog RSS feed: https://verifymcp.io/servers/hermoso-ai-hermoso/app/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/hermoso-ai-hermoso/app/changelog.json
- HTML version of this page: https://verifymcp.io/servers/hermoso-ai-hermoso/app
