YT字幕DL MCP服务器
该项目提供了一个MCP(模型上下文协议)服务器,该服务器提供了一种从YouTube视频中提取元数据和字幕的工具。
特性
此服务器提供与YouTube视频交互的工具,包括:
- 元数据抽取:检索给定YouTube视频的标题和描述。
- 字幕下载:下载指定语言的视频转录本,如果所需语言不可用,则智能回退到其他语言。
- 音频转录:从视频中下载音频,并使用Deepgram等外部提供商将其转录为文本。
- 最佳字幕选择:官方成绩单优先于自动生成(ASR)成绩单。
- 纯文本转换:将SRT字幕转换为纯文本。
- 广泛的语言支持:支持多种语言的成绩单下载。
工具
此服务器公开以下工具:
download_subtitle_with_id
从YouTube URL下载转录本并返回结构化元数据。
备注:如果此工具因没有字幕而失败,您应该通知用户并建议使用 audio_transcribe_with_id 该工具用于下载和转录音频。参数
url(str): 必需。YouTube视频的完整URL。target_lang(str): *可选的*成绩单所需的两个字母的语言代码。默认为"en".
支持的语言代码:
en, zh, es, hi, ar, pt, ru, ja, fr, de, ko, it, tr, nl, pl, vi, th, id, ms, fa, ur, bn, he, fil, sv, el, cs, hu, da, no, fi, ro, uk, sr.
返回值
- 论成功:
{
"status": "success",
"title": "The Video Title",
"description": "The video's description text.",
"content": "The full text of the transcript..."
}- 失败时:
{
"status": "failure",
"reason": "A message explaining the cause of the failure."
}audio_transcribe_with_id
从YouTube URL下载音频,转录它,并返回文本和视频元数据。
重要:此工具需要PROVIDER和API_KEY要设置的环境变量。 -PROVIDER:指定要使用的转录服务(例如。,"deepgram"). -API_KEY:所选提供程序的API密钥。
参数
url(str): 必需YouTube视频的URL。
返回值
- 论成功:
{
"status": "success",
"title": "The Video Title",
"description": "The video's description.",
"transcript": "The full transcribed text of the audio."
}- 失败时:
{
"status": "failure",
"reason": "A message explaining why the operation failed."
}MCP客户端配置
命令行模式(原始)
要使用原始命令行方法在MCP客户端(例如Cline、Cursor)中使用此服务器,请添加以下配置:
{
"mcpServers": {
"yt-subtitle-dl-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/JMVoid/yt-subtitle-dl-mcp",
"yt-subtitle-dl-mcp-server"
]
}
}
}HTTP/SSE模式(Docker部署)
对于具有HTTP访问权限的Docker部署,请将MCP客户端配置为通过HTTP连接:
樱桃工作室配置
在Cherry Studio的MCP服务器设置中,添加:
{
"name": "YT Subtitle DL MCP",
"url": "http://localhost:3010",
"transport": "sse"
}对于远程部署,请替换 localhost 使用服务器的IP或域:
{
"name": "YT Subtitle DL MCP",
"url": "http://your-server-ip:3010",
"transport": "sse"
}临床配置
在Cline的设置中,添加一个具有以下功能的MCP服务器:
- 服务器名称:
yt-subtitle-dl-mcp - 运输类型:
HTTP/SSE - 统一资源定位符:
http://localhost:3010(本地)或http://your-domain.com:3010(远程)
Docker部署
该项目现在支持Docker部署,便于本地和远程托管。
先决条件
- Docker已安装在您的系统上
- 已安装Docker Compose(v2.0+)
- 可选:如果您需要音频转录,请使用Deepcram API密钥
备注:Docker镜像现在包括用于音频处理的ffmpeg,这是 audio_transcribe_with_id 分割和处理音频文件的工具。快速开始
- 克隆仓库 (如果尚未完成):
git clone https://github.com/JMVoid/yt-subtitle-dl-mcp.git
cd yt-subtitle-dl-mcp- 配置环境变量:
cp .env.example .env
# Edit .env file to configure your settings
nano .env- 构建并启动服务:
docker-compose up -d- 验证服务是否正在运行:
docker logs yt-subtitle-dl-mcp
curl http://localhost:3010配置选项
这 .env 文件支持以下配置选项:
PORT:要侦听的HTTP端口(默认值:3010)PROVIDER:转录提供者(例如“deepgram”)API_KEY:转录提供程序的API密钥PROXIES:YouTube访问的代理URL(格式:“http://ip:port“或”http://username:password@ip:端口“)
环境文件示例
.env 文件内容:
# Server Configuration
PORT=3010
# Transcription Service (Optional)
# PROVIDER=deepgram
# API_KEY=sk-your-api-key-here
# Proxy Configuration (Optional)
# PROXIES=http://proxy-server:3010手动Docker命令
如果你不想使用docker compose:
塑造形象:
docker build -t yt-subtitle-dl-mcp:latest .运行容器:
docker run -d \
--name yt-subtitle-dl-mcp \
-p 3010:3010 \
-e TRANSPORT=http \
-e PORT=3010 \
-e PROVIDER=deepgram \
-e API_KEY=your-api-key \
yt-subtitle-dl-mcp:latest远程部署
对于远程部署:
- 确保服务器的防火墙允许配置端口上的流量(默认值:3010)
- 考虑使用带有SSL终止的反向代理(如Nginx)用于生产环境
- 更新MCP客户端配置以指向服务器的公共IP或域
Docker部署保持了与原始功能的完全兼容性,同时为Cherry Studio和Cline等现代MCP主机添加了HTTP/SSE传输支持。
