Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
UGC videos for your app with AI influencers who keep the same face. Hosted (OAuth) or local.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CLIPUGC_API_KEY, CLIPUGC_API_BASE_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://clipugc.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"clipugc": {
"command": "npx",
"args": [
"-y",
"clipugc",
"mcp"
],
"env": {
"CLIPUGC_API_KEY": "your-value",
"CLIPUGC_API_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http clipugc https://clipugc.com/mcpclaude mcp add clipugc --env CLIPUGC_API_KEY=your-value --env CLIPUGC_API_BASE_URL=your-value -- npx -y clipugc mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"clipugc": {
"url": "https://clipugc.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"clipugc": {
"command": "npx",
"args": [
"-y",
"clipugc",
"mcp"
],
"env": {
"CLIPUGC_API_KEY": "your-value",
"CLIPUGC_API_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"clipugc": {
"type": "http",
"url": "https://clipugc.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"clipugc": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"clipugc",
"mcp"
],
"env": {
"CLIPUGC_API_KEY": "your-value",
"CLIPUGC_API_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://clipugc.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
CLIPUGC_API_BASE_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account clipugc, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: CLIPUGC_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.4.2) reached the registry 25 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, FOGA node
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
A Finch OG Agent cell as an MCP server: read the world, dry-run and take ERC-8414 tenders by policy.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
[ClipUGC](https://clipugc.com/?utm_source=github-readme&utm_medium=integration&utm_campaign=agent-directories) makes UGC videos for mobile apps with an AI influencer who keeps the same face in every video, with your app's screen recording inside the finished 9:16 video. This repo is its official CLI, local MCP server and Claude Code plugin. Create AI influencers, generate photorealistic looks of the same person, turn them into silent-reaction clips, and put your app recording into a ready-to-post UGC video. Nothing renders locally.
Three ways in:
| You work in | Connect with | Plan |
|---|---|---|
| Claude.ai, ChatGPT, Claude Code, Cursor, VS Code, Gemini CLI | The hosted MCP server, https://clipugc.com/mcp. Sign in, no API key. Setup | Free plan works |
| A terminal or your own scripts | npm install -g clipugc and an API key | Professional or Business |
| Claude Code skills | /plugin marketplace add clipugc/ClipUGC-CLI (below) | Same as the CLI |
The hosted server is also the quickest free start: give it an App Store or Google Play link and its first_videos tool makes three finished videos at no cost.
npm install -g clipugc
clipugc auth login
Requires Node.js >= 20. Create an API key in the ClipUGC dashboard (API keys section). API keys are available on paid plans (Professional and Business). The hosted MCP server needs no key.
The fastest way in: this repo ships three Claude Code skills, so you describe what you want instead of learning flags. clipugc drives the CLI conversationally, ugc-director turns an app idea into a complete UGC video plan, and persona-account runs an ongoing AI creator account.
/plugin marketplace add clipugc/ClipUGC-CLI
/plugin install clipugc@ClipUGC-CLI
Installed as a plugin, the skills are namespaced under it:
/clipugc:ugc-director make a TikTok video for my habit tracker app
/clipugc:persona-account create an AI influencer for a fitness account /clipugc:clipugc how many credits do I have left
(Cloning the repo instead? Claude Code reads .claude/skills/ directly and the skills are unprefixed, /ugc-director, /persona-account, /clipugc.)
See [docs/skills.md](docs/skills.md) for what each skill knows.
Prefer flags? Everything below works standalone, the skills just drive the same CLI.
These use the hosted ClipUGC server at https://clipugc.com/mcp (39 tools, OAuth 2.1 sign-in, works on every plan including free). Nothing runs on your machine and there is no API key to copy: the first call opens a browser so you can sign in with your ClipUGC account.
Claude Code
claude mcp add --transport http clipugc https://clipugc.com/mcp
Claude.ai: Settings > Connectors > Add custom connector. Name it ClipUGC, paste https://clipugc.com/mcp, and sign in when Claude asks.
ChatGPT: Settings > Apps (Connectors on older versions) > Advanced > turn on Developer mode > Create. Name ClipUGC, the same URL, authentication OAuth. Developer mode is on Plus and Pro and not yet offered in the EEA, Switzerland or the UK. Step-by-step guide.
Gemini CLI
gemini extensions install https://github.com/clipugc/ClipUGC-CLI
This adds the hosted server, a short guide (GEMINI.md) and the skills.
Cursor
Once the ClipUGC plugin is listed in the Cursor Marketplace, install it there to get the server and the skills. Until then, add the server by hand in Settings > MCP or .cursor/mcp.json:
{
"mcpServers": { "clipugc": { "url": "https://clipugc.com/mcp" } } }
VS Code (GitHub Copilot agent mode)
code --add-mcp '{"name":"clipugc","type":"http","url":"https://clipugc.com/mcp"}'
Or search @mcp clipugc in the Extensions view once it shows up in the gallery.
Listed on the MCP Registry and Smithery.
The CLI is also a local MCP server with 12 tools, for when you would rather run it on your machine with an API key than sign in to the hosted one. clipugc mcp speaks the Model Context Protocol over stdio, so any MCP client can create characters, looks, clips and finished videos as tools, without shelling out to the commands above.
Log in once so the server has a key (it reads the same ~/.config/clipugc/config.json the CLI uses):
npm install -g clipugc
clipugc auth login
Claude Code
claude mcp add clipugc -- npx -y clipugc@latest mcp
@latest matters: without it npx reuses any clipugc already installed on your machine, and a global install older than 1.2.0 has no mcp command, so Claude Code reports "Connection closed". If you still see that, update the old install with npm i -g clipugc@latest, or run npx -y clipugc@latest mcp once in a terminal so the download finishes (Ctrl+C after "12 tools ready"). Do not add it from inside a checkout of this repo: there npx resolves clipugc to the local project instead of the npm package.
Cursor (Settings > MCP, or .cursor/mcp.json in your project)
{
"mcpServers": { "clipugc": { "command": "npx", "args": ["-y", "clipugc@latest", "mcp"] } } }
If you would rather not run clipugc auth login on that machine, add an env block with CLIPUGC_API_KEY set to a key from the dashboard.
Claude Desktop
Claude Desktop installs the server as an extension, so there is no config file to edit and no Node install needed beyond the app itself:
The extension runs the same clipugc mcp server as above. To build the bundle yourself, run npm run build:mcpb (see "Local development").
Prompts: make_ugc_video, new_ai_influencer, hook_ideas (ready-made starts for the common jobs). Resources: clipugc://pipeline (the order of calls) and clipugc://pricing (documented credit costs; get_credits has the live table).
Tools: list_characters, create_character, generate_image, list_images, create_clip, create_motion_clip, create_scene_replace_clip, merge_ad, get_video, download_video, get_credits, list_hooks. Arguments follow the CLI flags (--per-page becomes per_page). Generation tools return the job id right away, like the CLI without --wait; poll with get_video (clips and finished videos) or list_images (looks) until the status is completed. Every tool reports its credit cost in its description, and get_credits returns the live prices.
One character, cast once. Every picture below is the same person, only the setting, outfit and lighting change, because each look is generated from the character's base image rather than from the description again:
clipugc characters create --wait \
--description "Very pretty Danish woman aged 22, light blonde fine hair to her shoulders with a middle parting, pale blue upturned eyes, heart-shaped face, porcelain cool-toned skin. Genuinely attractive Instagram-creator look, but reads as a real girl, natural skin texture with visible pores, not airbrushed." \ --scene "close selfie in a softly lit bedroom at golden hour, warm low sun through the window behind her giving a rim light on her hair, full glam makeup with smoky bronze eyeshadow and glossy nude lips, phone-camera quality with mild grain, slightly off-centre framing"
clipugc images generate --character --wait \ --scene "bathroom mirror selfie in the evening, phone visible in her hand, warm vanity lights either side of the mirror, polished makeup with glowing skin and glossy lips, phone-camera quality with grain, slightly off-centre framing"
Then any look becomes a silent reaction clip. Mouth closed throughout, lip-sync from a still image is the giveaway that a video is AI, so the format is a held expression plus a text hook, not talking:
clipugc videos create --image <lookId> --duration 5 --wait \
--prompt "She glances down at the phone, back up to the lens, and one corner of her mouth pulls into a smirk she is clearly trying to suppress. Her lips stay closed and together for the entire clip. She does not speak, does not mouth any words, and her mouth never opens. Natural handheld movement, she shifts slightly, hair moves. Ordinary phone-camera footage, visible grain."
Note the shape of that prompt: an arc in beats (glance down → back up → smirk forms), an explicit no-talking clause, and ambient motion. Ask for a state instead of a progression, "she smirks", and the face morphs. The full library of ~30 reactions across nine emotion families lives in the ugc-director skill.
Adding your screen recording and a hook to that clip is free, so the last step costs nothing and you can test as many hooks as you like.
| Step | Cost | |
|---|---|---|
| 1 | Cast an AI character: described in plain words; the server builds a structured appearance "DNA" and the first look | 2 credits |
| 2 | Generate looks: the same face in new settings, outfits and lighting | 2 credits each |
| 3 | Animate a look: a short silent reaction clip (mouth closed; lip-sync is what makes AI video look fake) | 7 (5s) / 13 (10s) |
| 4 | Finish the video: your screen recording + a hook text overlay + optional music | free |
Every look after the first is generated from the character's base image, so the face stays the same person across an entire campaign or grid. That consistency is the point of the product.
Full pricing: image 2 · clip 7 (5s) / 13 (10s) · motion control 3 per second of driver video, 2 on --engine wan (capped at 30s) · putting your AI influencer into your own video (videos replace) 3 per second (capped at 30s) · scene-staged clip 9 (5s) / 15 (10s) · finished video free. Charges are duration-aware and refunds return the exact amount charged. Check live values with clipugc credits.
# 1. Cast the AI influencer. Be specific, this is what decides whether it looks
clipugc characters create --wait \ --description "Very pretty Danish woman aged 22, light blonde fine hair to her shoulders with a middle parting, pale blue upturned eyes, heart-shaped face, porcelain cool-toned skin. Genuinely attractive Instagram-creator look, but reads as a real girl, natural skin texture with visible por
Only the beginning is shown; read the rest in the repo