About MCP Transcribe Online Videos
MCP Transcribe Online Videos is a FastMCP server for transcribing YouTube and Bilibili videos for LLMs. It extracts and converts audio, then uses WhisperX models via Replicate; large files can be hosted temporarily through 0x0.st.
Key features
- 01Transcribe YouTube videos
- 02Transcribe Bilibili videos
- 03Return timestamped transcripts
- 04Extract and convert audio automatically
- 05Temporarily host large files
Use cases
- 01Create timestamped text from a YouTube video
- 02Transcribe a Bilibili video for review
- 03Process a video whose audio exceeds direct upload limits
MCP support
Exposes YouTube and Bilibili transcription tools to MCP clients. Transcription uses WhisperX models via Replicate, with 0x0.st for temporary hosting of large files.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Transcribe Online Videos
A FastMCP server that allows LLMs to access and transcribe online videos from YouTube and Bilibili using Replicate and 0x0.st for temporary file hosting.
Features
- Transcribe YouTube/ Bilibili videos with timestamped output
- Automatic audio extraction and format conversion
- Cloud-based transcription via WhisperX models
- Temporary file hosting for large files
Installation
Prerequisites
- Python 3.12+
- Conda (recommended for environment management)
Setting Up the Environment
# Create and activate a conda environment
conda create --name mcp_transcribe_online_vids python=3.12
conda activate mcp_transcribe_online_vids
# Install required system packages
conda install conda-forge::uv conda-forge::ffmpeg conda-forge::sqlite
# Install Python dependencies
uv pip install -r requirements.txt
Configuration
-
Copy the
.env.templatefile to.env:cp .env.template .env -
Edit the
.envfile with your credentials:REPLICATE_API_TOKEN: Get from Replicate's API key pageZERO_X_URL: URL for the 0x0.st instance (default: public instance)TEMP_FILE_PATH: Directory for temporary filesLOCAL_FILE_SIZE_LIMIT: Maximum file size in MB for direct API uploads
Usage
Starting the Server
python main.py
Available Tools
get_youtube_transcript(url): Transcribe a YouTube videoget_bilibili_transcript(url): Transcribe a Bilibili video
Example
from fastmcp import MCPClient
import asyncio
async def get_transcript():
client = MCPClient("http://localhost:8000")
async with client:
transcript = await client.call_tool("get_youtube_transcript",
{"url": "https://www.youtube.com/watch?v=dQw********"})
print(transcript)
# Run the async function
asyncio.run(get_transcript())
Deployment Options
For deploying the server in production environments, see FastMCP transport options.
To customize the transport, modify the mcp.run() call in main.py.
Self-hosting File Storage
It's highly recommended to host your own instance of 0x0.st for file storage. Follow the hosting instructions to set up your own instance.
Roadmap
- Add tools to retrieve video metadata (title, date, description)
- Add YAML configuration for deployment settings
- Add more file hosting options (Google Cloud, S3)
- Complete local transcription option using WhisperX
- Support for other media sources e.g. Spotify podcasts
Contributing
- Install development dependencies:
pip install pre-commit pre-commit install - Run pre-commit checks before submitting code:
pre-commit run --all-files
License
Licensed under the GPL-3.0 License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.