spimov-mcp
MCP server for Spimov — dub videos via Claude Desktop / Claude Code / any MCP client.
Two transports:
- stdio — runs locally, spawned by your MCP client, authenticated with
SPIMOV_API_KEYenv var. Supports local file upload (create_dub). - HTTP — long-lived server (we host at
mcp.spimov.com), authenticated per-request withAuthorization: Bearer spk_live_...(or?api_key=). Exposes both Streamable HTTP (/mcp, current spec) and legacy SSE (/sse). URL-only — no local file upload.
Both transports are thin wrappers over the public REST API at https://spimov.com/api/v1. The same API key, the same daily request quota.
1. Get an API key
Sign in at https://spimov.com → Settings → API keys → Create new key. Copy the spk_live_... token shown once.
2a. Use via stdio (Claude Desktop)
Install:
pip install spimov-mcp
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"spimov": {
"command": "spimov-mcp",
"env": {
"SPIMOV_API_KEY": "spk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Restart Claude Desktop. The "spimov" MCP server should appear; ask Claude to "dub /Users/me/Movies/clip.mp4 into Turkish using Spimov".
2b. Use via HTTP (Claude Code / Claude web / other clients)
Self-hosted: MCP_PORT=8001 spimov-mcp-http. Hosted endpoints:
- Streamable HTTP (recommended):
https://mcp.spimov.com/mcp - Legacy SSE:
https://mcp.spimov.com/sse
Claude Code / config-file clients (header auth):
{
"mcpServers": {
"spimov": {
"url": "https://mcp.spimov.com/mcp",
"headers": {
"Authorization": "Bearer spk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Claude web (claude.ai → Settings → Connectors → Add custom connector): the UI only takes a URL, so put the key in the query string:
https://mcp.spimov.com/mcp?api_key=spk_live_xxxxxxxxxxxxxxxxxxxxxxxx
The key travels in the URL (stored in your connector config). Treat it like a password and rotate it from Settings → API keys if it leaks. Local file tools (
create_dub,download_video) are unavailable here — usedub_youtubeto dub, andget_download_urlto get a clickable browser download link for the finished MP4.
3. Tools
| Tool | Purpose |
|---|---|
create_dub |
Upload a local file and queue a dubbing job (stdio only). |
dub_youtube |
Dub a YouTube URL server-side; optional auto-upload to a channel. |
get_job_status |
Poll a job (queued / processing / review / completed / failed). |
list_jobs |
Recent jobs for the account. |
list_segments |
Transcript segments (text, speaker, emotion, timing) of a job. |
update_segment |
Edit one segment's text/emotion/speaker/skip and resynth. |
remix_video |
Re-render audio mix / subtitles / lipsync without re-dubbing. |
download_video |
Save the finished MP4 locally (stdio only). |
get_download_url |
Get a shareable, time-limited browser download link for the MP4 (use this over HTTP/web). |
get_subtitles |
Fetch SRT/VTT (any embedded language). |
upload_to_youtube |
Publish (or retry) a finished job to a connected channel. |
cancel_job |
Cancel/delete. |
list_languages |
Source + target language list (17 target languages). |
get_quota |
Current minute & request usage vs. plan limits. |
Dubbing tools (create_dub, dub_youtube) accept an optional tts_provider: xtts (quality voice, default), chatterbox (emotion voice), or elevenlabs (paid).
4. Override the API base (dev)
SPIMOV_API_BASE=http://localhost:8000/api/v1 spimov-mcp
Metadata
Release files for spimov-mcp 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| spimov_mcp-0.6.0.tar.gz | 15.5 kB | Without provenance | Details for spimov_mcp-0.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| spimov_mcp-0.6.0-py3-none-any.whl | Python 3 | none | any | Details for spimov_mcp-0.6.0-py3-none-any.whl |
Total release size: 30.3 kB
Release files / spimov_mcp-0.6.0.tar.gz
| Download URL | spimov_mcp-0.6.0.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
930cc7acee8ef9c32b485cf497dd55b9d033e7a38f13c4695b6ef940368a2a61
|
|
BLAKE2b-256 checksum How to use checksums |
fcc011262e55d5b42efc8a445fc8e12d1d1895d96cb49e1d549c87ed7965b920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|
Release files / spimov_mcp-0.6.0-py3-none-any.whl
| Download URL | spimov_mcp-0.6.0-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
094acb1cf6392085dac3b1514f06867fcc1f25647190f20c7cb9107f8d6cd357
|
|
BLAKE2b-256 checksum How to use checksums |
ee6d5566dc09e046585dad1ac0dc23d90d492bf5748cec89e89b7a4f4feae21b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|
Security for spimov-mcp 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.