项目简介

这是一个基于 Model Context Protocol (MCP) 实现的后端服务器。它通过暴露标准化的MCP工具,使得支持MCP协议的大型语言模型 (LLM) 客户端能够方便地查询YouTube视频,获取视频信息和URL。

主要功能点

  • YouTube视频搜索: 提供一个MCP工具,允许用户(通过LLM)根据指定的主题或视频标题搜索YouTube视频。
  • 返回视频URL: 搜索工具返回匹配视频的YouTube URL列表。
  • 遵循MCP协议: 实现了MCP服务器规范,可以与任何兼容的MCP客户端无缝集成。
  • 能力声明: 向客户端声明其提供的工具(例如:'about' 和 'query_youtube_video_by_topic')。

安装步骤

  1. 克隆仓库: 将项目代码从GitHub克隆到你的本地机器。
    git clone https://github.com/avj2352/youtube_mcp_server.git
    cd youtube_mcp_server
  2. 安装依赖: 确保你的系统安装了Python。然后安装项目所需的库。
    pip install -r requirements.txt  # 如果有requirements.txt文件
    # 或者手动安装必需库:
    pip install ezmcp requests python-dotenv
  3. 配置环境变量: 在项目根目录下创建一个名为 '.env' 的文件,并添加以下内容,替换占位符为你的实际值:
    YOUTUBE_API_KEY=<你的YouTube Data API密钥>
    APP_VERSION="1.0.0"  # 可选,应用版本号
    APP_PORT=8000        # 可选,服务器运行端口 (主要用于HTTP模式,Stdio模式通常无需配置)
    • 你需要从 Google Cloud Platform 获取一个 YouTube Data API v3 的 API 密钥。
  4. 运行服务器: 通常,MCP服务器会由其客户端自动启动。但你也可以手动启动进行测试:
    python main.py

服务器配置 (供MCP客户端使用)

此MCP服务器通常通过标准输入/输出 (Stdio) 与MCP客户端进行通信。对于支持MCP协议的LLM客户端(如一些VS Code扩展),你需要在客户端的设置中添加此服务器的配置。

典型的客户端配置信息(JSON格式)如下所示。请根据你的环境调整 'command' 和 'args' 中的路径。

{
  "server name": "youtube-mcp-server",
  "command": "python",
  "args": [
    "path/to/your/cloned/repo/main.py"
  ],
  "initializationOptions": {}
}
  • 'server name': 在客户端界面中显示的服务器名称,这里是 "youtube-mcp-server"。
  • 'command': 启动服务器进程的命令,通常是 'python'。
  • 'args': 传递给命令的参数列表,这里是服务器主程序的相对或绝对路径。请将 'path/to/your/cloned/repo/' 替换为你实际克隆仓库的路径。
  • 'initializationOptions': 传递给服务器的初始化参数,此处为空。

重要: YouTube API 密钥 ('YOUTUBE_API_KEY') 需要在服务器运行的环境中(例如 '.env' 文件或系统环境变量)配置,而不是直接暴露在客户端配置中。

基本使用方法

  1. 在你的支持MCP协议的LLM客户端中,按照客户端的说明配置并启用此YouTube MCP服务器。
  2. 客户端会自动启动服务器并与之建立连接。
  3. 通过客户端提供的与MCP服务器交互的界面或指令,调用此服务器暴露的MCP工具。例如,你可能会通过类似聊天界面的方式告诉LLM:“使用'query_youtube_video_by_topic'工具搜索关于‘机器学习’的YouTube视频”。
  4. LLM客户端会负责与服务器通信,调用指定的工具,并将工具返回的结果(例如视频URL列表)展示给你。

信息

分类

网页与API