项目简介

该仓库包含基于 Model Context Protocol (MCP) 构建的多种服务器实现,旨在为大语言模型 (LLM) 客户端提供标准化的上下文信息和外部功能调用能力。它展示了一种使用 Python 构建 MCP 服务器的通用模式,并提供了可直接使用的功能模块示例。

主要功能点

  • 标准化接口: 所有服务器遵循统一的 MCP 协议和代码结构。
  • 工具提供: 通过 MCP 协议向 LLM 客户端注册和提供可调用的工具,例如 YouTube 视频搜索、转录获取或基础计算功能。
  • 基于 Python: 使用 Python 3.12+ 构建,易于开发和扩展。
  • SSE 传输: 主要通过 Server-Sent Events (SSE) 协议进行通信。
  • 模块化设计: 每个服务器都是一个独立的模块,易于管理和部署。
  • Docker 支持: 提供 Dockerfile 和相关配置,方便容器化部署。

安装步骤

以下以 'mcp-server-youtube' 为例说明安装步骤。请根据需要选择对应服务器目录。

  1. 克隆仓库到本地:
    git clone https://github.com/Xyber-Labs/mcp-servers.git
    cd mcp-servers
  2. 进入目标服务器目录:
    cd mcp-server-youtube
  3. 确保已安装 Python 3.12+。
  4. 安装项目依赖:
    # 如果使用 pip
    pip install .
    # 如果使用 poetry
    # poetry install
  5. 复制示例环境变量文件并配置:
    cp .env.example .env
    编辑 '.env' 文件,填入必要的配置信息,例如 'YOUTUBE_API_KEY'(对于 YouTube 服务器)。

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

MCP 客户端需要配置连接信息才能与服务器通信。典型的客户端配置需要以下信息:

  • 服务器逻辑名称: 用于客户端内部识别此服务器实例的名称(例如:'youtube-mcp-server' 或 'calculator-server')。
  • 启动命令: 启动服务器进程的命令行指令(例如:'python -m mcp_server_youtube' 或 'python -m mcp_server_calculator')。
  • 命令行参数: 启动命令的可选参数,用于指定主机、端口等(例如:'--host 0.0.0.0 --port 8000')。
  • 服务器 URL: 客户端连接的服务器监听地址(例如:'http://localhost:8000/sse')。
  • 传输协议: 使用的通信协议类型(例如:'sse')。

客户端需要根据其框架的要求,将这些信息组织成相应的配置格式(通常是 JSON)。具体的命令和参数请参考对应服务器目录下的 'main.py' 文件。

基本使用方法

  1. 在对应的服务器目录下,根据需要在 '.env' 文件中配置好环境变量。
  2. 通过命令行启动服务器进程。例如,启动 YouTube 服务器:
    python -m mcp_server_youtube --port 8000
    或启动计算器服务器:
    python -m mcp_server_calculator --port 8000
  3. 配置并运行您的 MCP 客户端,使其连接到服务器监听的地址(例如 'http://localhost:8000/sse'),使用正确的服务器逻辑名称和传输协议。
  4. 客户端连接成功后,即可通过 MCP 协议发现服务器提供的工具,并调用这些工具执行相应的任务(如搜索 YouTube 视频、获取转录、执行计算等)。

信息

分类

AI与计算