zvex MCP server
AI video dubbing as an MCP tool: hand it a video URL, get back a fully dubbed video in Russian, English or Spanish — keeping the original speakers' voices through per-speaker voice cloning.
Powered by zvex (声桥).
The server is a thin stdio client over zvex's HTTP API, so it runs anywhere Python does — no GPU, no local models.
Install
From a checkout:
uv tool install ./mcp/zvex
# or: pip install ./mcp/zvex
Get an API key
- Sign in at https://tts.xalhar.top
- Open Account → API keys and create one
- Copy the
zvex-…value — it is shown only once
Jobs are billed from the same credit balance as the web app, at a flat 10 credits per minute of video. A failed job is refunded in full.
Configure your MCP client
Claude Desktop (claude_desktop_config.json) or Cursor (.cursor/mcp.json):
{
"mcpServers": {
"zvex": {
"command": "zvex",
"env": {
"ZVEX_API_KEY": "zvex-your-key-here"
}
}
}
}
| Variable | Required | Default | Meaning |
|---|---|---|---|
ZVEX_API_KEY |
yes | — | zvex-… key from the account page |
ZVEX_BASE_URL |
no | https://tts.xalhar.top |
API base URL (self-hosted deployments) |
Tools
| Tool | Purpose |
|---|---|
estimate_cost(minutes, tier) |
Credit cost and current balance |
submit_dubbing_job(video_url, target_language, tier) |
Queue a dubbing job, returns job_id |
get_job_status(job_id) |
Poll once; final states carry the output URLs |
wait_for_job(job_id, timeout_seconds) |
Block until the job finishes |
Typical flow:
submit_dubbing_job("https://example.com/episode-01.mp4", target_language="ru")
→ {"job_id": 42, "credits_cost": 240, "duration_sec": 1441.0, …}
wait_for_job(42)
→ {"status": "completed", "final_video_url": "…", "subtitle_url": "…"}
Notes
video_urlmust be a publicly reachablehttp(s)link, up to 500 MB.target_languagedepends on the deployment (ru,en,eson the hosted service).tierisfast,standardorprofessional— it selects which features are available, not the price.- One job per account runs at a time; a second submission returns HTTP 409.
- Output links are served from the zvex domain and require being signed in there.
Development
uv venv --python 3.11 .venv-test
uv pip install --python .venv-test/bin/python -e .
ZVEX_API_KEY=zvex-… .venv-test/bin/python -m zvex.server
Release files for zvex 0.1.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 | |
|---|---|---|---|
| zvex-0.1.0.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zvex-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:12.5 kB
Release files / zvex-0.1.0.tar.gz
| Download URL | zvex-0.1.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09339a7e3497c1c29f8b43ebb6e4c389932f968d7f1b2057c8c12c6f04ff4ecc
|
|
BLAKE2b-256 checksum How to use checksums |
a9c2d1e0b44ab6c020816b03e1b070c809c0caca435819ff755adaf9bb2cf170
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / zvex-0.1.0-py3-none-any.whl
| Download URL | zvex-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
93d1c8d629b787e20784584588bba3866994a8cac12d59d299acc39c8e34d2d2
|
|
BLAKE2b-256 checksum How to use checksums |
41822ff43c5bf2a00137b8e45938a4e2aa60debe8e195f1b9c1d3f4658802186
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|