YouTube控制工具

通过MCP协议实现AI代理远程控制YouTube播放的浏览器扩展工具,支持播放控制、导航、搜索和状态监控等功能。

  • by Mirai3103
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Mirai3103/local-youtube-controller-mcp

使用说明

YouTube控制器MCP

使用模型上下文协议(MCP)直接从AI代理控制您的YouTube体验。

该项目由两部分组成:

  1. Chrome 扩展:在浏览器中运行以控制YouTube选项卡。
  2. MCP服务器:通过Socket.io将您的AI代理(如Claude Desktop、Cursor等)连接到扩展。

特性

  • 遥控器:播放、暂停和切换播放。
  • 导航:寻找特定时间,播放下一个视频。
  • 搜索:搜索视频并按ID播放。
  • 状态监测:获取当前播放状态(时间、音量、视频信息)。
  • 智能连接:自动连接到活动的YouTube选项卡。

安装

1.安装扩展

  1. 下载最新版本 .zip 从 发布页面 (如果可用)或从源代码构建。
  2. 解压缩文件。
  3. 打开浏览器并转到 chrome://extensions.
  4. 启用 开发者模式 在右上角。
  5. 点击 装载时未包装 并选择解压缩的文件夹(它应该包含 manifest.json).
  6. 打开YouTube选项卡以初始化连接。

2.运行MCP服务器

您可以直接使用以下命令运行MCP服务器 npx 无需安装任何东西:

npx local-ytb-controller-mcp

或者将其添加到代理的配置中(例如。, claude_desktop_config.json):

{
  "mcpServers": {
    "youtube-controller": {
      "command": "npx",
      "args": ["-y", "local-ytb-controller-mcp"]
    }
  }
}

可用工具

MCP服务器向您的AI代理公开以下工具:

工具名称 描述
open_youtube 在新标签页中打开YouTube
search_youtube 在YouTube上搜索视频。
play_video 继续播放当前视频。
play_video_id 按ID播放特定视频
pause_video 暂停当前视频。
toggle_playback 在播放和暂停之间切换。
next_video 跳到下一个视频。
seek_video 查找特定时间(以秒为单位)。
get_state 获取当前播放状态(时间、音量、标题等)。

发展

先决条件

  • Node.js

从源代码构建

  1. 克隆仓库:

    git clone https://github.com/your-username/youtube-controller.git
    cd youtube-controller
    
  2. 安装依赖项:

    npm install
    # or
    bun install
    
  3. 构建一切:

    npm run build
    
    • 扩建工程将建成 dist/.
    • MCP服务器将用于 mcp/build/.

地方发展

  • 扩展:

    npm run dev
    

    加载 dist 文件夹中 chrome://extensions.

  • MCP服务器:

    npm run server
    

    这将在本地运行MCP服务器进行测试。

故障排除

  • 扩展未连接:确保MCP服务器正在运行,并且您打开了YouTube选项卡。刷新YouTube选项卡。
  • “套接字连接失败”:扩展尝试连接到 http://localhost:3000。确保端口3000可用。