MCP 在线视频转录是一个基于 FastMCP 的服务器项目,它为大型语言模型(LLMs)提供了访问并转录来自 YouTube 和 Bilibili 在线视频的能力。借助 Replicate 和 0x0.st 进行临时文件托管,让视频转录更加高效便捷。
# 创建并激活 conda 环境
conda create --name mcp_transcribe_online_vids python=3.12
conda activate mcp_transcribe_online_vids
# 安装所需的系统包
conda install conda-forge::uv conda-forge::ffmpeg conda-forge::sqlite
# 安装 Python 依赖项
uv pip install -r requirements.txt
复制 .env.template 文件到 .env:
cp .env.template .env
使用你的凭证编辑 .env 文件:
REPLICATE_API_TOKEN:可从 Replicate 的 API 密钥页面 获取。ZERO_X_URL:0x0.st 实例的 URL(默认为公共实例)。TEMP_FILE_PATH:临时文件目录。LOCAL_FILE_SIZE_LIMIT:直接上传到 API 的最大文件大小(单位:MB)。python main.py
get_youtube_transcript(url):用于转录 YouTube 视频。get_bilibili_transcript(url):用于转录 Bilibili 视频。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)
# 运行异步函数
asyncio.run(get_transcript())
有关生产环境部署,请参阅 FastMCP 传输选项。若要自定义传输,可修改 main.py 中的 mcp.run() 调用。
强烈推荐为文件存储搭建自己的 0x0.st 实例。你可以按照 托管说明 配置你的实例。
有关如何为项目做出贡献,请参阅 Contributing 部分。
[项目许可证信息]