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_productsList products
List every product in your organization with names, IDs, URLs, and descriptions.
get_productGet product details
Fetch full context for ads: audience, selling points, and brand fields.
create_productCreate a product
Add a product with name, URL, audience, selling points, and competitor context.
Brand kits
list_brand_kitsList brand kits
See brand kits for your org or filter down to one product.
create_brand_kitCreate a brand kit
Define logos, colors, fonts, voice, and guidelines so output stays on-brand.
Ad creation
create_sessionLaunch an ad agent
Start a new session from a brief; optionally pin product, brand kit, format, and image vs video.
send_messageSend a message to the agent
Iterate in plain language — new hooks, layouts, or variants — on an existing session.
get_session_statusGet agent status
Poll running vs idle, title, and how many outputs exist before you pull deliverables.
get_deliverablesGet deliverables
Download finished stills, videos, and related assets with public URLs.
list_sessionsList ad sessions
Page through past agents, search by title, and resume where you left off.
Session engine helpers
list_engine_toolsList 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_toolRun 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_imageGemini image generation
Standalone: one-shot creatives and concepts; auto-creates an internal session so assets land in deliverables.
render_static_adHTML → static ad image
Standalone: headless-render HTML/CSS into a polished still for feed or Stories placements.
crop_imageCrop or auto-trim an image
Standalone: reframes uploads or trims uniform margins before compositing.
picsart_remove_backgroundRemove background (Picsart)
Standalone: cut out subjects when your workspace has Picsart connected.
inspect_adInspect creative at full fidelity
Standalone: analyze an asset’s composition, typography, or storyboard frames.
Standalone — video generation
videogen_generate_clipGenerate a video clip
Standalone: Seedance/Veo/Kling-backed clips with prompts, aspect, native audio hooks.
videogen_generate_sequenceGenerate a stitched sequence
Standalone: multi-segment motion plan for longer edits before assembly.
remotion_save_animated_postRender a motion graphic
Standalone: Remotion-powered animated posts with logo, copy, and timing tracks.
heygen_generate_videoHeyGen talking-head video
Standalone: avatar-led reads when HeyGen is connected.
Standalone — audio & music
elevenlabs_generate_voiceoverElevenLabs voiceover
Standalone: lifelike VO when ElevenLabs is connected.
elevenlabs_generate_musicElevenLabs music bed
Standalone: short music cues with timing metadata for downstream assembly.
suno_generate_songSuno song / jingle
Standalone: full songs or jingles when Suno/Evolink is available.
Standalone — FFmpeg & assembly
ffmpeg_trim_videoTrim video (FFmpeg)
Standalone: fast trims with stream-copy when possible; returns a fresh URL.
ffmpeg_concat_videosConcatenate videos
Standalone: stitch ordered clips on a shared timeline before mastering.
add_captionsBurn captions / karaoke text
Standalone: Whisper-powered captions with style presets and optional bbox masking.
json2video_master_videoMaster timeline (json2video)
Standalone: lay voiceover, music, and clips when json2video is connected.
Standalone — research & context
exa_searchExa web search
Standalone: neural/keyword research with citations for briefs.
search_ad_examplesSearch inspiration gallery
Standalone: semantic matches across proven Polished ad examples.
get_product_infoLoad 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
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"
}
}
}Sign in with Polished
The first time a tool runs, complete OAuth in the browser once. After that, tokens are handled by your client.
Ask for an ad
Describe the campaign, audience, and format. The agent plans, generates, and returns download links when outputs are ready.
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.