short-video-mcp

short-video-mcp

Generates TikTok-style short videos narrated by Peter and Stewie Griffin from any content, using ElevenLabs for voice and FFmpeg for video assembly.

Category
访问服务器

README

Short Video MCP Server

Stop reading long AI answers. Watch them instead.

Turn any Claude answer, PDF, PowerPoint, email, or topic into a TikTok-style short video narrated by Peter Griffin and Stewie Griffin — with gameplay background, character animations, and synced captions.

Example Output

Why?

Claude just gave you a 2-page answer? Don't read it. Say "generate a short video" and Peter and Stewie will explain it to you in 60 seconds.

This isn't limited to one use case. It turns any answer into a video:

  • Don't want to read Claude's long answer? → Just add "generate a short video" and watch it instead
  • Got a 60-slide PowerPoint from your teacher? → Upload it, ask Claude to generate a video for each slide — now scroll through short videos instead of slides
  • Want to study from a PDF? → Upload it, generate a video — every key fact, date, and detail is included so you don't miss anything
  • Have a Gmail MCP set up? → Ask Claude to read your inbox and generate a short video — Peter and Stewie catch you up on your emails
  • Morning briefing? → Set up a schedule and get a daily video recap of your news, inbox, and Whoop health stats narrated by Peter and Stewie
  • Any LLM answer, anywhere → Works with Claude Desktop, Claude Code, or any MCP-compatible client

For studying, it covers every important detail — names, dates, numbers, key takeaways — nothing gets skipped. The humor just makes it stick.

How It Works

You ask a question → Claude answers → generate_short_video is called
                                            │
                                            ├── 1. Script: Claude writes a Peter/Stewie dialogue
                                            ├── 2. Audio: ElevenLabs generates voice for each line
                                            └── 3. Video: FFmpeg assembles the final MP4
                                                    ├── Random gameplay background
                                                    ├── Character PNGs with emotion overlays
                                                    └── Timed captions synced to audio

Output: A 30-90 second portrait MP4 that auto-opens when done.

Quick Setup

Prerequisites

Requirement How to get it
Python 3.10+ python.org
FFmpeg brew install ffmpeg (macOS) or sudo apt install ffmpeg (Linux)
Anthropic API key console.anthropic.com
ElevenLabs API key elevenlabs.io (free tier works)

1. Clone and install

git clone https://github.com/matedort/short-video-mcp.git
cd short-video-mcp
pip install -r requirements.txt

2. Configure API keys

cp .env.example .env
# Edit .env with your API keys and ElevenLabs voice IDs

Your .env should look like:

ANTHROPIC_API_KEY=sk-ant-api03-your-key-here
ELEVENLABS_API_KEY=sk_your-elevenlabs-key-here
PETER_VOICE_ID=your-peter-voice-id
STEWIE_VOICE_ID=your-stewie-voice-id

Finding voice IDs: Go to elevenlabs.io/voice-library, find voices you like, add them to your account, then copy the voice ID from the voice settings. Any two voices work — pick a deep one for Peter and a higher-pitched one for Stewie.

3. Add assets

Place your files in:

assets/
├── background/          ← .mp4 gameplay videos (at least one)
│   ├── subwaysurfers.mp4
│   ├── minecraft.mp4
│   └── ...
└── characters/          ← Character PNGs
    ├── peter.png        ← Required
    ├── stewie.png       ← Required
    ├── peter_excited.png    ← Optional emotion variants
    ├── peter_confused.png
    ├── peter_teaching.png
    ├── stewie_angry.png
    └── stewie_excited.png

Background videos should be portrait orientation (or they'll be cropped to fit). Character PNGs should have transparent backgrounds.

4. Connect to Claude

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "short-video": {
      "command": "python3",
      "args": ["/full/path/to/short-video-mcp/server.py"],
      "env": {}
    }
  }
}

Claude Code — add to ~/.claude.json under mcpServers:

{
  "mcpServers": {
    "short-video": {
      "command": "python3",
      "args": ["/full/path/to/short-video-mcp/server.py"],
      "env": {}
    }
  }
}

