article
README
🚀 YouTube MCP 服务器
YouTube MCP 服务器是一个集成了 YouTube 的媒体控制协议(MCP)的服务器,它能够让您在多个设备间轻松控制 YouTube 视频的播放,为跨设备视频播放控制提供了便捷的解决方案。
🚀 快速开始
要使用 YouTube MCP 服务器,您需要按照以下步骤进行操作:
- 克隆此仓库:
git clone https://github.com/Tisik79/youtube-mcp-server.git cd youtube-mcp-server - 安装依赖项:
npm install - 基于
.env.example模板创建一个.env文件:cp .env.example .env - 编辑
.env文件并在其中添加您的 YouTube API 密钥:
您可以从 Google Cloud Console 获得一个 YouTube API 密钥:YOUTUBE_API_KEY=your_youtube_api_key_here- 创建新项目
- 启用 YouTube Data API v3
- 创建 API 凭据(API Key)
- 启动服务器:
npm start - 开发时使用自动重启:
npm run dev - 打开浏览器并导航到:
http://localhost:3000
✨ 主要特性
- 支持从任何设备播放、暂停并控制 YouTube 视频,操作便捷。
- 能够同步多个客户端的播放状态,确保各设备间播放一致。
- 可直接从界面搜索 YouTube 视频,快速定位所需内容。
- 可以控制音量和播放位置,满足个性化观看需求。
- 使用 WebSocket 实现实时更新,保证信息及时同步。
- 拥有简单直观的用户界面,降低使用门槛。
📦 安装指南
克隆仓库
git clone https://github.com/Tisik79/youtube-mcp-server.git
cd youtube-mcp-server
安装依赖
npm install
创建环境文件
cp .env.example .env
配置 API 密钥
YOUTUBE_API_KEY=your_youtube_api_key_here
您可从 Google Cloud Console 获取 YouTube API 密钥,具体步骤如下:
- 创建新项目
- 启用 YouTube Data API v3
- 创建 API 凭据(API Key)
💻 使用示例
基础用法
启动服务器:
npm start
开发时使用自动重启:
npm run dev
打开浏览器并导航到:
http://localhost:3000
📚 详细文档
工作原理
YouTube MCP 服务器为您提供一个跨多个设备控制 YouTube 播放的中央控制点。它使用:
- Express.js 提供 HTTP 服务器和 API 端点
- Socket.io 实现客户端与服务器之间的实时通信
- YouTube Data API 搜索视频并获取视频信息
- YouTube IFrame API 控制视频播放
当客户端连接到服务器时:
- 客户端可以使用搜索功能查找视频
- 在其设备上播放视频
- 控制播放(播放、暂停、跳转、调节音量)
- 所有命令都会广播给其他连接的客户端
- 客户端可以与当前播放状态同步
API 端点
GET /api/video/:videoId- 获取视频信息GET /api/search?q=query- 搜索 YouTube 视频GET /api/clients- 获取连接客户端的列表
WebSocket 事件
客户端到服务器
play- 播放视频pause- 暂停当前视频stop- 停止播放seek- 跳转到特定位置volume- 调节音量mute- 静音/取消静音updateTimestamp- 更新当前播放位置
服务器到客户端
playerStateUpdate- 广播所有客户端的播放状态更新
项目结构
youtube-mcp-server/
├── public/ # 客户端文件
│ ├── index.html # 主 HTML 文件
│ ├── app.js # 客户端 JavaScript
│ └── styles.css # CSS 样式
├── server.js # 服务器主文件
├── package.json # 依赖项和脚本
└── .env # 环境变量(基于 .env.example 创建)
需求
- Node.js (v14 或更高版本)
- npm (v6 或更高版本)
- 一个 YouTube Data API 密钥
定制化
您可以根据需要自定义服务器:
- 修改
public目录中的用户界面 - 在
server.js中添加更多 API 端点 - 扩展 Socket.io 事件处理程序以实现更多功能
故障排除
- 如果无法启动服务器,请检查 Node.js 和 npm 是否已正确安装。
- 如果遇到连接问题,请确保服务器正在运行且端口开放。
- 如需帮助,请参考文档或联系支持团队。
微信扫一扫