AI-powered video editing MCP server with Submagic API integration
Project description
Submagic MCP Server
mcp-name: io.github.sidart10/submagic-mcp-server
Python MCP server for AI-powered video editing using the Submagic API. Supports automatic captions in 107 languages, magic zooms, B-rolls, silence removal, and viral clip generation from YouTube videos.
Features
- Automatic AI captions with 98%+ accuracy in 107 languages
- Magic zooms (AI-powered dynamic emphasis effects)
- Magic B-rolls (auto-insert stock footage with configurable coverage)
- Silence removal with three speed presets
- Filler word removal (removes "um", "uh", "like")
- Custom B-roll insertion at exact timestamps
- YouTube to short-form clips (TikTok, Reels, Shorts)
- 30+ professional templates (Hormozi, Beast, Sara)
- Platform-optimized exports (9:16, 1:1, 16:9, 4:5)
- Post-creation editing and iterative refinement
Installation
From PyPI
pip install submagic-mcp-server
From Source
git clone https://github.com/sidart10/submagic-mcp-server.git
cd submagic-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Configuration
Get API Key
Sign up at https://app.submagic.co/signup to get your API key.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"submagic": {
"command": "python",
"args": ["-m", "submagic_mcp"],
"env": {
"SUBMAGIC_API_KEY": "sk-your-api-key-here"
}
}
}
}
If installed from source, use absolute paths:
{
"mcpServers": {
"submagic": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/submagic_mcp.py"],
"env": {
"SUBMAGIC_API_KEY": "sk-your-api-key-here"
}
}
}
}
Restart Claude Desktop after configuration.
Tools
submagic_list_languages
Get list of supported languages for transcription.
Returns 107+ language codes (e.g., "en", "es", "fr", "cmn_en").
Rate limit: 1000 requests/hour
submagic_list_templates
Get available video styling templates.
Returns 30+ template names including Hormozi series, Beast, Sara, and others.
Rate limit: 1000 requests/hour
submagic_create_project
Create a new video project with AI features.
Inputs:
title(string): Project titlelanguage(string): Language code from submagic_list_languagesvideo_url(string): Public URL to video filetemplate_name(string, optional): Template nameuser_theme_id(string, optional): Custom theme UUIDmagic_zooms(boolean, optional): Enable AI zooms (default: true)magic_brolls(boolean, optional): Enable auto B-rolls (default: true)magic_brolls_percentage(integer, optional): B-roll coverage 0-100 (default: 75)remove_silence_pace(string, optional): "natural", "fast", or "extra-fast" (default: "medium")remove_bad_takes(boolean, optional): Remove filler words (default: true)dictionary(array, optional): Custom words for transcription accuracywebhook_url(string, optional): Completion notification URL
Returns project ID and status. Processing takes 2-10 minutes.
Rate limit: 500 requests/hour
submagic_get_project
Get project details and status.
Inputs:
project_id(string): UUID from submagic_create_project
Returns complete project information including status, settings, and download URL when complete.
Rate limit: 500 requests/hour
submagic_update_project
Update project settings after creation.
Inputs:
project_id(string): Project UUIDremove_silence_pace(string, optional): Adjust silence removal speedremove_bad_takes(boolean, optional): Enable/disable filler word removalcustom_broll_items(array, optional): Insert custom B-roll clips- Each item:
{startTime: float, endTime: float, userMediaId: string}
- Each item:
Must re-export project after updating to apply changes.
Rate limit: 100 requests/hour
submagic_export_project
Export completed project video.
Inputs:
project_id(string): Project UUIDfps(integer, optional): Frames per second 1-60 (default: 30)width(integer, optional): Video width in pixels 100-4000 (default: 1080)height(integer, optional): Video height in pixels 100-4000 (default: 1920)webhook_url(string, optional): Export completion notification URL
Returns export status. Use submagic_get_project to get download URL.
Rate limit: 500 requests/hour
submagic_create_magic_clips
Generate viral short-form clips from YouTube videos.
Inputs:
title(string): Project titleyoutube_url(string): YouTube video URLlanguage(string): Language codemin_clip_length(integer, optional): Minimum duration in seconds 15-300 (default: 15)max_clip_length(integer, optional): Maximum duration in seconds 15-300 (default: 60)user_theme_id(string, optional): Custom theme UUIDwebhook_url(string, optional): Completion notification URL
AI analyzes video and generates multiple optimized clips. Processing takes 5-15 minutes.
Rate limit: 500 requests/hour
Usage Examples
Create Video with AI Captions
submagic_create_project(
title="Product Demo",
language="en",
video_url="https://example.com/video.mp4",
template_name="Hormozi 2",
remove_silence_pace="fast"
)
Generate TikTok Clips from YouTube
submagic_create_magic_clips(
title="TikTok Highlights",
youtube_url="https://youtube.com/watch?v=abc123",
language="en",
min_clip_length=15,
max_clip_length=30
)
Export for Instagram Reels (9:16)
submagic_export_project(
project_id="project-uuid",
width=1080,
height=1920,
fps=30
)
Limitations
- Videos must be publicly accessible URLs
- Maximum file size: 2GB
- Maximum duration: 2 hours
- Supported formats: MP4, MOV
- remove_bad_takes adds 1-2 minutes processing time
- Some dashboard features not available via API (see docs/API_LIMITATIONS_DISCOVERED.md)
Development
Run Tests
python tests/test_server.py
Project Structure
submagic-mcp-server/
├── submagic_mcp.py # Main server implementation
├── tests/ # Test suite
├── docs/ # API documentation
├── pyproject.toml # Package configuration
└── requirements.txt # Dependencies
License
MIT
Resources
- API Documentation: https://docs.submagic.co
- Get API Key: https://app.submagic.co/signup
- MCP Protocol: https://modelcontextprotocol.io
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file submagic_mcp_server-1.0.3.tar.gz.
File metadata
- Download URL: submagic_mcp_server-1.0.3.tar.gz
- Upload date:
- Size: 29.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aca1404ab96568e099a1e7e0ea707dbd42a89af36218d469037f2f2c7254f116
|
|
| MD5 |
efbfcc4796b2a115f24fcd4694f690d7
|
|
| BLAKE2b-256 |
0d938e1720d25d4e6466baa87a924ebcbe0d0ea1346c18ea455d7bcccf9cd050
|
File details
Details for the file submagic_mcp_server-1.0.3-py3-none-any.whl.
File metadata
- Download URL: submagic_mcp_server-1.0.3-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79b008a6899c37705ec8c1f2b3fef1ee420ee241e99b58f87d4cef034aa9fc81
|
|
| MD5 |
b286600e9c3a5c1e163b5ba9e55201af
|
|
| BLAKE2b-256 |
b9400da671a43998c73301a8bf40e0f1391fa787846c464872cb64c838004c2f
|