Then restart Claude.

Usage Examples

Basic — any question:

"Explain quantum computing and generate a short video about it"

PDF studying:

[Upload PDF] "Summarize this and generate a short video — include every key detail"

PowerPoint slides:

[Upload PPT] "Generate a short video for each slide so I can scroll through them"

Email catch-up (with Gmail MCP):

"Read my inbox and generate a short video summarizing my unread emails"

Morning briefing (with scheduled tasks):

"Every morning at 8am, read my inbox, check my Whoop stats, and generate a short video briefing"

Claude Code output:

[After Claude makes code changes] "Generate a short video explaining what you just changed"

Master Prompt (One-Click Setup)

Copy and paste this prompt into Claude Code or Claude Desktop to set everything up automatically:

I want to set up the short-video MCP server from GitHub.

Before you start, I need to confirm:
1. Do you have an Anthropic API key? (get one at console.anthropic.com)
2. Do you have an ElevenLabs API key? (get one at elevenlabs.io — free tier works)

Once confirmed, please:
1. Clone https://github.com/matedort/short-video-mcp.git to my home directory
2. Run: pip install -r requirements.txt
3. Create the .env file from .env.example and ask me for my API keys and voice IDs
4. Ask me to provide background gameplay videos (.mp4) and character PNGs, or help me find/download some
5. Add the short-video MCP server to my Claude config:
   - Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
   - Claude Code: ~/.claude.json
   Use the full path to server.py with python3 as the command
6. Tell me to restart Claude, then test it with: "Explain why pizza is the best food and generate a short video about it"

Project Structure

short-video-mcp/
├── server.py            ← MCP server (the only code file)
├── requirements.txt     ← Python dependencies
├── .env.example         ← Template for API keys
├── .env                 ← Your actual API keys (git-ignored)
├── assets/
│   ├── background/      ← Gameplay videos (.mp4)
│   └── characters/      ← Character PNGs with transparent backgrounds
├── output/              ← Generated videos land here (git-ignored)
└── docs/
    └── example_screenshot.png

How the Video is Built

  1. Script Generation — Claude (via Anthropic API) writes a dialogue between Peter and Stewie that covers all the key information from your content, staying in character with humor. For studying, every fact is included — nothing gets skipped.
  2. Voice Synthesis — Each dialogue line is sent to ElevenLabs TTS with the corresponding voice ID, then all segments are concatenated.
  3. Video Assembly — FFmpeg composites everything:
    • Background gameplay video (randomly selected, looped)
    • Character PNGs positioned bottom-left (Stewie) and bottom-right (Peter)
    • Characters appear/disappear based on who's speaking, with emotion-specific images
    • Caption text rendered as overlays, centered and synced to audio timing

Configuration

Environment Variable Description
ANTHROPIC_API_KEY Your Anthropic API key for script generation
ELEVENLABS_API_KEY Your ElevenLabs API key for voice synthesis
PETER_VOICE_ID ElevenLabs voice ID for Peter Griffin
STEWIE_VOICE_ID ElevenLabs voice ID for Stewie Griffin

Troubleshooting

Issue Fix
ffmpeg not found Install FFmpeg: brew install ffmpeg (macOS) or sudo apt install ffmpeg (Linux)
ANTHROPIC_API_KEY not set Create .env from .env.example and add your key
Voice sounds wrong Try different ElevenLabs voice IDs — browse the voice library
Video takes too long Use shorter content, or the server uses ultrafast FFmpeg preset by default
Claude says "credits" or "quota" That's Claude hallucinating — there's no credit system. The server runs locally. Just retry.
Server not showing in Claude Make sure the path in your config is absolute and points to server.py. Restart Claude fully (Cmd+Q).

Acknowledgments

This project was inspired by HackEmory-backend by @Jayyk09 — the original hackathon project that proved AI-generated short videos with cartoon characters could actually work. Their approach to character overlays, TTS narration, and video assembly laid the groundwork for this MCP server. Huge thanks for making it open source and sparking the idea.

Built with:

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选