EzUGC MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EZUGC_API_KEY | Yes | Your EzUGC API key (an ezk_live_... key issued to paid EzUGC subscribers). Required to use the server's tools; generate one at https://app.ezugc.ai/dashboard/apps/mcp. | |
| EZUGC_API_BASE_URL | No | Optional override for the EzUGC API base URL (defaults to https://api.ezugc.ai). | https://api.ezugc.ai |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Verify the configured EzUGC API key and return the account, scopes, and subscription status. Call this first. |
| get_usageA | Return the account's video usage, limit, remaining quota, and subscription status. |
| list_video_modelsA | List every available video generation model, its capabilities (text-to-video, image-to-video, audio), supported durations, and whether it is available via the API. Call this to retrieve available model ids before calling generate_video. |
| generate_videoA | Generate a video with any model on the EzUGC dashboard. Call list_video_models for model ids and each model's requiredInputs. Supports text-to-video, image-to-video (pass imageUrls: a start frame and optional end frame), reference inputs on models that accept them (Seedance 2.0 / 2.5 and MiniMax H3: referenceImageUrls, referenceVideoUrls, referenceAudioUrls), and lip-sync / talking avatars from your own voice track: OmniHuman 1.5 and Kling Avatar 2.0 Pro take audioUrl plus one image in imageUrls, Kling Lip Sync takes audioUrl plus sourceVideoUrl; the clip is as long as the audio. Frames and references cannot be combined. Seedance models count against the plan's separate Seedance allowance. Optionally ground it in a saved brand. Defaults to waiting for the result; set wait=false to return a job id to poll with get_job. |
| generate_ugc_videoB | Generate a full UGC-style ad video (script + avatar + voiceover + captions) from a brief. Optionally ground it in a saved brand. Defaults to waiting for the result. |
| generate_brand_videoA | One-shot 'create a video for my brand': generates a UGC ad grounded in the user's saved brand (logo, colors, tone, products). Uses the default saved brand unless brandId/brandSlug is given. If no brand is saved, call create_brand with the website first. |
| list_brandsA | List the user's saved brand workspaces (id, slug, website, status, brand name, logos). |
| create_brandA | Create a saved brand by ingesting a website URL. EzUGC crawls the site and extracts brand DNA (logo, colors, tone, value props). Ingestion runs in the background; poll the brand status. After it's ready, use generate_brand_video. |
| get_brandA | Get a saved brand's status and extracted brand profile: brand book Markdown (brandMd) and its version, tone of voice, value props, colors (colorPalette), logo URLs and product image URLs. Use these asset URLs as reference images for on-brand generation. |
| get_brand_assetsA | List a saved brand's assets: uploaded brand assets and previously generated brand creatives, each with a temporary signed URL. Use those URLs as referenceImageUrls (image) or imageUrls (video) to generate on-brand creative. |
| update_brand_mdA | Update a saved brand's brand book Markdown (brandMd) — the brand DNA used to ground on-brand generations — and optionally its tone of voice. Resolves the brand by id, slug, or the default saved brand. Editing brandMd bumps its version. |
| list_image_modelsA | List every available static image-ad model, its reference-image support and aspect ratios. Call this to retrieve available model ids before calling generate_image_ad. |
| generate_image_adA | Generate 1-4 static image ads from a prompt. Pass referenceImageUrls (product, logo, prior creatives) to ground the output on real brand identity. Optionally ground it in a saved brand. Defaults to waiting for the result; set wait=false to return a job id to poll with get_job. |
| generate_brand_image_adB | One-shot 'create an image ad for my brand': generates a static image ad grounded in the user's saved brand (logo, colors, tone, products). Uses the default saved brand unless brandId/brandSlug is given. |
| list_agent_skillsA | List the read-only catalog of agent tool capabilities (name, description, parameters) the conversational agent can use. |
| list_skillsA | List the account's saved skills (reusable parameterized prompt templates that dispatch video/ugc/image jobs). |
| create_skillA | Create a reusable saved skill: a parameterized prompt template (use {{variable}} tokens) plus default params. kind selects what running it generates: video, ugc, or image (agent skills are not runnable via run_skill). |
| get_skillC | Get a single saved skill by id. |
| update_skillA | Update a saved skill in place. Only the provided fields change; omit a field to leave it unchanged. Useful for tweaking a prompt template or its default params. |
| delete_skillB | Permanently delete a saved skill by id. |
| run_skillA | Run a saved skill: render its prompt template with variables, merge overrides over its default params, and dispatch a generation job of the skill's kind. Defaults to waiting for the result. |
| list_jobsA | Browse the account's recent generation history (most recent first): video, UGC, image-ad, and subtitle jobs with their status and result URLs. Use this to review or resume past work. Pass limit to control how many are returned (1-50, default 20). |
| get_jobA | Get the status and result (video/image URL) of a video/UGC/image job by id. Use this to poll jobs created with wait=false. |
| generate_subtitled_videoA | Render burned-in captions onto a video. Provide either sourceJobId (a previously completed UGC job, whose video + script are reused) or both videoUrl (a public https video) and script (the spoken words). Choose a caption style with preset. Defaults to waiting for the result; set wait=false to return a job id to poll with get_job. |
| create_agent_scheduleA | Create a recurring or one-off autonomous Super Agent trigger. The agent runs the prompt template on the schedule (intervalMinutes OR cronExpr). Use channel='telegram' to deliver results/questions to a linked Telegram chat (link it first with create_channel_link_token). |
| list_agent_schedulesA | List the account's Super Agent schedules (recurring/one-off autonomous triggers), their cadence, next fire time, and last run. |
| pause_agent_scheduleA | Pause (default) or resume a Super Agent schedule by id. Pausing stops future autonomous runs without deleting the schedule. |
| list_channel_accountsB | List external messaging accounts (e.g. Telegram chats) linked to this EzUGC account for 24/7 agent messaging. |
| create_channel_link_tokenA | Generate a short-lived link code. Send this code to the EzUGC Telegram bot to link your Telegram chat to your account, enabling 24/7 agent messaging and scheduled deliveries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Most tools map to distinct resources and actions, but the generation family overlaps heavily: generate_video, generate_ugc_video, generate_brand_video, generate_image_ad, generate_brand_image_ad, and run_skill all produce media and differ mainly in whether a brand is grounded or a skill template is applied. The detailed descriptions help, but an agent must read carefully to pick between generate_ugc_video and generate_brand_video, or between the plain and brand image-ad variants.
Nearly all tools follow a consistent snake_case verb_noun pattern (list_brands, create_brand, get_job, generate_image_ad, pause_agent_schedule). The only real deviations are the single-word whoami and mildly inconsistent prefixes between generate_* and the brand-specific wrappers, which are still readable.
29 tools exceeds the comfortable range, but the surface spans seven legitimate sub-domains (account/usage, brands, jobs, video, image, skills, and agent scheduling/channels), so the breadth is justified rather than padded. Still, it is heavy enough that several tools feel like convenience wrappers rather than distinct capabilities.
Core lifecycle coverage is strong: full CRUD-plus-run for skills, brand creation/get/asset listing/brand-book update, job listing/get, and model discovery before generation. Minor gaps exist—no delete_brand, no cancel/delete_job, no delete_agent_schedule or unlink_channel—but agents can work around these.