Package Exports
- @demostudio/mcp-server
- @demostudio/mcp-server/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@demostudio/mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@demostudio/mcp-server
MCP server for DemoStudio — lets any MCP-compatible AI assistant (Claude Code, Cursor, Windsurf, etc.) generate short-form video ads directly from a conversation.
What it does
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 schedule
Requirements
- Node.js 18+
- A DemoStudio API key — get one at demostudio.xyz/settings
Installation
Claude Code
claude mcp add --transport stdio \
--env DEMOSTUDIO_API_KEY=your_api_key_here \
demostudio \
-- npx -y @demostudio/mcp-serverCursor / Windsurf
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"
}
}
}
}Claude Desktop
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"
}
}
}
}Usage examples
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.Tools reference
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_capabilities
No 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 |
Pricing
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.
- Scene generation: 10 credits
- Video export: 400 credits
- Automated run: ~700 credits
License
MIT
Maintainer guide — publishing updates
1. Make code changes in src/index.ts
2. Bump the version
npm 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)3. Publish to npm
npm publish --access publicThe prepublishOnly script runs tsc automatically before publishing.
4. Update server.json — bump both version fields
{
"version": "0.1.3", ← top-level version
"packages": [{
"version": "0.1.3" ← must match npm version
}]
}5. Re-authenticate and publish to MCP registry
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.json6. Push to GitHub
git add -A
git commit -m "chore: bump to vX.Y.Z — <what changed>"
git push origin mainNotes
server.json$schemaURL 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- The npm token is stored in
~/.npmrc— re-runnpm set //registry.npmjs.org/:_authToken <token>if it expires