Hermoso
AI ad studio for agents: generate finished video, image, and UGC avatar ads for any brand (script, voiceover, music, brand end card), and research competitor ads across the Meta, Google, and LinkedIn ad libraries plus TikTok/Instagram/YouTube organic. 52 tools.
README
Hermoso — MCP, CLI & Skills
Drive Hermoso — the AI ad studio — from any AI agent: Claude Code, Claude.ai, Cursor, Codex, or your own scripts. Research the ads already winning in a market, plan a creative, and generate finished image & video ads (your real product composited in, copy + CTA included) — all over MCP tools, a CLI, or installable Claude skills.
Instant: the hosted Claude.ai connector
Paste https://app.hermoso.ai/mcp into Claude → Settings → Connectors → Add custom connector, approve with
your Hermoso account, done — the full studio toolset with your saved brand context, billed to your plan.
Quickstart for Claude Code / Cursor / scripts (2 minutes)
- Get an account at app.hermoso.ai — free tier included; plans & credits are the same ones the web Studio uses.
- Create an agent key: app.hermoso.ai → Settings → Agents & API → Create API key (
hmk_…). - Connect — no clone needed,
npxruns the publishedhermosopackage (Claude Code shown; any MCP client works):
claude mcp add hermoso -e HERMOSO_TOKEN=hmk_… -- npx -y hermoso mcp
Your agent now has the full studio with your workspace's context: the brand profile, products, logos and
learned memory you set up in the web app apply automatically (get_brand shows what's saved; omit brand in
plan_ad/plan_variations to use it). Renders bill your Hermoso credits — same prices as the Studio.
1. MCP server (stdio) — Claude Code / Cursor / Codex
hermoso mcp runs a stdio MCP server exposing the full studio toolset (40+ tools). The published hermoso
package means no clone — npx -y hermoso mcp fetches and runs it:
claude mcp add hermoso -e HERMOSO_TOKEN=hmk_… -- npx -y hermoso mcp
Cursor / Codex — add to mcp.json (Codex uses the TOML equivalent):
{ "mcpServers": { "hermoso": { "command": "npx", "args": ["-y", "hermoso", "mcp"],
"env": { "HERMOSO_API_BASE": "https://app.hermoso.ai", "HERMOSO_TOKEN": "<your token>" } } } }
Then ask your agent: “Generate an image ad with Hermoso.”
Tools (40+): research/ad-spy (find_competitors, pull_competitor_ads, research_ads, search_meta_ads,
search_google_ads, search_linkedin_ads, search_tiktok, search_instagram, search_youtube, search_reddit,
search_threads, scrapecreators_fetch), plan → generate → finish (plan_ad, plan_variations, generate_image,
generate_video, generate_avatar, render_ad, make_template_ad, stitch_video, reframe_video,
upscale_video, dub_video, change_voice, recast_motion, remix_static, finish_video, fix_beat),
brand + account (get_brand, list_brands, use_brand, draft_brand, list_product_photos, set_product_image,
hermoso_capabilities, hermoso_credits, buy_credits), and analysis/jobs (analyze_video, score_ad,
check_ad_policy, competitor_teardown, mine_angles, get_job, list_jobs, get_skill, list_skills,
fetch_asset). Call hermoso_capabilities first — it returns valid model ids and per-render credit costs;
tools/list is the authoritative current set. Render jobs queue server-side and poll to completion, returning a
served URL.
2. CLI — the token-cheap path for terminal agents
bin/hermoso.mjs mirrors the tools as subprocess commands, so an agent can shell out instead of carrying a fat
tool manifest.
npm install -g . # installs `hermoso`
hermoso capabilities # valid model ids + costs (run first)
hermoso create --brand "YourBrand" --product "your best-selling product" --format image
hermoso generate image --prompt "…" --ref ./product.png --wait
hermoso generate video --prompt "…" --duration 8 --wait
hermoso competitors yourbrand.com
hermoso research "Liquid Death’s longest-running ads"
Add --json to any command for machine output.
3. Claude skills — slash commands that wrap the CLI
skills/ holds four installable skills: hermoso-generate, hermoso-ad-from-brand,
hermoso-product-photoshoot, hermoso-research.
cp -r skills/* ~/.claude/skills/
Then invoke /hermoso-ad-from-brand an ad for yourbrand.com — our hero product.
Configuration
| Env | Meaning |
|---|---|
HERMOSO_API_BASE |
The Hermoso API origin (default https://app.hermoso.ai — set http://localhost:3000 if you run the app yourself) |
HERMOSO_TOKEN |
Bearer token — required against the hosted app (rolling out) |
HERMOSO_PROFILE |
Brand-workspace id, for accounts with multiple brand profiles |
mcp/http.mjs is the hosted remote-connector transport (paste-a-URL into Claude.ai → Connectors). It ships in
this repo for transparency and refuses to mount without authenticated identity — no anonymous spend, ever.
License
MIT © Hermoso
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.