Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ViralVid

FreeNot checked

A MCP server that analyzes YouTube Shorts creators' styles and generates viral, shot-by-shot filming guides in their exact style.

GitHubEmbed

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

  1. 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
  2. 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
  3. 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

from github.com/yanness168/viralVid

Installing ViralVid

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/yanness168/viralVid

FAQ

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

Compare ViralVid with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All media MCPs