Back to MCP directory
publicPublicdnsLocal runtime

youtube-mcp-server

YouTube MCP服务器是一个标准化接口实现,允许AI语言模型通过协议与YouTube内容进行交互,提供视频信息获取、字幕管理、频道和播放列表管理等功能。

article

README

🚀 YouTube 模型上下文协议 (MCP) 服务器

YouTube 模型上下文协议 (MCP) 服务器可助力用户便捷地与 YouTube API 交互,实现视频、频道及播放列表的管理功能。

🚀 快速开始

若想快速使用 YouTube 模型上下文协议 (MCP) 服务器,可按如下步骤操作:

  1. 完成服务器的安装。
  2. 进行相关配置。
  3. 依据使用示例开展功能调用。

📦 安装指南

通过 Smithery 安装

使用以下命令,借助 Smithery 进行安装:

npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude

手动安装

  1. 克隆仓库
    git clone https://github.com/ZubeidHendricks/youtube-mcp-server.git
    cd youtube-mcp-server
    
  2. 安装依赖
    npm install
    

📚 详细文档

配置说明

环境变量配置

  • YOUTUBE_API_KEY:此为访问 YouTube API 所需的密钥。
  • YOUTUBE_TRANSCRIPT_LANG(可选):用于设置默认字幕语言,当值为 "en" 时,使用英文。

VS Code 插件安装

将以下内容添加到 VS Code 的用户设置 (JSON) 文件中:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "YouTube API Key",
        "password": true
      }
    ],
    "servers": {
      "youtube": {
        "command": "npx",
        "args": ["-y", "zubeid-hendricks/youtube-mcp-server"],
        "env": {
          "YOUTUBE_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

YouTube API 设置

  1. 访问 Google Cloud Console。
  2. 创建新项目或选择现有项目。
  3. 启用 YouTube Data API v3。
  4. 创建 API 凭据并获取密钥。
  5. 将密钥复制到配置文件中。

💻 使用示例

基础用法

视频管理

// 获取视频详情
const video = await youtube.videos.getVideo({
  videoId: "video-id"
});

// 获取视频字幕
const transcript = await youtube.transcripts.getTranscript({
  videoId: "video-id",
  language: "en"
});

// 搜索视频
const searchResults = await youtube.videos.searchVideos({
  query: "搜索词",
  maxResults: 10
});

频道管理

// 获取频道详情
const channel = await youtube.channels.getChannel({
  channelId: "channel-id"
});

// 列出频道视频
const videos = await youtube.channels.listVideos({
  channelId: "channel-id",
  maxResults: 50
});

播放列表管理

// 获取播放列表项
const playlistItems = await youtube.playlists.getPlaylistItems({
  playlistId: "playlist-id",
  maxResults: 50
});

// 获取播放列表详情
const playlist = await youtube.playlists.getPlaylist({
  playlistId: "playlist-id"
});

🔧 技术细节

开发步骤

# 安装依赖
npm install

# 运行测试
npm test

# 构建项目
npm run build

# 检查代码
npm run lint

🤝 贡献指南

若你想为该项目做出贡献,请参阅 CONTRIBUTING.md 了解具体方式。

📄 许可证

本项目遵循 MIT 许可证,详细信息请查看 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client