com.aicontentdrop/ai-content-drop
REMOTE · AICONTENTDROP.COM
Make AI videos, images, ads and short dramas from a description, priced first. Sign in to create.
Available components
Last scanned (4 hours ago)
Scores higher than 85% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
Recent critical change
Authorization (10 Oct 2026). See the changelog before you install this server.
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. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (generate_video). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability81
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 8382 tokens (~158/item across 53 items; 42 tools + 11 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 42 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 44 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities73
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 30 Oct 26 0
- Tool “add_frame” rewrote its description, which is the text the model reads security
- Tool “connect_cards” rewrote its description, which is the text the model reads security
- Tool “create_canvas” rewrote its description, which is the text the model reads security
- Tool “get_ad_job” rewrote its description, which is the text the model reads security
- Tool “get_canvas” rewrote its description, which is the text the model reads security
- Tool “get_generation” rewrote its description, which is the text the model reads security
- Tool “list_ad_formats” rewrote its description, which is the text the model reads security
- Tool “list_canvases” rewrote its description, which is the text the model reads security
- Tool “list_saved_ads” rewrote its description, which is the text the model reads security
- Tool “refresh_canvas” rewrote its description, which is the text the model reads security
- Tool “search_competitor_ads” rewrote its description, which is the text the model reads security
- Tool “update_card” rewrote its description, which is the text the model reads security
- Tool “write_ad_storyboard” rewrote its description, which is the text the model reads security
- Tool “decode_ad” is now declared destructive security
- Tool “generate_ad” is now declared destructive security
- Tool “generate_avatar” is now declared destructive security
- Tool “generate_image” is now declared destructive security
- Tool “generate_ugc_video” is now declared destructive security
- Tool “generate_video” is now declared destructive security
- Tool “rename_canvas” is now declared destructive security
- Tool “run_generation_card” is now declared destructive security
- Tool “ad_to_canvas_card” changed its title: Ad to board cosmetic
- Tool “add_frame” changed its title: Add frame cosmetic
- Tool “add_generation_card” changed its title: Add generation card cosmetic
- Tool “add_media_card” changed its title: Add media card cosmetic
- Tool “add_text_card” changed its title: Add text card cosmetic
- Tool “arrange_cards” changed its title: Arrange cards cosmetic
- Tool “connect_cards” changed its title: Connect cards cosmetic
- Tool “create_canvas” changed its title: Create board cosmetic
- Tool “decode_ad” changed its title: Decode ad cosmetic
- Tool “estimate_ad_cost” changed its title: Estimate ad cost cosmetic
- Tool “estimate_credit_cost” changed its title: Estimate credit cost cosmetic
- Tool “generate_ad” changed its title: Generate ad cosmetic
- Tool “generate_avatar” changed its title: Generate avatar cosmetic
- Tool “generate_image” changed its title: Generate image cosmetic
- Tool “generate_ugc_video” changed its title: Generate UGC video cosmetic
- Tool “generate_video” changed its title: Generate video cosmetic
- Tool “get_account” changed its title: Get account cosmetic
- Tool “get_ad_job” changed its title: Get ad job cosmetic
- Tool “get_article” changed its title: Get article cosmetic
- Tool “get_canvas” changed its title: Get board cosmetic
- Tool “get_canvas_link” changed its title: Get board link cosmetic
- Tool “get_generation” changed its title: Get generation cosmetic
- Tool “get_saved_ad” changed its title: Get saved ad cosmetic
- Tool “group_cards” changed its title: Group cards cosmetic
- Tool “import_asset” changed its title: Import asset cosmetic
- Tool “import_brand_profile” changed its title: Import brand profile cosmetic
- Tool “list_ad_formats” changed its title: List ad formats cosmetic
- Tool “list_brand_profiles” changed its title: List brand profiles cosmetic
- Tool “list_canvases” changed its title: List boards cosmetic
- Tool “list_generations” changed its title: List generations cosmetic
- Tool “list_models” changed its title: List models cosmetic
- Tool “list_saved_ads” changed its title: List saved ads cosmetic
- Tool “list_ugc_avatars” changed its title: List UGC avatars cosmetic
- Tool “move_cards” changed its title: Move cards cosmetic
- Tool “refresh_canvas” changed its title: Refresh board cosmetic
- Tool “rename_canvas” changed its title: Rename board cosmetic
- Tool “run_generation_card” changed its title: Run generation card cosmetic
- Tool “save_competitor_ad” changed its title: Save competitor ad cosmetic
- Tool “search_articles” changed its title: Search articles cosmetic
- Tool “search_competitor_ads” changed its title: Search competitor ads cosmetic
- Tool “update_card” changed its title: Update card cosmetic
- Tool “write_ad_storyboard” changed its title: Write ad storyboard cosmetic
- 27 Oct 26 0
- Tool “write_ad_storyboard” rewrote its description, which is the text the model reads security
- “write_ad_storyboard” added an optional parameter “product_image_url” cosmetic
- 12 Oct 26 0
- Tool “get_canvas” rewrote its description, which is the text the model reads security
- Tool “refresh_canvas” rewrote its description, which is the text the model reads security
- Server version: 1.3.4 → 1.3.6 functional
- 10 Oct 26 −6
- Authorization: partial → fail ▼ critical
- Stability: fail → pass ▲ security
- Tool “update_card” is now declared destructive security
- Server version: 1.3.0 → 1.3.4 functional
- 1 Oct 26 88
- Tool “write_ad_storyboard” rewrote its description, which is the text the model reads security
- Server version: 1.1.0 → 1.2.0 functional
- “estimate_ad_cost” reworded the description of “brief” cosmetic
- “generate_ad” reworded the description of “brief” cosmetic
- “write_ad_storyboard” reworded the description of “brief” cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “add_generation_card” rewrote its description, which is the text the model reads security
- Tool “run_generation_card” rewrote its description, which is the text the model reads security
- New tool “connect_cards” functional
- “add_generation_card” added an optional parameter “from_card_id” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://aicontentdrop.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=aicontentdrop.com | CN=WE1,O=Google Trust Services,C=US | 25 Oct 2026 | 23 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | a1bbc6fd5450eae61318e7cd3b79b9cb |
| SANs: aicontentdrop.com, *.aicontentdrop.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of aicontentdrop.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| aicontentdrop.com. | present | 2371 | 13 | Verified |
| aicontentdrop.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://aicontentdrop.com/mcp | Verified | 200 | |
| http (plaintext) | http://aicontentdrop.com/mcp | HTTPS enforced | 301 | https://aicontentdrop.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ad_to_canvas_card Ad to board ~178
Place a saved competitor ad on a board as a media card (its video or image, the advertiser as title, the hook as caption) with its decoded brief attached when it has one. Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_id | string | yes | A saved ad's id, from list_saved_ads or save_competitor_ad. |
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| revision | number | – | The board revision this change is based on. Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| ad | object | yes | – |
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
add_frame Add frame ~228
Add a labelled frame (a region such as Week 1 or Hooks) to a board. The frame is placed in free space like a new card and encloses no existing card. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| height | number | – | Optional height in pixels; defaults to 360. |
| label | string | yes | The frame's label, up to 200 characters. |
| position | object | – | Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| width | number | – | Optional width in pixels; defaults to 480. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
add_generation_card Add generation card ~468
Add a draft generation card to a board: a prompt and a model (an id from list_models) that can be rendered later with run_generation_card. Adding it costs nothing; nothing renders until it is run with a quote. Set duration and resolution on the card for a per-second model: the quote for run_generation_card must be taken with them. For a step that builds on an earlier card (a still that becomes a video), pass from_card_id: the new card is connected to that card on the board and, unless it has its own image_url, starts from that card's finished image. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Optional, e.g. 9:16, 16:9, 1:1. |
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| duration | number | – | Optional clip length in seconds, for video models that price by duration. |
| from_card_id | string | – | Optional: an image generation card or an image media card on the same board. The new card is connected to it, and its finished image is the new card's start frame when the new card runs (run the sour… |
| height | number | – | Optional card height in pixels. |
| image_url | string | – | Optional public https reference image for image-to-video or image-to-image. |
| kind | string | – | Defaults to video. |
| model | string | – | A model id from list_models. |
| position | object | – | Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell. |
| prompt | string | – | The generation prompt, up to 4000 characters. |
| resolution | string | – | Optional, e.g. 720p, 1080p. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| width | number | – | Optional card width in pixels. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| edge | object|null | – | The connection from from_card_id, when one was given. |
| next_step | string | yes | – |
No examples provided.
add_media_card Add media card ~278
Add an image or video card to a board from a public https URL (an import_asset result, a finished generation's video_url, or an ad's video_url). Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| caption | string | – | Optional caption, up to 2000 characters. |
| height | number | – | Optional card height in pixels. |
| kind | string | yes | – |
| position | object | – | Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| source | object | – | Optional provenance: where the media came from. |
| title | string | – | Optional title, up to 200 characters. |
| url | string | yes | Public https URL of the image or video. |
| width | number | – | Optional card width in pixels. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
add_text_card Add text card ~259
Add a text card (a note, an idea, a script line) to a board. The server places it on a grid unless a position is given. Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| color | string | – | Optional colour name or hex the website uses for the card. |
| height | number | – | Optional card height in pixels. |
| position | object | – | Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| text | string | yes | The card's text, up to 4000 characters. |
| title | string | – | Optional title, up to 200 characters. |
| width | number | – | Optional card width in pixels. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
arrange_cards Arrange cards ~171
Lay chosen cards (or the whole board) out as a grid, a row or a column. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| gap | number | – | Optional spacing in pixels; defaults to 24. |
| ids | array | – | Card ids to arrange; omitted means every card. |
| layout | string | yes | – |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
connect_cards Connect cards ~254
Connect two cards on a board with a line from one to the next, so the board reads as a flow: a script card to the card that renders it, an idea to each of its variations. Costs no credits. Refuses a card connected to itself, a frame, and a connection that is already there. A connection made here does not make one card's result another card's start frame; add_generation_card with from_card_id does. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| from_card_id | string | yes | The card the line starts from, from cards[] on the board. |
| label | string | – | Optional short label drawn on the line, up to 200 characters. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| to_card_id | string | yes | The card it leads to. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| edge | object|null | yes | A connection drawn from one card to the next: { id, source, target, label? }. data.role start_image means the source card's finished image is the target card's start frame. |
| next_step | string | yes | – |
No examples provided.
create_canvas Create board ~100
Create a new, empty board and return it. Costs no credits. Cards are added to it with the add_* tools. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Board name, up to 100 characters. Defaults to Untitled Canvas. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
decode_ad Decode ad ~169
Decode a saved competitor ad into a reusable formula: hook, script, scenes, audio, call to action and style, plus a generation-ready recreation prompt. Requires a quote_id from estimate_ad_cost with kind "decode" (a flat price). Credits are charged only when the analysis succeeds; an ad decoded before returns its stored decode and charges nothing. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_id | string | yes | A saved ad's id, from list_saved_ads or save_competitor_ad. |
| quote_id | string | yes | The quote_id from estimate_ad_cost with kind "decode". Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| ad_id | string | yes | – |
| cached | boolean | yes | True when a stored decode was returned; nothing was charged. |
| credits_quoted | number | yes | The price fixed by the quote. |
| credits_used | number|null | yes | Credits charged: 0 for a stored decode or when the charge could not be applied (then note says so); null when the figure is not reported. |
| decode | object | yes | The ad's formula, layer by layer, plus a generation-ready prompt. |
| next_step | string | yes | – |
| note | string | – | Present only when the charge could not be applied to the account. |
| replayed | boolean | yes | True when this quote_id had already been submitted and the original result was returned. |
No examples provided.
estimate_ad_cost Estimate ad cost ~374
Price a studio job before making it: a finished ad from a brief or storyboard (kind "ad"), a UGC creator video (kind "ugc"), a generated avatar (kind "avatar") or a competitor-ad decode (kind "decode"). Returns the credit lines, the total and a quote_id that generate_ad, generate_ugc_video, generate_avatar and decode_ad require. No account needed. For an ad, quote exactly the fields you will submit.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | object | – | The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, qua… |
| kind | string | – | Defaults to ad. |
| model_tier | string | – | cinematic renders on Seedance with director-grade camera work and costs more per shot; needs the brief. |
| needs_avatar_gen | boolean | – | True when the avatar still has to be generated (billed as a line). |
| needs_product_gen | boolean | – | True when the product still has to be generated (billed as a line). |
| persona_mode | string | – | synthetic lets the studio substitute one consistent generated creator for the avatar; exact-avatar (default) keeps the avatar as given. |
| quality | string | – | Lip-sync tier. premium costs more per talking shot. Defaults to the brief's quality, else fast. |
| storyboard | object | – | The storyboard returned by write_ad_storyboard, as is or edited. When present it is what renders; the brief is optional alongside it. |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | string | yes | – |
| credits_total | number | yes | For an ad, the most it can cost; the charge on success is never higher. |
| expires_at | string | yes | ISO time after which the quote is refused. |
| expires_in_seconds | number | yes | – |
| kind | string | yes | – |
| lines | array | yes | – |
| next_step | string | yes | – |
| quote_id | string | yes | Signed quote. Pass it to the matching generate_* tool; it fixes the price and makes a retry safe. |
No examples provided.
estimate_credit_cost Estimate credit cost ~259
Price a video or image before making it. Returns the exact credit cost and a quote_id that generate_video and generate_image require. No account needed. Pass the duration and resolution you intend to use; some video models bill per second.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | – | Video length in seconds you intend to generate. Affects the price of per-second models. |
| model_id | string | yes | Model ID, e.g. "kling_3_0" or "veo_3_fast". |
| quantity | number | – | How many generations to price. Defaults to 1. Only a quote for exactly 1 can be spent; larger quantities are for planning. |
| reference_video_seconds | number | – | Length in seconds of the reference video you will pass as reference_video_url (seedance_2_5 up to 30 s, or seedance_2_0_fast up to 15 s at 720p). Reference seconds are billed as input, so they change… |
| resolution | string | – | Video resolution you intend to generate, e.g. "720p" or "1080p". Affects the price of per-second models. |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | string | yes | – |
| credits_each | number | yes | – |
| credits_total | number | yes | – |
| duration_seconds | number | – | The duration actually priced, for per-second models. |
| model_id | string | yes | Normalized to underscores. |
| name | string | yes | – |
| next_step | string | yes | – |
| quantity | number | yes | – |
| quote_expires_at | string | yes | ISO time after which the quote is refused. |
| quote_id | string | yes | Signed quote. Pass it to generate_video or generate_image; it fixes the price and makes a retry safe. |
| reference_video_seconds | number | – | Reference-video seconds priced as input, when a reference was quoted. |
| resolution | string | – | The resolution actually priced, for per-second models. |
| type | string | yes | – |
No examples provided.
generate_ad Generate ad ~574
Make a finished video ad — multi-shot, with a speaking creator, product shots, captions and an optional music bed — from a brief or a storyboard plus an avatar image and a product image. Requires a quote_id from estimate_ad_cost for exactly these fields; returns a job_id to poll with get_ad_job. Credits are charged only when the ad succeeds, and never more than the quote. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| avatar_description | string | – | Optional one-line identity note for the creator (20-500 characters). |
| avatar_url | string | yes | Public https URL of the creator's reference image (a catalogue portrait, a generate_avatar result, or an import_asset URL). |
| brief | object | – | The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, qua… |
| canvas_id | string | – | Optional board id (from list_canvases or create_canvas): the ad is placed on it as a generation card that fills in when the render lands. |
| model_tier | string | – | cinematic renders on Seedance with director-grade camera work and costs more per shot; needs the brief. |
| music | object | – | Optional music bed. |
| needs_avatar_gen | boolean | – | True when the avatar still has to be generated (billed as a line). |
| needs_product_gen | boolean | – | True when the product still has to be generated (billed as a line). |
| persona_mode | string | – | synthetic lets the studio substitute one consistent generated creator for the avatar; exact-avatar (default) keeps the avatar as given. |
| product_description | string | – | Optional one-line product note (10-500 characters). |
| product_image_url | string | yes | Public https URL of the product image. |
| project_id | string | – | Optional studio project (uuid) to file the run under. |
| quality | string | – | Lip-sync tier. premium costs more per talking shot. Defaults to the brief's quality, else fast. |
| quote_id | string | yes | The quote_id from estimate_ad_cost for these exact fields (kind ad). Required. |
| storyboard | object | – | The storyboard returned by write_ad_storyboard, as is or edited. When present it is what renders; the brief is optional alongside it. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_quoted | number | yes | The ceiling fixed by the quote. |
| job_id | string | yes | Poll this with get_ad_job. |
| next_step | string | yes | – |
| poll_after_seconds | number | yes | – |
| replayed | boolean | yes | True when this quote_id had already been submitted and the original job was returned. |
| status | string | yes | – |
| studio_url | string|null | – | The job's page in the studio on AI Content Drop. |
No examples provided.
generate_avatar Generate avatar ~190
Generate a creator portrait (Nano Banana) to use as the avatar in generate_ad, checked for hands, face and background defects. Requires a quote_id from estimate_ad_cost with kind "avatar". Finishes within the call; credits are charged only when a portrait comes back. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Defaults to 9:16. |
| prompt | string | yes | Who the creator is: age, look, clothing, setting, mood (20-800 characters). |
| quote_id | string | yes | The quote_id from estimate_ad_cost with kind "avatar". Required. |
| save_as | string | – | Optional name; saves the portrait on a brand profile for reuse. |
| Name | Type | Req | Description |
|---|---|---|---|
| avatar_url | string|null | yes | Pass as avatar_url to generate_ad. |
| brand_profile_id | string|null | – | – |
| credits_quoted | number | yes | – |
| credits_used | number | yes | The charge that landed; 0 when no portrait came back or the charge could not be applied (then note says so). |
| next_step | string | yes | – |
| note | string | – | Present only when the charge could not be applied to the account. |
| qa_notes | array | yes | – |
| qa_passed | boolean | yes | – |
| replayed | boolean | yes | – |
No examples provided.
generate_image Generate image ~246
Make an AI image: a product still, a thumbnail, a poster, concept art, or a reference frame to animate later. Requires a quote_id from estimate_credit_cost so the price is agreed first; then returns a job id to poll with get_generation (kind "image"). Credits are charged only when the image succeeds. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| image_url | string | – | Optional public reference image (image-to-image). Only these models accept one: gpt_image_2, gpt_image_2_edit, gpt_image_2_5_flare, gpt_image_2_5_sunburst, seedream_5_0_pro. |
| model | string | – | Image model ID from list_models with type "image". Must match the quoted model; omitted means the quoted model. |
| prompt | string | yes | What the image should show. |
| quote_id | string | yes | The quote_id from estimate_credit_cost for this exact image model. Required. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_quoted | number | yes | The price fixed by the quote. |
| credits_used | number | yes | 0 until the render succeeds; billing is post-deduct. |
| id | string | yes | Poll this with get_generation. |
| image_url | string|null | – | Null until the render finishes. |
| kind | string | yes | – |
| model | string|null | – | – |
| next_step | string | yes | What to do next, in words, so a model need not infer it. |
| replayed | boolean | yes | True when this quote_id had already been submitted and the original job was returned. |
| status | string | yes | – |
| unlimited | boolean | – | – |
| video_url | string|null | – | Null until the render finishes. |
No examples provided.
generate_ugc_video Generate UGC video ~302
Make a UGC-style creator video: a catalogue creator (template from list_ugc_avatars) or a person's own photo (image_url) speaks the script with lip-sync, optional voice choice and ambience. Requires a quote_id from estimate_ad_cost with kind "ugc", and image_rights_consent: true given by the person. Returns an id to poll with get_generation. Credits are charged only on success. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| ambience | string | – | Optional background sound, e.g. cafe, street, none. |
| image_rights_consent | boolean | yes | Must be true, and only after the person confirmed they hold the rights to the face and accept the acceptable-use terms. No default. |
| image_url | string | – | Public https URL of the person's photo. Alternative to template. |
| language | string | – | Optional language code, e.g. en. |
| quote_id | string | yes | The quote_id from estimate_ad_cost with kind "ugc". Required. |
| script | string | yes | What the creator says, up to 1000 characters. |
| template | string | – | A creator id from list_ugc_avatars. Alternative to image_url. |
| voice | string | – | Optional voice id or name. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_quoted | number | yes | – |
| credits_used | number | yes | 0 until the render succeeds; billing is post-deduct. |
| id | string | yes | Poll this with get_generation. |
| kind | string | yes | – |
| next_step | string | yes | – |
| replayed | boolean | yes | – |
| status | string | yes | – |
No examples provided.
generate_video Generate video ~403
Make an AI video: a product ad, a vertical clip for social, a cinematic shot, or animate a photo into video (image-to-video). Requires a quote_id from estimate_credit_cost so the price is agreed first; then returns a job id to poll with get_generation. Credits are charged only when the video succeeds. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Defaults to 16:9. Use 9:16 for vertical social clips. |
| duration | number | – | Length in seconds. Must match the quoted duration for per-second models. |
| image_url | string | – | Public image URL to animate (image-to-video). Required for models whose list_models entry has needs_start_image; optional for the rest. |
| model | string | – | Model ID from list_models, e.g. "kling_3_0". Must match the quoted model; omitted means the quoted model. |
| prompt | string | yes | What the video should show. Detailed prompts produce better results. |
| quote_id | string | yes | The quote_id from estimate_credit_cost for this exact model, duration and resolution. Required. |
| reference_video_url | string | – | Optional public https URL of a reference video (for example a 3D blockout playblast) whose camera movement, shot rhythm and subject motion the generation must follow. seedance_2_5 (30 s max) or seeda… |
| resolution | string | – | e.g. "720p" or "1080p". Must match the quoted resolution for per-second models. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_quoted | number | yes | The price fixed by the quote. |
| credits_used | number | yes | 0 until the render succeeds; billing is post-deduct. |
| id | string | yes | Poll this with get_generation. |
| image_url | string|null | – | Null until the render finishes. |
| kind | string | yes | – |
| model | string|null | – | – |
| next_step | string | yes | What to do next, in words, so a model need not infer it. |
| replayed | boolean | yes | True when this quote_id had already been submitted and the original job was returned. |
| status | string | yes | – |
| unlimited | boolean | – | – |
| video_url | string|null | – | Null until the render finishes. |
No examples provided.
get_account Get account ~79
Check the signed-in account's remaining credits and current plan name before generating, and get the informational page about plans and entitlement. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| can_generate | boolean | yes | – |
| credits_remaining | number | yes | – |
| info_url | string | yes | Informational page describing plans and entitlement options. |
| note | string | – | – |
| plan | string | yes | free | starter | professional | ultra | enterprise_max |
| username | string|null | – | – |
No examples provided.
get_ad_job Get ad job ~121
Check an ad job: stage and percent while it renders, then the finished video URL, the storyboard sheet, duration, size and the credits charged. Takes the job_id from generate_ad; while the job runs the result carries retry_after_seconds (15). SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | The job_id returned by generate_ad. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_used | number|null | yes | Credits charged for this job when the record reports them; null when a succeeded job's record does not carry the figure (credits_quoted from generate_ad is the ceiling). 0 while running, when failed,… |
| duration_seconds | number | – | – |
| error | string | – | – |
| job_id | string | yes | – |
| next_step | string | yes | – |
| note | string | – | Present only when a succeeded job's charge could not be applied to the account. |
| percent | number | – | – |
| retry_after_seconds | number | – | Present while the job is not terminal. |
| size_bytes | number | – | – |
| stage | string | – | storyboard | rendering | done, while known. |
| status | string | yes | – |
| storyboard_sheet_url | string | – | The storyboard sheet image, when the run produced one. |
| studio_url | string | – | The job's page in the studio on AI Content Drop. |
| video_url | string | – | The finished ad with burnt-in captions. Present only when succeeded. |
No examples provided.
get_article Get article ~44
Fetch the full text of one published article as markdown, by slug.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Article slug, e.g. "kling-vs-sora-comparison". |
| Name | Type | Req | Description |
|---|---|---|---|
| markdown | string | yes | Full article body. |
| published | string | – | – |
| slug | string | yes | – |
| title | string | yes | – |
| url | string | yes | – |
No examples provided.
get_canvas Get board ~158
Read one board in full: every card with its type, position, size and data, the edges, and the revision. Generation cards that are still rendering are checked against their jobs on every read. Shows the board as a view; a board already on screen re-reads itself every 10 seconds while a card renders and for 5 minutes after it last changed, opened or went full screen. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
get_canvas_link Get board link ~108
Get the link to a board's page on AI Content Drop so the person can open it in a browser or the host's embedded browser panel. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | – |
| link | string | yes | – |
| name | string | yes | – |
| next_step | string | yes | – |
No examples provided.
get_generation Get generation ~136
Check whether a video or image is finished and get its URL. Takes the job id that generate_video or generate_image returned; pass kind "image" for an image job. Reports status, the finished file URL, and the credits charged. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The id returned by generate_video or generate_image. |
| kind | string | – | Which job type the id belongs to. Defaults to video. |
| Name | Type | Req | Description |
|---|---|---|---|
| credits_used | number | yes | Charged only on success — a failed generation is 0. |
| error_message | string|null | – | – |
| id | string | yes | Poll this with get_generation. |
| image_url | string|null | – | – |
| kind | string | – | – |
| model | string|null | – | Model ID, underscored. |
| status | string | yes | generating | processing | completed | failed | timeout |
| thumbnail_url | string|null | – | – |
| title | string|null | – | – |
| video_url | string|null | – | – |
No examples provided.
get_saved_ad Get saved ad ~115
Read one saved competitor ad in full, with its stored decode (the ad's formula and a recreation prompt) when it has one. Costs no credits; never runs a decode. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_id | string | yes | A saved ad's id, from list_saved_ads or save_competitor_ad. |
| Name | Type | Req | Description |
|---|---|---|---|
| ad | object | yes | – |
| decode | object|null | yes | The ad's formula, layer by layer, plus a generation-ready prompt. |
| next_step | string | yes | – |
No examples provided.
group_cards Group cards ~162
Wrap chosen cards in a labelled frame that encloses them. Returns the board and the new frame. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| ids | array | yes | The card ids to enclose. |
| label | string | yes | The frame's label, up to 200 characters. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
import_asset Import asset ~112
Copy a public image (JPEG, PNG or WebP, at most 10 MB) onto AI Content Drop so it can be used as an avatar, product or photo reference. Returns the hosted URL. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public https URL of the image. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | yes | – |
| content_type | string | yes | – |
| height | number | – | – |
| next_step | string | yes | – |
| url | string | yes | The hosted copy. |
| width | number | – | – |
No examples provided.
import_brand_profile Import brand profile ~145
Read a brand's website and save a brand profile from it: name, value props, CTA, tone and product images. Costs no credits. Low-confidence reads are returned for confirmation instead of being saved. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | What kind of page it is. Defaults to product. |
| persist | boolean | – | Save when the read is confident. Defaults to true. |
| url | string | yes | The brand's product page or app page. |
| Name | Type | Req | Description |
|---|---|---|---|
| extraction | object|null | – | What was read from the page. |
| next_step | string | yes | – |
| profile | object|null | yes | The saved profile, or null when not saved. |
| warnings | array | yes | – |
No examples provided.
list_ad_formats List ad formats ~75
See the ad formats the studio can produce — UGC, talking head, unboxing, tutorial, TV spot, product hero, hyper-motion, try-on and more — with a one-line description, the default aspect and the allowed shot count and duration. No account needed. A brief names one of these formats by its id.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| formats | array | yes | – |
| note | string | – | – |
No examples provided.
list_brand_profiles List brand profiles ~88
List the account's saved brand profiles — name, site, value props, CTA, tone, product images — so ads for the same brand reuse the same facts. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| next_step | string | yes | – |
| profiles | array | yes | – |
No examples provided.
list_canvases List boards ~111
List the account's boards (visual canvases), newest first: id, name, revision, card count and the board's page link. Costs no credits. Its ids are the canvas_id the other board tools take; an empty list means the account has no board yet. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| canvases | array | yes | – |
| count | number | yes | – |
| next_step | string | yes | – |
No examples provided.
list_generations List generations ~92
List the account's recent video generations, newest first, with their status and URLs. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | How many to return (1-50). Defaults to 10. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| generations | array | yes | – |
No examples provided.
list_models List models ~95
See which AI video or image models can make a video ad, animate a photo, produce a product clip or generate an image, with the credit cost of one generation. No account needed. The list is live; `count` is the number of models currently offered.
| Name | Type | Req | Description |
|---|---|---|---|
| max_credits | number | – | Only return models costing this many credits or fewer. |
| type | string | – | Model family to list. Defaults to video. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Models returned after filtering. |
| models | array | yes | – |
| note | string | – | – |
| type | string | yes | – |
No examples provided.
list_saved_ads List saved ads ~105
List the competitor ads saved on the account, newest first: id, advertiser, hook, media and whether a decode is stored. Costs no credits. Its ids are the ad_id that get_saved_ad, decode_ad and ad_to_canvas_card take. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| ads | array | yes | – |
| count | number | yes | – |
| next_step | string | yes | – |
No examples provided.
list_ugc_avatars List UGC avatars ~56
See the catalogue creators available for a UGC video — name, style and a portrait URL — and the fields generate_ugc_video accepts. No account needed. A person's own photo can be used instead, with their consent.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| avatars | array | yes | – |
| count | number | yes | – |
| note | string | – | – |
No examples provided.
move_cards Move cards ~152
Move one or more cards to new positions on a board. The server places new cards itself; this is for the board view's drag. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| moves | array | yes | Cards and their new positions. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
refresh_canvas Refresh board ~153
Re-read a board (same answer as get_canvas). Each read checks rendering generation cards against their jobs: a finished render sets the card's status to done and its media_url. It opens no new view: a board already on screen re-reads itself every 10 seconds while a card renders and for 5 minutes after it last changed, opened or went full screen. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
rename_canvas Rename board ~132
Rename a board. Costs no credits. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| name | string | yes | The new name, 1-100 characters. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| next_step | string | yes | – |
No examples provided.
run_generation_card Run generation card ~287
Render a generation card: its prompt and model become a video or image job whose result lands in the card. Requires a quote_id from estimate_credit_cost for the card's model and kind (quantity 1), taken with the card's duration and resolution when it has them: per-second models are priced from those, and the quote is verified against the card. A card added with from_card_id and no image_url starts from its source card's finished image; until that card is done the run is refused with nothing charged. Credits are charged only on success; a retry with the same quote_id returns the same job. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| card_id | string | yes | A generation card with a model and a prompt. |
| quote_id | string | yes | The quote_id from estimate_credit_cost for this card's model and kind, quoted with the card's duration and resolution when it has them. Required. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| credits_quoted | number|null | yes | The ceiling fixed by the quote. |
| job | object | yes | – |
| next_step | string | yes | – |
No examples provided.
save_competitor_ad Save competitor ad ~122
Keep one ad from search_competitor_ads on the account so it can be decoded and placed on a board. Pass the row exactly as returned. Costs no credits. Saving the same ad twice returns the existing saved ad. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| ad | object | yes | One row from search_competitor_ads results[], copied as is. |
| Name | Type | Req | Description |
|---|---|---|---|
| ad | object | yes | – |
| next_step | string | yes | – |
No examples provided.
search_articles Search articles ~69
Search AI Content Drop's published guides and model comparisons about AI video generation, prompting, and ad creative.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum results (1-25). Defaults to 10. |
| query | string | yes | Keywords, e.g. 'kling vs sora' or 'ugc hooks'. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | – |
| query | string | yes | – |
| results | array | yes | – |
No examples provided.
search_competitor_ads Search competitor ads ~195
Search live competitor ads by keyword on Meta or TikTok: advertiser, copy, hook, call to action, media and run time per ad. Costs no credits. When live data is not available the rows are samples, not real ads: each is marked demo: true and the result carries a note saying so. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | What to search for: a product, a category or a competitor, 1-200 characters. |
| limit | number | – | Rows to return, 1-20; defaults to 10. |
| platform | string | – | Defaults to meta. |
| sort | string | – | impressions (default) ranks by reach; recent by start date. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Rows returned. |
| demo | boolean | yes | True when results are sample rows because live data was not available. |
| keyword | string | yes | – |
| next_step | string | yes | – |
| note | string | – | Present only when demo is true: why, and what the rows are. |
| platform | string | yes | – |
| results | array | yes | – |
| sort | string | yes | – |
| total_found | number | yes | Rows the search produced before limit. |
No examples provided.
update_card Update card ~321
Change a card: merge fields into its data (text or title on a text card; prompt, model, kind, aspect_ratio, duration, resolution or image_url on a generation card; title or caption on a media card; label on a frame), or move and resize it. Costs no credits. status, job_id, job_kind, quote_id, media_url, thumbnail_url, credits_used and error are set by the server when a card runs and are refused here. A per-second model is priced from the card's duration and resolution, and run_generation_card checks its quote against them. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| canvas_id | string | yes | The board id, from list_canvases or create_canvas. |
| card_id | string | yes | The card id, from cards[] on the board. |
| data | object | – | Fields to merge into the card's data; fields not named are kept. |
| height | number | – | Optional card height in pixels. |
| position | object | – | Optional { x, y } in board pixels. When omitted the server places the card in the first free grid cell. |
| revision | number | – | The board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first. |
| width | number | – | Optional card width in pixels. |
| Name | Type | Req | Description |
|---|---|---|---|
| canvas | object | yes | – |
| card | object|null | yes | – |
| next_step | string | yes | – |
No examples provided.
write_ad_storyboard Write ad storyboard ~254
Turn an ad brief into a storyboard: 1-5 shots with framing, the spoken line, the caption and the duration of each. Costs no credits. product_image_url, when the product image is already known, is passed as context for the storyboard. The storyboard, as returned or edited, is what estimate_ad_cost prices and generate_ad renders. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | object | yes | The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, qua… |
| product_image_url | string | – | Optional public https URL of the product image, the same one generate_ad will take, passed as context for the storyboard. |
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | – |
| next_step | string | yes | – |
| storyboard | object|null | yes | ad { aspect, totalDurationSec, voiceLanguage } and shots[]. |
No examples provided.
How do I install the com.aicontentdrop/ai-content-drop MCP server?
com.aicontentdrop/ai-content-drop is a hosted endpoint at https://aicontentdrop.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · aicontentdrop.com
claude mcp add --transport http com-aicontentdrop-ai-content-drop 'https://aicontentdrop.com/mcp'
What is the com.aicontentdrop/ai-content-drop MCP server?
com.aicontentdrop/ai-content-drop is an MCP server listed in the public MCP registry as com.aicontentdrop/ai-content-drop. Make AI videos, images, ads and short dramas from a description, priced first. Sign in to create. This page covers its hosted endpoint (https://aicontentdrop.com/mcp).
Is the com.aicontentdrop/ai-content-drop MCP server safe to use?
com.aicontentdrop/ai-content-drop scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.aicontentdrop/ai-content-drop MCP server expose?
com.aicontentdrop/ai-content-drop exposes 42 tools: list_models, estimate_credit_cost, search_articles, get_article, list_ad_formats, and 37 more. Their descriptions and schemas cost roughly 7,940 tokens of context every time the server is loaded.
Does the com.aicontentdrop/ai-content-drop MCP server require authentication?
No. We connected to com.aicontentdrop/ai-content-drop without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.aicontentdrop/ai-content-drop MCP server still maintained?
com.aicontentdrop/ai-content-drop is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.