mcpField
Y
Youtube Playlist Generator Mcp Server

Youtube Playlist Generator Mcp Server

本地服务
github.com/danisss9开发工具264 周前更新

关于 Youtube Playlist Generator Mcp Server

YouTube Playlist Generator MCP Server 通过 YouTube Data API v3,让 AI 应用搜索音乐视频、查看视频详情并管理播放列表。只读搜索需 API 密钥;修改播放列表需 OAuth 身份验证。

主要功能

  1. 01按条件搜索音乐视频
  2. 02获取视频详情
  3. 03列出公开播放列表中的视频
  4. 04创建和编辑播放列表
  5. 05添加或移除播放列表视频
  6. 06列出已验证用户的播放列表

适用场景

  1. 01按查询和排序方式查找音乐视频
  2. 02查看视频信息
  3. 03创建播放列表并设置隐私
  4. 04更新播放列表内容

MCP 相关

该 stdio MCP 服务向 MCP 客户端提供 YouTube 搜索、视频和播放列表工具。播放列表管理工具需 YouTube OAuth;只读工具使用 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

YouTube 播放列表生成器 MCP 服务

一个模型上下文协议(MCP)服务,可让 AI 应用使用官方 YouTube Data API v3 搜索 YouTube 音乐视频并管理播放列表。

功能

  • 搜索音乐视频:使用可自定义的搜索参数查找 YouTube 音乐视频
  • 获取视频详情:检索特定视频的全面信息
  • 获取播放列表项目:列出公开播放列表中的视频
  • 播放列表管理:全面管理播放列表,包括创建、编辑和管理播放列表(需要设置 OAuth)

设置

前提条件
  • Node.js 18 或更高版本
  • 已启用 YouTube Data API v3 的 Google Cloud 项目
  • YouTube Data API 密钥
  • OAuth 2.0 客户端凭据(可选,播放列表管理功能需要)
安装
  1. 克隆此仓库:
git clone https://github.com/danisss9/yt-playlist-generator-mcp-server
  1. 安装依赖项:
npm install
  1. 获取 YouTube Data API 密钥:

    • 前往 Google Cloud Console
    • 创建新项目或选择现有项目
    • 启用 YouTube Data API v3
    • 创建凭据(API 密钥)
    • 复制 API 密钥
  2. 设置环境变量:

# Create a .env file
echo "YOUTUBE_API_KEY=your_api_key_here" > .env
echo "YOUTUBE_CLIENT_ID=your_client_id_here" >> .env
echo "YOUTUBE_CLIENT_SECRET=your_client_secret_here" >> .env
  1. 构建 TypeScript 代码:
npm run build
运行服务

开发时自动重新构建:

npm run dev

生产环境:

npm start
与 MCP 客户端配合使用

此服务使用 stdio 传输,因此可与任何支持 stdio 的 MCP 客户端配合使用。

Claude Desktop 配置

将以下内容添加到 Claude Desktop 配置文件中:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here",
        "YOUTUBE_CLIENT_ID": "your_client_id_here",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}
Visual Studio Code 与 GitHub Copilot 配置

要在 Visual Studio Code 中将此 MCP 服务与 GitHub Copilot 配合使用,需要在 VS Code 设置中进行配置:

  1. 打开 VS Code 设置:按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS)

  2. 搜索 MCP:在搜索栏中输入“mcp”

  3. 添加 MCP 服务配置:将以下内容添加到 VS Code 的 settings JSON 中:

