Generate short-form video ads for Instagram Reels and TikTok from any AI assistant.
MCP server for DemoStudio — lets any MCP-compatible AI assistant (Claude Code, Cursor, Windsurf, etc.) generate short-form video ads directly from a conversation.
generate_video — Turn a text brief into a rendered Instagram Reel / TikTok / YouTube Shortget_video_status — Check build progress and get the exported video URLlist_capabilities — Show all 5 scene types and 17 Remotion templatescreate_schedule — Set up the Agent to auto-generate videos on a recurring scheduleclaude mcp add --transport stdio \
--env DEMOSTUDIO_API_KEY=your_api_key_here \
demostudio \
-- npx -y @demostudio/mcp-server
Add to your MCP config file (~/.cursor/mcp.json or ~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"demostudio": {
"command": "npx",
"args": ["-y", "@demostudio/mcp-server"],
"env": {
"DEMOSTUDIO_API_KEY": "your_api_key_here"
}
}
}
}
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"demostudio": {
"command": "npx",
"args": ["-y", "@demostudio/mcp-server"],
"env": {
"DEMOSTUDIO_API_KEY": "your_api_key_here"
}
}
}
}
Once installed, just talk to your AI assistant naturally:
Generate a 30-second Instagram Reel for my SaaS product.
It's an AI inbox tool called Clearbox. Target: busy founders.
Tone: confident, direct. End with "Try it free at getclearbox.com".
Music: uplifting. Add subtitles.
What Remotion templates does DemoStudio support?
Check the status of project abc-123.
Set up a weekly automated video for my brand.
Product: Kova — project management for remote teams.
URL: https://getkova.com. Calm music. Run every Monday.
generate_video| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | ✓ | Full creative brief — product, audience, tone, scenes, CTA |
product_url | string | URL to crawl for brand colors, logo, description | |
music_mood | hype | uplifting | calm | Background music mood | |
subtitles | boolean | Burn subtitles onto voiceover scenes (default: true) | |
voice_gender | male | female | Preferred voiceover gender |
Returns a project URL to preview and export the video.
get_video_status| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | ✓ | Project UUID from generate_video |
list_capabilitiesNo parameters. Returns all 17 Remotion templates with descriptions.
create_schedule| Parameter | Type | Required | Description |
|---|---|---|---|
frequency | daily | weekly | biweekly | monthly | ✓ | How often to generate |
run_day_of_week | number (0–6) | Day of week (0=Sun). Applies to weekly/biweekly/monthly | |
brand_description | string | Text brief added to the Knowledge Base | |
product_url | string | URL to crawl and add to the Knowledge Base | |
music_mood | hype | uplifting | calm | Default music for automated runs |
DemoStudio is credit-based. New accounts get 500 free credits (enough for ~1 full video). Active accounts receive up to 500 bonus credits every month.
MIT
src/index.tsnpm version patch # 0.1.2 → 0.1.3 (bug fix / small change)
npm version minor # 0.1.2 → 0.2.0 (new tool or renamed tool)
npm version major # 0.1.2 → 1.0.0 (breaking change)
npm publish --access public
The prepublishOnly script runs tsc automatically before publishing.
server.json — bump both version fields{
"version": "0.1.3", ← top-level version
"packages": [{
"version": "0.1.3" ← must match npm version
}]
}
The registry JWT expires after ~1 hour. Always re-login before publishing.
# Download the publisher binary (if not already on PATH)
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
# Login via GitHub device flow
./mcp-publisher login github
# → go to https://github.com/login/device and enter the printed code
# Publish
./mcp-publisher publish server.json
git add -A
git commit -m "chore: bump to vX.Y.Z — <what changed>"
git push origin main
server.json $schema URL is versioned — only update it if the registry publishes a new schema version (check https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/CHANGELOG.md).mcpregistry_* files are gitignored — they contain auth tokens and must never be committed~/.npmrc — re-run npm set //registry.npmjs.org/:_authToken <token> if it expiresSource-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @demostudio/mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-32bitsret-demostudio": {
"command": "npx",
"args": [
"-y",
"@demostudio/mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@demostudio/mcp-servernpmDemoStudio works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.