Make ads from any AI tool

Polished is an MCP server. Add it to your favorite client, sign in once, and brainstorm, generate, and download ready-to-run ads without leaving the chat.

Where you can connect from

Cursor

AI code editor

Claude Desktop

AI assistant app

Windsurf

AI IDE

Any MCP client

Streamable HTTP + OAuth

Your entire ad pipeline, exported as MCP tools

About sixty MCP tools cover products, brand kits, chat agents, deliverables, standalone engine calls (each runnable tool is its own MCP name), and session-scoped engine helpers. Integration-gated tools surface clear errors when a provider is not connected.

Products

list_products

List products

List every product in your organization with names, IDs, URLs, and descriptions.

get_product

Get product details

Fetch full context for ads: audience, selling points, and brand fields.

create_product

Create a product

Add a product with name, URL, audience, selling points, and competitor context.

Brand kits

list_brand_kits

List brand kits

See brand kits for your org or filter down to one product.

create_brand_kit

Create a brand kit

Define logos, colors, fonts, voice, and guidelines so output stays on-brand.

Ad creation

create_session

Launch an ad agent

Start a new session from a brief; optionally pin product, brand kit, format, and image vs video.

send_message

Send a message to the agent

Iterate in plain language — new hooks, layouts, or variants — on an existing session.

get_session_status

Get agent status

Poll running vs idle, title, and how many outputs exist before you pull deliverables.

get_deliverables

Get deliverables

Download finished stills, videos, and related assets with public URLs.

list_sessions

List ad sessions

Page through past agents, search by title, and resume where you left off.

Session engine helpers

list_engine_tools

List session engine tools

Return the runnable tool schemas for one chat session — handy when you already have a session_id and want parity with the agent loop.

run_engine_tool

Run an engine tool

Call an engine tool against an existing session without waiting for chat turns; use standalone tool names instead when you don't have a session.

Standalone — image & static

imagegen_generate_image

Gemini image generation

Standalone: one-shot creatives and concepts; auto-creates an internal session so assets land in deliverables.

render_static_ad

HTML → static ad image

Standalone: headless-render HTML/CSS into a polished still for feed or Stories placements.

crop_image

Crop or auto-trim an image

Standalone: reframes uploads or trims uniform margins before compositing.

picsart_remove_background

Remove background (Picsart)

Standalone: cut out subjects when your workspace has Picsart connected.

inspect_ad

Inspect creative at full fidelity

Standalone: analyze an asset’s composition, typography, or storyboard frames.

Standalone — video generation

videogen_generate_clip

Generate a video clip

Standalone: Seedance/Veo/Kling-backed clips with prompts, aspect, native audio hooks.

videogen_generate_sequence

Generate a stitched sequence

Standalone: multi-segment motion plan for longer edits before assembly.

remotion_save_animated_post

Render a motion graphic

Standalone: Remotion-powered animated posts with logo, copy, and timing tracks.

heygen_generate_video

HeyGen talking-head video

Standalone: avatar-led reads when HeyGen is connected.

Standalone — audio & music

elevenlabs_generate_voiceover

ElevenLabs voiceover

Standalone: lifelike VO when ElevenLabs is connected.

elevenlabs_generate_music

ElevenLabs music bed

Standalone: short music cues with timing metadata for downstream assembly.

suno_generate_song

Suno song / jingle

Standalone: full songs or jingles when Suno/Evolink is available.

Standalone — FFmpeg & assembly

ffmpeg_trim_video

Trim video (FFmpeg)

Standalone: fast trims with stream-copy when possible; returns a fresh URL.

ffmpeg_concat_videos

Concatenate videos

Standalone: stitch ordered clips on a shared timeline before mastering.

add_captions

Burn captions / karaoke text

Standalone: Whisper-powered captions with style presets and optional bbox masking.

json2video_master_video

Master timeline (json2video)

Standalone: lay voiceover, music, and clips when json2video is connected.

Standalone — research & context

exa_search

Exa web search

Standalone: neural/keyword research with citations for briefs.

search_ad_examples

Search inspiration gallery

Standalone: semantic matches across proven Polished ad examples.

get_product_info

Load session product context

Standalone: includes full product/brand context only when you’ve linked a product inside Polished; otherwise use list_products / get_product in the same assistant session for structured SKU data.

Endpoint

https://polished.ad/mcp

Transport

Streamable HTTP (MCP)

Auth

OAuth 2.1 via Clerk — your client opens a browser on first tool use.

Connect in under a minute

1

Add the Polished MCP

Drop this into your client's MCP config (Cursor, Claude Desktop, Windsurf, or any client that supports remote MCP over HTTP).

Example config

{
  "mcpServers": {
    "polished": {
      "url": "https://polished.ad/mcp"
    }
  }
}
2

Sign in with Polished

The first time a tool runs, complete OAuth in the browser once. After that, tokens are handled by your client.

3

Ask for an ad

Describe the campaign, audience, and format. The agent plans, generates, and returns download links when outputs are ready.

4

Download and ship

Use get_deliverables for images, video, and copy — then post to Meta, TikTok, YouTube, or anywhere else.

Turn your AI workspace into an ad studio.

Same Polished engine as the web app — now reachable from the tools you already live in.