{
  "github.copilot.chat.mcp.servers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here",
        "YOUTUBE_CLIENT_ID": "your_client_id_here",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

替代方法:使用设置界面

  1. 前往 File > Preferences > Settings(或使用 Ctrl+,)
  2. 搜索“GitHub Copilot MCP”
  3. 点击“Github › Copilot › Chat: Mcp Servers”旁边的“Edit in settings.json”
  4. 按上文所示添加服务配置

环境变量设置

为确保安全,也可以在系统范围内设置环境变量,而不是在配置文件中设置:

Windows(PowerShell):

[Environment]::SetEnvironmentVariable("YOUTUBE_API_KEY", "your_api_key_here", "User")
[Environment]::SetEnvironmentVariable("YOUTUBE_CLIENT_ID", "your_client_id_here", "User")
[Environment]::SetEnvironmentVariable("YOUTUBE_CLIENT_SECRET", "your_client_secret_here", "User")

Windows(命令提示符):

setx YOUTUBE_API_KEY "your_api_key_here"
setx YOUTUBE_CLIENT_ID "your_client_id_here"
setx YOUTUBE_CLIENT_SECRET "your_client_secret_here"

macOS/Linux:

export YOUTUBE_API_KEY="your_api_key_here"
export YOUTUBE_CLIENT_ID="your_client_id_here"
export YOUTUBE_CLIENT_SECRET="your_client_secret_here"
# Add to ~/.bashrc, ~/.zshrc, or ~/.profile to persist
echo 'export YOUTUBE_API_KEY="your_api_key_here"' >> ~/.bashrc
echo 'export YOUTUBE_CLIENT_ID="your_client_id_here"' >> ~/.bashrc
echo 'export YOUTUBE_CLIENT_SECRET="your_client_secret_here"' >> ~/.bashrc

然后从 VS Code 配置中移除 env 部分:

{
  "github.copilot.chat.mcp.servers": {
    "youtube-playlist-generator": {
      "command": "node",
      "args": ["/absolute/path/to/yt-playlist-generator/build/index.js"]
    }
  }
}

在 VS Code 中使用

配置完成后,可以通过 GitHub Copilot Chat 使用 MCP 服务:

  1. 打开 Copilot Chat(按 Ctrl+Alt+I 或点击聊天图标)
  2. 使用自然语言与 YouTube 交互:
    • “搜索关于爵士乐的音乐视频”
    • “创建一个名为‘我的收藏’的新播放列表”
    • “将此视频添加到我的播放列表”
    • “显示此 YouTube 视频的详情”

可用工具

只读工具(API 密钥身份验证)
search_music_videos

根据指定条件搜索 YouTube 音乐视频。

参数:

  • query(string):音乐视频搜索词
  • maxResults(number,1–50,默认值:10):结果数量上限
  • order(enum):排序方式——“relevance”、“date”、“rating”、“viewCount”、“title”
get_video_details

获取特定 YouTube 视频的详细信息。

参数:

  • videoId(string):YouTube 视频 ID
get_playlist_items

从公开的 YouTube 播放列表中获取视频。

参数:

  • playlistId(string):YouTube 播放列表 ID
  • maxResults(number,1–50,默认值:25):项目数量上限
需要 OAuth 的工具(播放列表管理)
authenticate_youtube

通过 YouTube OAuth 进行身份验证,以启用播放列表管理功能。

参数:

  • getAuthUrl(布尔值,默认:false):设为 true 以获取授权 URL
  • authCode(字符串,可选):OAuth 流程中的授权码
get_auth_status

检查当前的 OAuth 身份验证状态。

参数: 无

create_playlist

创建新的 YouTube 播放列表(需要 OAuth 身份验证)。

参数:

  • title(字符串):播放列表标题
  • description(字符串,可选):播放列表描述
  • privacy(枚举):"private"、"public" 或 "unlisted"
edit_playlist

编辑现有播放列表信息(需要 OAuth 身份验证)。

参数:

  • playlistId(字符串):要编辑的播放列表 ID
  • title(字符串,可选):播放列表的新标题
  • description(字符串,可选):播放列表的新描述
  • privacy(枚举,可选):新的隐私设置——"private"、"public" 或 "unlisted"

注意: 更新时必须至少提供一个字段(title、description 或 privacy)。

add_to_playlist

将视频添加到现有播放列表(需要 OAuth 身份验证)。

参数:

  • playlistId(字符串):目标播放列表 ID
  • videoId(字符串):要添加的视频 ID
list_playlists

列出用户的播放列表(需要 OAuth 身份验证)。

参数:

  • maxResults(数字,1-50,默认:25):播放列表的最大数量
  • mine(布尔值,默认:true):列出已通过身份验证的用户的播放列表
remove_from_playlist

从播放列表中移除视频(需要 OAuth 身份验证)。

参数:

  • playlistItemId(字符串):要移除的播放列表项 ID(通过 get_playlist_items 获取)

OAuth 身份验证设置

如需完整的播放列表管理功能,需要设置 OAuth 2.0:

1. Google Cloud Console 设置
  1. 前往 Google Cloud Console
  2. 创建新项目或选择现有项目
  3. 启用 YouTube Data API v3
  4. 前往“Credentials” → “Create Credentials” → “OAuth 2.0 Client ID”
  5. 选择“Desktop Application”作为应用类型
  6. 下载凭据,或复制 Client ID 和 Client Secret
2. 环境配置

将 OAuth 凭据添加到 .env 文件中:

YOUTUBE_API_KEY=your_api_key_here
YOUTUBE_CLIENT_ID=your_client_id_here
YOUTUBE_CLIENT_SECRET=your_client_secret_here
3. 身份验证流程
  1. 使用 authenticate_youtube 工具并设置 getAuthUrl: true
  2. 在浏览器中打开提供的 URL
  3. 登录 Google 账号并授予权限
  4. 复制授权码
  5. 再次使用 authenticate_youtube 工具,并提供 authCode 参数
4. 使用已通过身份验证的功能

通过身份验证后,你可以:

  • 创建新的播放列表
  • 编辑现有播放列表信息(标题、描述、隐私设置)
  • 将视频添加到播放列表
  • 列出你的私密播放列表
  • 从播放列表中移除视频

API 限制

  • 配额限制:YouTube API 有每日配额限制(默认每天 10,000 个单位)
  • 速率限制:API 调用受速率限制
  • OAuth 令牌:访问令牌会过期,需要刷新(自动处理)
  • 权限:OAuth 作用域决定可用的操作

开发

构建
npm run build
开发模式
npm run dev
项目结构
src/
└── index.ts          # Main server implementation

build/                # Compiled JavaScript output

贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 充分测试
  5. 提交 pull request

许可证

MIT License——详情请参阅 LICENSE 文件

故障排除

常见问题
  1. “YOUTUBE_API_KEY environment variable is required”

    • 请确保已设置 YOUTUBE_API_KEY 环境变量
    • 请确认 API 密钥有效,并且有权访问 YouTube Data API
  2. “Quota exceeded” 错误

    • 您已达到每日 API 配额上限
    • 请等待配额重置,或申请提高配额
  3. “Playlist not found” 错误

    • 请确认播放列表 ID 正确
    • 请确认播放列表为公开状态(私有播放列表需要 OAuth)
  4. 构建错误

    • 请确保已安装 Node.js 18+
    • 运行 npm install,确保已安装所有依赖项
    • 运行 npm run build,检查 TypeScript 编译情况

安全注意事项

  • 切勿将 API 密钥提交到版本控制系统
  • 使用环境变量存储敏感配置
  • 验证所有用户输入
  • 实现恰当的错误处理和日志记录

此项目使用 GitHub Copilot 创建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。