项目简介
这是一个基于 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')。
安装步骤
- 克隆仓库: 将项目代码从GitHub克隆到你的本地机器。
git clone https://github.com/avj2352/youtube_mcp_server.git cd youtube_mcp_server - 安装依赖: 确保你的系统安装了Python。然后安装项目所需的库。
pip install -r requirements.txt # 如果有requirements.txt文件 # 或者手动安装必需库: pip install ezmcp requests python-dotenv - 配置环境变量: 在项目根目录下创建一个名为 '.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 密钥。
- 运行服务器: 通常,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' 文件或系统环境变量)配置,而不是直接暴露在客户端配置中。
基本使用方法
- 在你的支持MCP协议的LLM客户端中,按照客户端的说明配置并启用此YouTube MCP服务器。
- 客户端会自动启动服务器并与之建立连接。
- 通过客户端提供的与MCP服务器交互的界面或指令,调用此服务器暴露的MCP工具。例如,你可能会通过类似聊天界面的方式告诉LLM:“使用'query_youtube_video_by_topic'工具搜索关于‘机器学习’的YouTube视频”。
- LLM客户端会负责与服务器通信,调用指定的工具,并将工具返回的结果(例如视频URL列表)展示给你。
信息
分类
网页与API