项目简介

这是一个使用Go语言实现的MCP(Model Context Protocol)服务器。它为支持MCP协议的LLM(大型语言模型)客户端提供了一组调用YouTube功能的工具。通过这个服务器,LLM可以搜索YouTube视频、获取视频的详细信息以及提取视频字幕。

主要功能点

该服务器提供以下三个核心工具供LLM客户端调用:

  1. YouTube搜索 (youtube_search):根据文本查询搜索相关的YouTube视频。
  2. 获取视频信息 (youtube_get_video_info):通过视频ID获取特定YouTube视频的详细信息,如标题、描述、时长等。
  3. 获取字幕 (youtube_get_subtitles):通过视频ID获取指定YouTube视频的英文字幕或俄语字幕。

安装步骤

  1. 确保你的系统已安装Go语言环境 (版本 1.18 或更高)。
  2. 打开终端或命令提示符。
  3. 克隆此仓库到你的本地:
    git clone https://github.com/hightemp/go_mcp_server_youtube_search.git
  4. 进入项目目录:
    cd go_mcp_server_youtube_search
  5. 构建项目可执行文件:
    go build
    这将在当前目录下生成一个名为 'go_mcp_server_youtube_search' (或 'go_mcp_server_youtube_search.exe' 在Windows上) 的可执行文件。

服务器配置

MCP服务器是供MCP客户端使用的。为了让你的MCP客户端能够连接并使用这个服务器,你需要将此服务器注册到客户端中。这通常需要向客户端提供一个配置信息,告诉客户端如何启动和通信。

对于此服务器,最常见的配置方式是使用 StdIO (标准输入/输出) 传输协议。客户端会启动服务器的可执行文件,并通过标准输入/输出流进行通信。

配置信息通常需要以下关键项:

  • 服务器名称 (server name):一个用于标识此服务器的唯一名称(例如:'YouTubeMCP')。
  • 启动命令 (command):构建生成的服务器可执行文件的完整或相对路径(例如:'./go_mcp_server_youtube_search')。
  • 启动参数 (args):传递给服务器可执行文件的命令行参数。对于StdIO模式,通常需要指定 '-t stdio' 参数。

例如,一个可能的配置参数组合是:

  • Command: '/path/to/your/go_mcp_server_youtube_search'
  • Args: '-t stdio'

请根据你的MCP客户端的要求,将上述信息配置到客户端中。具体的配置步骤和格式(通常是JSON)请参考你所使用的MCP客户端的文档。

服务器也支持SSE (Server-Sent Events) 模式,启动参数为 '-t sse -h 0.0.0.0 -p 8889',但这需要客户端支持SSE并知道服务器的监听地址。StdIO模式对客户端来说通常更易于集成。

基本使用方法

  1. 按照上述步骤安装并构建服务器。
  2. 配置你的MCP客户端,使其能够启动并连接到此服务器(使用StdIO模式并指定 '-t stdio' 参数)。
  3. 启动你的MCP客户端。客户端应能检测到并注册此MCP服务器及其提供的工具。
  4. 当使用LLM与客户端交互时,LLM可以根据需要调用服务器提供的工具。例如,你可以问LLM一个关于YouTube视频的问题,LLM可能会识别出需要调用 'youtube_search' 工具来查找相关视频,或者调用 'youtube_get_video_info' 或 'youtube_get_subtitles' 来获取特定视频的信息或字幕。

信息

分类

网页与API