ViralVid
FreeNot checkedA MCP server that analyzes YouTube Shorts creators' styles and generates viral, shot-by-shot filming guides in their exact style.
About
A MCP server that analyzes YouTube Shorts creators' styles and generates viral, shot-by-shot filming guides in their exact style.
README
An MCP (Model Context Protocol) server that analyzes YouTube creators' Shorts styles and generates shot-by-shot filming guides in their style. Plug it into any MCP-compatible AI client (Claude Desktop, Cursor, OpenCode, etc.) and start creating viral Shorts.
What It Does
- Analyze a creator's style — fetches their recent Shorts, pulls transcripts, and uses GPT-4o to profile their hooks, pacing, tone, visual patterns, editing, and structure
- Generate a filming guide — produces a complete shot-by-shot script with timestamps, camera angles, dialogue, text overlays, B-roll notes, and music cues — all matching the analyzed creator's style
- List saved profiles — view all previously analyzed creator profiles
Prerequisites
- Bun (runtime)
- OpenAI API key (GPT-4o access)
- YouTube Data API key (get one here)
- Tavily API key (get one here) - Required for web research features
Setup
# 1. Clone the repo
git clone https://github.com/your-username/shortscut-mcp.git
cd shortscut-mcp
# 2. Install dependencies
bun install
# 3. Create .env file
cp .env.example .env
Add your API keys to .env:
OPENAI_API_KEY=sk-...
YOUTUBE_API_KEY=AIza...
TAVILY_API_KEY=tvly-...
Connecting to an AI Client
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"shortscut": {
"command": "bun",
"args": ["run", "/absolute/path/to/shortscut-mcp/src/index.ts"],
"env": {
"OPENAI_API_KEY": "sk-...",
"YOUTUBE_API_KEY": "AIza...",
"TAVILY_API_KEY": "tvly-..."
}
}
}
}
Cursor / Windsurf
Add to your MCP config (.cursor/mcp.json or similar):
{
"mcpServers": {
"shortscut": {
"command": "bun",
"args": ["run", "/absolute/path/to/shortscut-mcp/src/index.ts"],
"env": {
"OPENAI_API_KEY": "sk-...",
"YOUTUBE_API_KEY": "AIza...",
"TAVILY_API_KEY": "tvly-..."
}
}
}
}
Note: Replace
/absolute/path/to/shortscut-mcp/with the actual path to this project on your machine.
Tools
analyze_creator
Analyzes a YouTube creator's Shorts style and saves a profile.
| Parameter | Type | Required | Description |
|---|---|---|---|
channel |
string | ✅ | YouTube channel handle (e.g. @JeffNippard) |
maxVideos |
number | ❌ | Max Shorts to analyze (default: 15) |
forceRefresh |
boolean | ❌ | Re-analyze even if profile exists (default: false) |
Example prompt:
Analyze @JeffNippard's YouTube Shorts style
generate_filming_guide
Generates a shot-by-shot filming guide in a creator's style. Now features:
- Web research on the topic (via Tavily) for factual depth
- "Research Summary" output with sources
- Specific music recommendations (track/vibe) matching the creator's style
| Parameter | Type | Required | Description |
|---|---|---|---|
topic |
string | ✅ | Topic for the Short (e.g. "3 protein myths debunked") |
style |
string | ✅ | Channel handle whose style to use (must be analyzed first) |
direction |
string | ❌ | Additional creative direction |
targetDurationSec |
number | ❌ | Target duration in seconds (default: 60) |
Example prompt:
Generate a filming guide about "3 protein myths debunked" in JeffNippard's style
list_profiles
Lists all saved creator style profiles. No parameters required.
Example Workflow
You: Analyze @MrBeast's Shorts style
AI: ✅ Analyzed 10 Shorts from MrBeast — profile saved.
Hooks: bold claims, visual shock ...
You: Now make me a filming guide about "I gave away $10,000 to strangers" in MrBeast's style
AI: 📹 FILMING GUIDE: "I Gave Away $10,000 to Strangers"
⏱️ SEC 0–3 | HOOK
📷 Wide shot, handheld, pointing at cash stack
📢 "I'm giving away TEN THOUSAND DOLLARS today..."
...
Project Structure
src/
├── index.ts # MCP server entry point
├── config/ # Environment variable validation
├── services/
│ ├── llm.ts # OpenAI GPT-4o calls (analyze + generate)
│ ├── youtube.ts # YouTube API (channel resolution, Shorts fetching)
│ └── profiles.ts # Profile save/load (JSON files)
├── tools/
│ ├── analyze.ts # analyze_creator handler
│ ├── generate.ts # generate_filming_guide handler
│ └── list.ts # list_profiles handler
├── schemas/
│ └── zodSchemas.ts # Zod validation schemas
├── prompts/
│ ├── analyzePrompt.ts # Style analysis system/user prompts
│ └── guidePrompt.ts # Filming guide system/user prompts
├── utils/
│ ├── retry.ts # Exponential backoff retry wrapper
│ └── logger.ts # Winston logger
└── types.ts # TypeScript interfaces
License
MIT
Installing ViralVid
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/yanness168/viralVidFAQ
Is ViralVid MCP free?
Yes, ViralVid MCP is free — one-click install via Unyly at no cost.
Does ViralVid need an API key?
No, ViralVid runs without API keys or environment variables.
Is ViralVid hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install ViralVid in Claude Desktop, Claude Code or Cursor?
Open ViralVid on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolCompare ViralVid with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
