Model Context Protocol
MCP server for video subtitles.
Give Claude, Cursor, Windsurf — any MCP-compatible AI agent — the ability to subtitle videos. Bytes never travel through the LLM context: the MCP hands the agent a presigned URL and the agent uploads out-of-band. Hosted endpoint or open-source self-host.
Install
One URL. Every client.
The hosted MCP is a streamable-HTTP endpoint that any spec-compliant client can register. No npm install. No Docker. No SDK.
# Hosted MCP — register the URL once
claude mcp add --transport http subtitlesking \
https://brains.subtitlesking.com/mcp
# Or grab the open-source bridge binary
curl -L https://github.com/kirillzubovsky/subtitlesking-mcp/releases/latest/download/subtitlesking-mcp-darwin-arm64.tar.gz \
| tar -xz
sudo mv subtitlesking-mcp /usr/local/bin/
claude mcp add subtitlesking $(which subtitlesking-mcp)Tools
Four tools. Full lifecycle.
start_upload
Reserve an upload slot. Returns an upload_url and a ready-to-paste curl example the agent runs out-of-band — bytes never travel through the LLM context. Returns video_id and 8-digit auth_token.
Args
filename{
"name": "start_upload",
"arguments": {
"filename": "clip.mp4"
}
}get_video_status
Check processing status by auth_token. Returns transcript_url as soon as Whisper finishes, and download_url when the burned video is ready.
Args
auth_token{
"name": "get_video_status",
"arguments": {
"auth_token": "12345678"
}
}get_transcript
Return the SRT transcript inline. Available a couple of minutes before the burned video — transcript and burned video are independent products.
Args
auth_token{
"name": "get_transcript",
"arguments": {
"auth_token": "12345678"
}
}get_download_url
Return a 24-hour presigned URL for the finished, subtitle-burned video. The agent fetches the file out-of-band — bytes never travel through agent context.
Args
auth_token{
"name": "get_download_url",
"arguments": {
"auth_token": "12345678"
}
}Hosted vs self-host
Same protocol. Same tools. Your choice.
Hosted
Register one URL and you're done. We handle deployment, Whisper, ffmpeg, and the queue. Best for fast onboarding.
- ✓ Zero setup
- ✓ Free tier included
- ✓ Streamable-HTTP transport
- ✗ Requires public network
Self-host
Run the open-source Go binary on your own hardware. Best for privacy, regulated workloads, or unlimited usage.
- ✓ Air-gapped possible
- ✓ No rate limits
- ✓ Full control
- ✗ You bring Whisper + ffmpeg
Bytes never enter the LLM.
The MCP hands the agent a presigned URL. The agent uploads with curl. The downloadable binary is a thin stdio↔HTTP bridge — under 100 lines, no SDK dependencies, plain JSON-RPC.